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注入测试

  1. 对登录功能测试SQL注入和爆破 (失败)
  2. 对查询功能进行测试:
    • 使用Burp Suite抓包
    • 将请求交给sqlmap分析 (成功)

3. 数据库信息提取

  • 在Staff/Users表中找到admin的hash密码
  • 破解hash后成功登录

4. 文件包含漏洞

  • 登录后页面提示"file不存在"
  • 尝试文件包含攻击 (成功)
  • 访问到/etc/knockd.conf文件

四、Knockd端口敲门技术

1. Knockd简介

Knockd是一个端口探测服务,通过监听特定的端口"敲击"序列来动态开放服务端口,增强服务器安全性。

2. Knockd工作原理

  1. 客户端按照特定顺序访问预设端口
  2. Knockd识别正确序列后动态添加iptables规则
  3. 临时开放指定服务端口

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. 提权方法

  1. 发现test文件具有root权限
  2. 分析脚本功能: 将同目录中第一个文件内容写入第二个文件
  3. 利用方法:
    • 构造具有root权限的用户
    • 手动编辑/etc/passwd文件
    • 密码字段需使用md5加密
    • 参考/etc/passwd中root用户的格式

重要提示: 写入flag文件的语句必须使用单引号

六、总结与防御建议

漏洞总结

  1. SQL注入漏洞 (查询功能)
  2. 文件包含漏洞
  3. Knockd配置信息泄露
  4. 密码重用问题
  5. 不安全的脚本权限设置

防御建议

  1. 对用户输入进行严格过滤
  2. 避免敏感配置文件泄露
  3. 使用更复杂的敲门序列
  4. 禁止密码重用
  5. 严格控制具有root权限的脚本
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: 2. 端口扫描 使用nmap进行端口扫描: 注意 : 初始扫描会发现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中的配置执行: 执行后22端口将变为开放状态 4. SSH登录尝试 使用从数据库获取的凭据尝试SSH登录 五、权限提升 1. 初始权限分析 登录后权限很低 在janitor目录发现隐藏密码文件 2. 密码重用攻击 根据网站首页的职员岗位信息,fredf是系统管理员 使用发现的密码尝试爆破fredf的SSH密码 (成功) 3. 提权方法 发现test文件具有root权限 分析脚本功能: 将同目录中第一个文件内容写入第二个文件 利用方法: 构造具有root权限的用户 手动编辑/etc/passwd文件 密码字段需使用md5加密 参考/etc/passwd中root用户的格式 重要提示 : 写入flag文件的语句必须使用单引号 六、总结与防御建议 漏洞总结 SQL注入漏洞 (查询功能) 文件包含漏洞 Knockd配置信息泄露 密码重用问题 不安全的脚本权限设置 防御建议 对用户输入进行严格过滤 避免敏感配置文件泄露 使用更复杂的敲门序列 禁止密码重用 严格控制具有root权限的脚本