DC-2靶机渗透实战:从信息收集到权限提升的完整路径 1. 环境准备与靶机介绍DC-2是一款专门为渗透测试学习者设计的虚拟靶机模拟了真实网络环境中常见的漏洞组合。这个靶机包含了WordPress网站、SSH服务以及精心设计的权限提升路径非常适合练习从外网渗透到内网横向移动的全流程。我建议使用VirtualBox或VMware来运行这个靶机网络模式选择NAT即可这样能更好地模拟真实攻击场景。在开始之前你需要准备好以下工具Kali Linux攻击机DC-2靶机镜像基础命令行工具Nmap、WPScan等我第一次接触这个靶机时犯了个低级错误 - 没注意检查虚拟机的网络适配器设置结果花了半小时排查为什么扫描不到目标。所以特别提醒新手务必确认攻击机和靶机在同一个网段最简单的验证方法就是在Kali上执行arp-scan -l看看能否发现靶机的MAC地址。2. 信息收集阶段实战2.1 网络发现与端口扫描信息收集是渗透测试最关键的第一步。我习惯先用arp-scan快速定位靶机IParp-scan -l --interfaceeth0这个命令会列出当前网段所有活跃设备的IP和MAC地址。找到靶机IP后比如192.168.56.102接下来用Nmap进行深度扫描nmap -sV -p- -T4 192.168.56.102参数说明-sV探测服务版本-p-扫描所有65535个端口-T4加快扫描速度在我的测试中发现靶机开放了两个关键端口80/tcpApache httpd 2.4.107744/tcpOpenSSH 6.7p1这个7744端口很特别因为SSH默认端口是22改端口通常是为了规避自动化扫描这反而提示我们这里可能有文章。2.2 Web应用信息收集访问80端口时遇到一个典型问题输入IP地址后自动跳转到dc-2域名。这是因为WordPress在配置中设置了站点URL为域名形式。解决方法很简单 - 修改本地的hosts文件echo 192.168.56.102 dc-2 | sudo tee -a /etc/hosts网站使用WordPress 4.7.10搭建这个版本存在多个已知漏洞。我习惯先用Wappalyzer插件快速识别技术栈然后用dirsearch进行目录扫描dirsearch -u http://dc-2 -e php,html,txt -x 403,404 -t 50扫描发现了几个关键路径/wp-admin/后台登录入口/license.txt确认WordPress版本/readme.html安装说明文件3. WordPress渗透实战3.1 密码字典生成与爆破在首页的flag1提示我们需要使用Cewl工具。这个工具可以爬取网站内容生成关键词字典cewl http://dc-2 -d 3 -m 5 -w passwords.txt参数说明-d 3爬取深度为3层-m 5只保留5个字母以上的单词-w输出到文件接下来用WPScan枚举用户并爆破密码wpscan --url http://dc-2/ -e u wpscan --url http://dc-2/ -U users.txt -P passwords.txt成功爆破出两个有效凭证tom/parturientjerry/adipiscing3.2 WordPress后台利用登录jerry账户后在后台发现了flag2提示我们需要寻找其他入口点。这时候我尝试了以下几种方法检查主题编辑器漏洞寻找可上传的插件测试已知的WordPress 4.7.10漏洞但都没有成功于是转向之前发现的7744 SSH端口。4. SSH渗透与权限提升4.1 SSH登录尝试使用获取的凭证尝试SSH登录ssh tomdc-2 -p 7744成功登录后发现处在受限的rbash环境中很多常用命令都无法使用。这时候可以用compgen -c查看可用命令。4.2 绕过rbash限制我总结了三种有效的绕过方法环境变量覆盖法BASH_CMDS[a]/bin/sh $a export PATH$PATH:/bin:/usr/binSSH命令注入ssh tomdc-2 -p 7744 -t /bin/shSCP文件传输scp -P 7744 /bin/sh tomdc-2:/tmp/成功绕过限制后切换到jerry用户su jerry4.3 Git提权实战发现jerry用户可以无密码以root身份执行git命令sudo -l利用git的交互模式提权sudo git -p help在交互界面输入!/bin/sh这样就获得了root权限可以在/root目录下找到最终的flag文件。5. 渗透后的思考与总结在整个渗透过程中有几个关键点值得注意信息收集要全面不要忽略非常规端口它们往往藏着重要入口线索要串联每个flag给出的提示都在引导下一步行动权限提升要灵活当一种方法行不通时要尝试其他途径这个靶机最精彩的部分在于它模拟了真实的渗透场景 - 需要综合运用Web渗透、SSH登录、权限绕过等多种技术。建议新手在完成基础流程后尝试不使用任何自动化工具完全手动复现整个过程这对理解底层原理很有帮助。我在实际测试中发现如果提前知道WordPress的漏洞其实可以更快速地拿到shell。但正是这种走弯路的过程让我们能真正掌握渗透测试的思维方法。下次遇到类似场景我会先检查wp-config.php文件是否存在备份泄露这也是一个常见的突破口。