DC:9
字数 1158 2025-08-19 12:42:14
DC-9 靶机渗透测试教学文档
一、环境准备
靶机信息
- 靶机名称: DC-9
- 下载地址: https://vulnhub.com/entry/dc-9,412/
- 靶机IP: 192.168.44.137
- 攻击机IP: 192.168.44.133
工具准备
- nmap (端口扫描)
- arp-scan (主机发现)
- sqlmap (SQL注入测试)
- hydra 或类似工具 (密码爆破)
二、信息收集阶段
1. 主机发现
使用以下命令确定靶机IP:
nmap -sn 192.168.44.0/24
# 或
arp-scan -I eth0 -l
2. 端口扫描
使用nmap进行端口扫描:
nmap -p- 192.168.44.137
注意: 初始扫描会发现22端口状态为"filtered"(被过滤)
3. 目录扫描
尝试目录扫描但无结果
三、Web应用测试
1. 网站功能分析
- 查询功能 (POST方式)
- 登录功能
- 职工信息展示
2. SQL注入测试
- 对登录功能测试SQL注入和爆破 (失败)
- 对查询功能进行测试:
- 使用Burp Suite抓包
- 将请求交给sqlmap分析 (成功)
3. 数据库信息提取
- 在Staff/Users表中找到admin的hash密码
- 破解hash后成功登录
4. 文件包含漏洞
- 登录后页面提示"file不存在"
- 尝试文件包含攻击 (成功)
- 访问到/etc/knockd.conf文件
四、Knockd端口敲门技术
1. Knockd简介
Knockd是一个端口探测服务,通过监听特定的端口"敲击"序列来动态开放服务端口,增强服务器安全性。
2. Knockd工作原理
- 客户端按照特定顺序访问预设端口
- Knockd识别正确序列后动态添加iptables规则
- 临时开放指定服务端口
3. 实施端口敲门
根据/etc/knockd.conf中的配置执行:
for x in 7469 8475 9842;do nmap -Pn --max-retries 0 -p $x 192.168.44.137;done
执行后22端口将变为开放状态
4. SSH登录尝试
使用从数据库获取的凭据尝试SSH登录
五、权限提升
1. 初始权限分析
- 登录后权限很低
- 在janitor目录发现隐藏密码文件
2. 密码重用攻击
- 根据网站首页的职员岗位信息,fredf是系统管理员
- 使用发现的密码尝试爆破fredf的SSH密码 (成功)
3. 提权方法
- 发现test文件具有root权限
- 分析脚本功能: 将同目录中第一个文件内容写入第二个文件
- 利用方法:
- 构造具有root权限的用户
- 手动编辑/etc/passwd文件
- 密码字段需使用md5加密
- 参考/etc/passwd中root用户的格式
重要提示: 写入flag文件的语句必须使用单引号
六、总结与防御建议
漏洞总结
- SQL注入漏洞 (查询功能)
- 文件包含漏洞
- Knockd配置信息泄露
- 密码重用问题
- 不安全的脚本权限设置
防御建议
- 对用户输入进行严格过滤
- 避免敏感配置文件泄露
- 使用更复杂的敲门序列
- 禁止密码重用
- 严格控制具有root权限的脚本