网安靶场实战指南(第7期):DC-2通关!SSH密钥登录+定时任务提权,真实渗透必学技巧

admin 2026-02-02 00:16:28 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细讲解了VulnHub靶场DC-2的渗透全过程。通过Nmap全端口扫描发现非标准SSH端口,利用Hydra爆破WordPress用户凭证,并通过SSH密钥登录绕过限制。重点演示了利用root定时任务中的gitpull机制,在post-merge钩子植入恶意脚本设置SUID后门,最终获取root权限。文章实战性强,强调了非默认端口探测与定时任务提权的技巧。 综合评分: 88 文章分类: 渗透测试,实战经验,WEB安全,内网渗透,漏洞分析


cover_image

网安靶场实战指南(第7期):DC-2通关!SSH密钥登录+定时任务提权,真实渗透必学技巧

原创

点击关注👉 点击关注👉

网络安全学习室

2026年2月1日 10:39 湖南

上一期搞定DC-1后,很多粉丝反馈“提权环节太上头”,终于摆脱了纯Web漏洞的局限!这一期我们趁热打铁,攻坚VulnHub的DC-2靶场——它比DC-1更贴近真实场景,不仅要突破Web防线,还要玩转SSH密钥登录、密码破解、定时任务提权,甚至涉及权限切换的逻辑博弈。

关键是,这套技巧在企业SRC和真实渗透中高频出现,学会了直接能套用在挖洞实战里。全程手把手带练,新手也能跟着走通,告别“只会刷Web漏洞”的瓶颈!

一、环境搭建与信息收集(沿用DC-1思路,少走弯路)

DC-2和DC-1同为VulnHub经典靶场,环境搭建逻辑一致,重点注意网络配置和IP扫描,避免踩连通性的坑。

1. 靶场部署(5分钟搞定)

  1. 下载镜像:VulnHub官网搜索“DC-2”,下载.ova格式镜像(大小约1GB,耐心等待);
  2. 导入虚拟机:打开VMware,选择“打开虚拟机”,导入DC-2镜像,默认配置即可;
  3. 网络设置:和Kali攻击机统一设为仅主机模式(确保同一网段,避免跨网段无法访问);
  4. 启动靶场:先开Kali,再启动DC-2,靶场启动后会显示IP提示(若未显示,后续用Nmap扫描)。

2. 精准扫描:锁定靶场IP与开放端口

信息收集是渗透的根基,先摸清靶场的“底牌”:

  1. 扫描网段找IP:在Kali终端执行命令,扫描仅主机网段(默认192.168.137.0/24,根据自己的网段调整):nmap -sP 192.168.137.0/24  # 快速扫描存活主机,屏蔽无关设备  扫描结果中,标注“DC-2”的IP即为目标(示例:192.168.137.131),记牢这个IP。
  2. 全端口扫描服务:针对目标IP扫描开放端口和对应服务,明确突破口: nmap -sV -A -p 1-65535 192.168.137.131  # 全端口扫描,显示服务版本

3. 扫描结果解读(核心突破口)

重点关注3个开放端口,每个都是关键节点:

  • 80端口(Apache服务):Web网站入口,大概率是初始突破点;
  • 7744端口(SSH服务):非默认SSH端口(默认22),隐蔽性强,后续用来登录服务器;
  • 其他端口:无高危服务,暂时聚焦80和7744端口。

二、Web突破:从WordPress漏洞到账号密码泄露

访问靶场IP(192.168.137.131),发现是一个WordPress搭建的网站——和DC-1的Drupal类似,CMS系统往往是突破口,尤其是低版本漏洞和配置泄露。

1. 探测WordPress版本与用户

WordPress的用户信息可通过接口直接泄露,这是第一步:

  1. 访问用户列表接口:在浏览器输入http://192.168.137.131/?author=1,页面会跳转并显示用户名“admin”;
  2. 批量枚举用户:修改author后的数字(1、2、3…),最终发现DC-2有3个核心用户:admin、jerry、tom
  3. 判断WordPress版本:用Kali自带的工具扫描,或查看页面源码中的版本注释,确定为低版本(无直接RCE漏洞,需换思路)。

2. 密码破解:用Hydra暴力破解SSH账号

既然Web端无直接RCE漏洞,就转向7744端口的SSH服务——已知用户名,用Hydra暴力破解密码,这是真实渗透中常用的“弱口令突破”思路。

  1. 准备字典:Kali自带密码字典,路径为 /usr/share/wordlists/rockyou.txt.gz,先解压: gunzip /usr/share/wordlists/rockyou.txt.gz  # 解压后得到rockyou.txt字典
  2. 执行Hydra破解:针对jerry和tom用户(admin密码较复杂,先破解普通用户),命令如下:  `hydra -l jerry -P /usr/share/wordlists/rockyou.txt ssh://192.168.137.131:7744  # 破解jerry密码

hydra -l tom -P /usr/share/wordlists/rockyou.txt ssh://192.168.137.131:7744    # 破解tom密码`

  1. 获取密码:等待几分钟(字典较大,耐心等待),最终破解出:
  • jerry:password(密码简单,容易破解);
  • tom:parturient(密码较复杂,需字典覆盖)。

