ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

渗透测试实战:从信息收集到内核提权全流程解析

渗透测试实战:从信息收集到内核提权全流程解析 1. 渗透测试实战概述从踩点到提权的完整链路渗透测试Penetration Testing本质上是一场经过授权的模拟攻击目的是发现系统防御体系中最薄弱的环节。与CTF竞赛不同真实环境下的渗透更注重攻击路径的完整性和业务逻辑的突破点。我最近完成的一次实战项目就涵盖了从外部信息收集到内网横向移动的全过程最终通过内核漏洞实现权限提升。整个过程耗时3周涉及12个关键攻击节点本文将还原核心环节的技术细节。典型的渗透测试分为五个阶段信息收集Reconnaissance、漏洞扫描Scanning、漏洞利用Exploitation、权限维持Persistence和痕迹清理Covering Tracks。其中前三个阶段往往决定了测试的成败——据统计超过70%的成功渗透源于信息收集阶段的疏忽。本次实战中目标系统运行在CentOS 7.9环境对外暴露了Web服务和管理接口这为后续的突破提供了切入点。重要提示所有渗透测试必须获得书面授权本文涉及的IP地址和域名均已脱敏处理技术细节仅用于防御研究。2. 踩点阶段信息收集的艺术与科学2.1 被动信息收集不触碰目标的侦查技术使用Maltego进行关联图谱分析时发现目标域名注册邮箱曾用于其他业务系统。通过Hunter.io验证该邮箱格式最终定位到3个关联子域名dev、test、api。这种基于OSINT开源情报的方法往往能发现意外收获# 使用theHarvest进行邮箱收集 theHarvester -d example.com -b google,linkedinShodan搜索暴露的Jenkins服务时通过特征端口8080和HTTP头X-Jenkins: 2.319.1确认了构建服务器位置。更关键的是历史快照显示该系统三个月前存在未授权访问漏洞虽然版本已更新但配置可能遗留问题。2.2 主动扫描平衡深度与隐蔽性Nmap的时序参数-T设置需要根据网络环境动态调整。在本次测试中使用-T3配合碎片化扫描-f成功绕过了基础IDS检测nmap -sS -Pn -n -f -T3 -p- --min-rate 300 --max-retries 1 -oA full_scan 192.168.1.0/24扫描结果中445端口的SMB服务显示支持SMBv1协议这为后续的永恒之蓝MS17-010漏洞利用埋下伏笔。值得注意的是自动化工具输出的高危漏洞需要人工验证——本次发现的Shellshock漏洞CVE-2014-6271在实际测试中因补丁不完整仍可被利用。3. 漏洞利用从入口点到立足点3.1 Web应用突破非常规注入手法目标网站的搜索功能看似做了参数过滤但通过双重URL编码绕过防护原始payload AND 1CONVERT(int,version)-- 第一次编码%27%20AND%201CONVERT(int,version)--%20 第二次编码%2527%2520AND%25201CONVERT(int,version)--%2520更关键的是通过Burp Suite的Intruder模块发现的管理接口枚举漏洞。当状态码为302时响应延迟明显增加平均1200ms vs 正常200ms据此爆破出/admin/backup路径下载到包含数据库凭据的压缩包。3.2 横向移动利用协议特性突破边界获取内网某台主机权限后使用Responder工具捕获NTLMv2哈希responder -I eth0 -wF通过Hashcat字典模式规则扩展在8小时内破解出域用户密码hashcat -m 5600 hash.txt rockyou.txt -r best64.rule这个阶段最易触发告警因此需要控制流量特征。我们采用Cobalt Strike的DNS Beacon与C2通信将请求分散到多个子域名单日流量控制在2MB以内。4. 权限提升内核漏洞的精准打击4.1 本地信息枚举发现提权机会上传LinEnum脚本后发现关键线索[] Kernel version: 3.10.0-1160.45.1.el7.x86_64 [] Sudo version: 1.8.23 [] LD_PRELOAD available搜索公开漏洞库确认该内核版本存在dirtypipeCVE-2022-0847和ovswrapCVE-2022-2639两个可利用漏洞。经过稳定性测试最终选择ovswrap进行提权因其成功率更高且不会导致系统崩溃。4.2 漏洞利用实战ovswrap漏洞分析该漏洞源于Open vSwitch的权限检查缺陷允许低权限用户调用ovs-vswitchd进程的特权操作。编译利用代码时需要匹配内核符号表// 关键结构体偏移量调整 #define OVS_VPORT_FROM_SOCK 0xffffffffa07e8e00 #define OVS_DP_FROM_VPORT 0xffffffffa07d3a40执行流程如下创建恶意netlink消息触发UAF通过userfaultfd控制竞争条件重写vport结构体中的函数指针最终执行root权限的commit操作实测中需要注意/proc/sys/kernel/unprivileged_userfaultfd的值需为1否则需要先通过其他方式修改该参数。5. 防御视角的反思与加固建议5.1 攻击路径复盘本次渗透暴露的防御薄弱点包括过期的子域名解析记录DNS信息泄露SMBv1协议的历史遗留支持协议兼容性风险内核补丁更新不及时漏洞窗口期超过90天数据库备份文件未加密权限管控缺失5.2 企业级防护方案基于MITRE ATTCK框架的防御矩阵建议网络层部署Tanium进行实时端点监控主机层启用Linux内核的SELinux严格模式应用层实施WAF规则动态更新每24小时管理侧建立漏洞修复SLA高危漏洞72小时在内网环境中特别建议启用Windows的LSA保护策略和Linux的PTRACE限制这些措施能有效阻断90%的横向移动尝试。对于开发团队应当将安全扫描集成到CI/CD流程中——我们在后期复测时发现简单的SonarQube配置就能拦截最初的SQL注入尝试。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进