VulnHub靶机 DC-7 打靶 详细渗透过程

💡 原文中文,约2400字,阅读约需6分钟。
📝

内容提要

本文介绍了对VulnHub靶机DC-7的渗透测试过程,包括主机发现、端口扫描、目录爆破等步骤。成功登录后台并修改密码,安装新模块执行PHP代码获取www-data权限。最后追加反弹shell命令到脚本中,成功提权至root权限。

🔎

延伸解读

白盒测试的突破口:从作者信息到源码泄露

文章在目录爆破和SQL注入尝试失败后,转向白盒测试。通过whatweb识别指纹,并注意到页面左下角的作者信息,进而到GitHub搜索作者源码,最终找到config.php配置文件。这一过程表明,当常规黑盒手段受阻时,从目标暴露的开发者信息入手,可能发现源码仓库中的敏感配置,从而获取数据库账号密码等关键信息。

Drupal 8的安全限制与模块绕过

获取后台权限后,文章发现Drupal 8默认不允许直接执行PHP代码,这是其安全机制的一部分。作者通过下载并安装官方PHP模块,启用后即可在内容编辑中写入PHP代码,最终通过蚁剑连接获取www-data权限。这提醒我们,即使CMS有安全限制,通过安装额外模块仍可能突破,因此在渗透中需关注模块生态带来的风险。

利用计划任务脚本实现权限提升

文章在获取www-data权限后,发现/opt/scripts/backups.sh脚本属主为root且属组为www-data,且该脚本可能被计划任务执行。通过向脚本追加反弹shell命令,等待计划任务触发,最终获得root权限。这种提权方式依赖于对系统定时任务和文件权限的细致观察,是Linux提权中常见且有效的思路。

❓

Q&A

如何进行VulnHub靶机DC-7的主机发现?

可以使用arp-scan或nmap命令进行主机发现,命令示例为arp-scan -l或nmap -p- 10.1.2.237。

在渗透测试中如何进行目录爆破?

可以使用dirsearch工具进行目录爆破,命令示例为dirsearch -u http://10.1.2.237/ -i 200。

如何通过SSH远程连接到靶机?

可以使用ssh命令进行远程连接,命令示例为ssh dc7user@10.1.2.237。

如何在Drupal 8中执行PHP代码?

需要下载并安装PHP模块,才能在Drupal 8中执行PHP代码。

如何获取www-data权限并反弹shell?

可以通过安装PHP模块并写入反弹shell代码,使用nc命令反弹shell获取www-data权限。

渗透测试的总结思路是什么?

渗透测试的思路包括主机发现、端口扫描、目录爆破、白盒测试、SSH登录、邮件信息、备份文件、修改密码、获取shell、提权等步骤。

🏷️

标签

➡️

继续阅读