Post

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.