sickos:1.2 Walkthrough
put文件上传打点、bypass reverse-shell、crontab chkrootkit提权
Recon
这台机器开放了标准端口的ssh和http
shell as www-data by put method file-upload
目录扫描发现test目录遍历,不存在文件泄露但能发现这是一个lighttpd/1.4.28
使用nikto进一步检测test目录,发现允许PUT请求
使用curl -X PUT http://{IP}/test/ --upload-file cmd.php上传文件,发现可以执行
理论上直接反弹shell即可,phpinfo是成功执行的,但是发现构造的reverse.php反弹不到shell
这意味着这台机器有防火墙策略不允许对外的连接
编写shell脚本实现允许对外连接的端口检测
通过监听tcp/443端口完成反弹shell
shell as root by chkrootkit
例行检查没有发现存在利用点的suid文件、敏感信息泄露等
使用dpkg -l查看安装的应用,发现存在chkrootkit,并且是存在漏洞的版本
chkrootkit本质上是一个shellscript,其中的slapper在处理临时文件时存在条件竞争漏洞导致其会执行/tmp/update文件
查看对应的poc提示在/tmp目录下创建update文件,其中包含要执行的提权命令即可
查看cron.daily系列计划任务,发现chkrootkit将按天执行
将反弹shell命令写入/tmp/update,并赋予可执行权限,等待反弹shell即可
Some Thinking
chkrootkit不是每天次啊执行一次吗?
- 在
www-data权限视角下是的,但题目作者考虑到打靶实际,在/etc/cron.d增加了一个chkrootkit计划任务,让其每分钟执行一次
This post is licensed under CC BY 4.0 by the author.
.png)












