DC-6靶场渗透测试:
2026/7/29 3:28:36 网站建设 项目流程

今天学习的是DC-6靶场渗透测试

靶场下载地址:Vulnerable By Design - Search: DC-6 ~ VulnHub

第一步依旧是使用kali机进行nmap开路:

可以判断dc-6的IP地址为192.168.42.153。我们再扫描一下这个IP地址开放了那些端口:

可以看到开放了22和80端口,我们在浏览器对IP地址进行访问。

可以发现使用IP地址访问不了网页,但在端口扫描是,我们扫出来了他的域名:

我们在hosts文件中修改配置这是在windows系统中修改的,在Kali中直接Vim /etc/hosts就行:

随后我们再次进行访问:

现在可以能够正常访问到网页。

这里我们可以使用Wappalyzer查看CMS,可以看到这里用的是Word Press,我们可以想到是否可以用wpscan扫一下用户呢:

可以扫出admin、graham、mark、sarah、jens这些用户。

我们用御剑分析工具扫描登陆端口:

访问地址:

这里可以使用wpscan对其进行密码爆破:

可以看到我们只爆破出来一个用户密码,我们在登录上去看看里面内容:

登录后台,发现 Activity Monitor 插件,第三方插件往往是漏洞高发区,我们搜索其已知漏洞:

漏洞出在 Plainview Activity Monitor 这个WordPress插件上。这个插件有个功能,可以通过输入一个IP地址来查询信息。问题就出在这个输入框上。攻击者可构造恶意请求,让管理员点击后执行系统命令。具体操作就是修改 POC:修改 action 为目标 WordPress 后台的插件功能地址。修改 value 为反弹 shell 命令。

我们需要找到路径:

然后查看文件内容:

我们复制一份到/var/www/html中:

然后修改文件内容:

192.168.42.134为kali的IP地址。

开启服务:

监听端口:

访问http://192.168.42.134/45274.html:

点击Submit request。

可以看到已经连接到DC-6上。

但这里我们需要获取交互式shell:

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

启动Python:python -c 告诉系统用Python解释器去执行后面引号里的代码。

生成伪终端:pty.spawn('/bin/bash') 是核心。在Linux中,/bin/bash是一个标准的交互式Shell,但它需要在一个“终端环境”中运行才能正常工作。pty.spawn()这个函数,就是用一个Python脚本在后台伪造(生成)出一个假的、能让Bash认为自己是“合法用户终端”的交互环境。

绑定成功:随后,简陋输入通道,就被绑定到了这个新建的、功能完整的/bin/bash进程上。从此,你输入的每个字符,都直接交给了这个“正规”的Bash去处理。

下步就是提权,我们先在各个目录里面看看:

这里我们拿到了graham的密码,我们登录到graham用户:

我们需要找能够使用root权限的用户,这里我们直接sudo -l可以看到没有能够使用root权限的用户:

其中写到在使用备份文件的sh时可以获取jens用户权限,这里我们先去jens的家目录看看:

可以看到我们jens家目录中有backups.sh这样一个文件。这里我们需要跳到jens用户里面看看是否有能获取root权限的可能:

echo "/bin/bash" >> backups.sh

作用:将/bin/bash这行内容追加到backups.sh文件的末尾。

目的:创建一个简单的脚本。当这个脚本被执行时,它会启动一个Bash Shell。

sudo -u jens ./backups.sh

sudo:以超级用户(或其他用户)的权限来执行后面的命令。

-u jens:指定要以用户 jens 的身份来执行。

./backups.sh:执行当前目录下名为backups.sh的脚本

这里我们到了jens用户下,我们可以查看sudo -l中是否有提权的线索:

可以看到jens用户在使用/usr/bin/nmap时可以使用root权限:

jens被sudo授权,可以以root身份执行Nmap命令,但用户本身并非root。既然可以用root权限运行Nmap,而Nmap又允许加载执行自定义脚本(--script 参数),那么只需要写一个启动Shell的脚本,让Nmap以root身份加载执行它,就能获得一个root权限的 Shell。

到最后的flag。

总结

本文记录了 DC-6 靶场的完整渗透测试过程,主要步骤总结如下:

  1. 信息收集:使用 Nmap 扫描发现目标 IP 192.168.42.153,开放 22(SSH)和 80(HTTP)端口。通过域名解析配置(修改 hosts 文件)成功访问 WordPress 网站。
  2. 用户枚举与密码爆破:使用 Wappalyzer 识别 WordPress CMS,通过 wpscan 枚举出 admin、graham、mark、sarah、jens 等用户。利用御剑扫描登录后台路径,并对 WordPress 后台进行密码爆破,成功获取一个用户凭据。
  3. 漏洞利用:登录后台后发现 Activity Monitor 插件,搜索并利用其已知漏洞(Plainview Activity Monitor 插件命令注入)。通过构造恶意请求,在管理员点击后触发反弹 Shell,成功获取初始立足点。
  4. 权限提升(横向移动):在初始 Shell 中通过查看文件发现 graham 用户的密码,切换到 graham 用户。在 graham 用户下发现可以通过执行 backups.sh 脚本切换到 jens 用户。
  5. 权限提升(纵向提权):在 jens 用户下,通过 sudo -l 发现可以以 root 权限运行 /usr/bin/nmap。利用 Nmap 的交互模式(--interactive)或脚本执行功能(--script)成功提权至 root,最终获取 flag。

通过 DC-6 靶场的实战,可以总结出以下关键知识点和渗透测试技巧:

  1. 信息收集与侦察
    • 使用 Nmap 进行端口扫描,识别开放服务(SSH、HTTP)。
    • 通过 DNS 解析或 hosts 文件配置解决域名访问问题。
    • 利用 Wappalyzer 等工具识别网站 CMS(如 WordPress)。
  2. 用户枚举与密码攻击
    • 使用 wpscan 枚举 WordPress 用户。
    • 通过目录扫描工具(如御剑)发现后台登录路径。
    • 对弱密码进行爆破,获取初始访问权限。
  3. 漏洞利用与初始访问
    • 关注第三方插件(如 Activity Monitor)的已知漏洞。
    • 利用命令注入漏洞构造恶意请求,触发反弹 Shell。
    • 使用 Netcat 监听端口,接收反向连接。
  4. 权限提升(横向移动)
    • 在系统文件中寻找敏感信息(如用户密码)。
    • 利用 sudo 权限或可执行脚本切换用户(graham → jens)。
    • 理解 Linux 用户权限和文件权限配置。
  5. 权限提升(纵向提权)
    • 使用sudo -l查看当前用户可执行的 root 命令。
    • 利用 Nmap 的交互模式(--interactive)或脚本执行功能(--script)进行提权。
    • 掌握通过 SUID、sudo 配置不当等常见提权手法。
  6. Shell 交互与后渗透
    • 使用 Python 生成交互式 TTY:python -c "import pty;pty.spawn('/bin/bash')"
    • 在受限 Shell 中寻找逃逸方法。
    • 最终目标:获取 root 权限并读取 flag。

这些知识点覆盖了从外网侦察到内网提权的完整渗透测试流程,是 CTF 靶场和实战中常见的技术栈。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询