三、SSH登录:密钥认证绕过与权限切换

拿到账号密码后,通过7744端口登录SSH,但登录后会发现权限受限——这是DC-2的第一个小坑,需要切换用户并利用密钥登录提权。

1. 登录SSH,发现权限限制

  1. 登录tom用户:执行命令,指定端口7744: ssh [email protected] -p 7744  # 输入密码parturient登录
  2. 权限受限提示:登录后执行命令会报错“-bash: /home/tom/.bashrc: Permission denied”,无法执行常规命令,需切换用户。

2. 切换jerry用户,获取正常权限

tom用户权限过低,用已破解的jerry密码切换用户:

切换成功后,执行ls命令,发现当前目录有一个“flag2.txt”,打开查看提示:“密码不是唯一的登录方式,试试密钥登录”——这是靶场给的关键线索!

3. SSH密钥登录:获取更高权限

密钥登录比密码登录更安全,也更隐蔽,DC-2中jerry用户可通过密钥切换到其他用户:

  1. 查找密钥文件:在jerry用户目录下,执行命令查找SSH密钥: find / -name "id_rsa" 2>/dev/null  # 查找私钥文件,屏蔽错误提示  最终在“/home/jerry/.ssh/id_rsa”找到私钥文件。
  2. 复制私钥到Kali:用cat /home/jerry/.ssh/id_rsa查看私钥内容,复制全部内容,在Kali中新建“dc2_rsa”文件,粘贴私钥并保存。
  3. 修改私钥权限:Kali中执行命令,确保私钥权限合规(否则SSH拒绝登录): chmod 600 dc2_rsa  # 仅当前用户可读写
  4. 用密钥登录SSH:执行命令,通过私钥登录jerry用户(无需密码):ssh -i dc2_rsa [email protected] -p 7744  登录成功后,权限完全正常,可执行所有常规命令。

四、终极提权:利用定时任务获取root权限

拿到jerry权限后,下一步就是提权到root——DC-2的提权核心的是“定时任务漏洞”,这是Linux系统中高频出现的提权场景。

1. 查找定时任务:发现可利用的计划任务

Linux定时任务存放在“/etc/crontab”,执行命令查看:

发现一个关键定时任务:* * * * * root /usr/bin/git pull——意为“每分钟以root权限执行一次git pull命令”,且该任务对应的仓库目录(/var/www/html)对jerry用户有写入权限!

2. 构造恶意git配置,触发提权

利用git的“hook脚本”特性,在仓库目录中植入恶意脚本,让定时任务执行时以root权限运行,从而获取root shell。

  1. 进入git仓库目录: cd /var/www/html  # 定时任务执行git pull的目录
  2. 创建恶意hook脚本:git的post-merge钩子会在pull后执行,新建该脚本并写入提权命令:  `echo ‘#!/bin/bash’ > .git/hooks/post-merge  # 新建脚本,指定解释器

echo ‘chmod u+s /bin/bash’ >> .git/hooks/post-merge  # 给bash添加SUID权限`         注:SUID权限让bash以文件所有者(root)权限执行,后续执行bash即可提权。

  1. 赋予脚本执行权限:chmod +x .git/hooks/post-merge

3. 等待定时任务执行,提权到root

  1. 等待1分钟:定时任务每分钟执行一次git pull,会自动触发post-merge脚本;
  2. 执行bash提权:脚本执行后,执行命令: bash -p  # -p参数保留SUID权限
  3. 验证root权限:输入id命令,显示“uid=0(root)”——成功提权到root!

五、拿下最终flag,通关总结

提权到root后,执行命令查找最终flag:

在“/root/flag4.txt”找到最终flag,里面写着“恭喜通关DC-2”,至此全程通关!

核心技巧总结(真实渗透可直接套用)

  • 非默认端口探测:SSH默认22端口易被防护,需关注7744、2222等非默认端口;
  • Hydra暴力破解:已知用户名时,用字典暴力破解弱口令,是低成本突破方式;
  • 定时任务提权:重点关注root用户的定时任务,寻找可写入的脚本或命令,植入恶意代码。

六、互动与下期预告

你在定时任务提权时有没有踩坑?比如脚本权限不够、定时任务不执行?评论区留言你的问题,我帮你拆解解决!

下一期我们继续攻坚VulnHub DC-3,教你MySQL数据库提权+内核漏洞利用,解锁Linux提权的新姿势,这套技巧在高权限渗透中必备,关注不迷路!

点击文末阅读原文领取200节攻防教程


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:网络安全学习室 点击关注👉 点击关注👉《网安靶场实战指南(第7期):DC-2通关!SSH密钥登录+定时任务提权,真实渗透必学技巧》

评论:0   参与:  0