记一次授权非域环境下的大型内网横向渗透
字数 1954 2025-08-26 22:11:15

非域环境下大型内网横向渗透实战教学文档

0x00 前言

本文详细记录了一次授权非域环境下的大型内网横向渗透过程,包含完整的技术细节和原理分析。通过本次实战,我们可以学习到Shiro反序列化漏洞利用、内网代理搭建、密码抓取技术、横向移动技巧等关键知识点。

0x01 外网打点阶段

1. Shiro rememberMe反序列化漏洞利用

漏洞原理

  • Apache Shiro框架提供的"记住我"(RememberMe)功能存在反序列化漏洞
  • 登录成功后生成经过加密并编码的cookie,服务端处理流程:
    • Base64解码 → AES解密 → 反序列化
  • 只要获取AES加密密钥,即可构造Payload实现RCE

利用工具

  • ShiroAttack2 (GitHub: https://github.com/SummerSec/ShiroAttack2)
  • 支持AES-GCM加密模式的高版本Shiro利用

利用步骤

  1. 发现Shiro组件
  2. 爆破出加密密钥
  3. 使用工具生成内存马Payload
  4. 注入冰蝎内存马获取System权限

0x02 内网代理搭建

1. 代理方案对比

CS自带Socks4a代理

  • 优点:方便快捷
  • 缺点:性能较差,不够稳定

Frp搭建Socks5代理

  • 优点:性能稳定,速度更快
  • 工具地址:https://github.com/fatedier/frp

2. Frp配置要点

  • 服务端和客户端配置文件分离
  • 选择合适的加密和压缩选项
  • 设置强认证凭据

0x03 内网横向移动技术

1. 密码抓取技术

(1) Mimikatz

工作原理

  1. 获取调试权限(privilege::debug)
  2. 读取lsass.exe进程内存(sekurlsa::logonpasswords)
  3. 提取明文密码和哈希

使用命令

privilege::debug
sekurlsa::logonpasswords

注意事项

  • 需要管理员权限运行
  • Win2008后默认关闭WDigest Auth明文存储
  • 可通过修改注册表启用WDigest:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest
    修改UseLogonCredential为1
    

(2) Procdump+Mimikatz

适用场景

  • 直接运行Mimikatz失败时
  • 特别适用于老旧系统如Win2003

操作步骤

# 转储lsass进程内存
procdump.exe -accepteula -ma lsass.exe lsass.dmp

# 使用Mimikatz分析转储文件
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" > password.txt

2. 密码喷洒技术

工具推荐

  • CrackMapExec (GitHub: https://github.com/Porchetta-Industries/CrackMapExec)
  • 支持协议:SMB、SSH、MSSQL、WinRM等

使用场景

  • 针对不同服务端口进行密码喷洒:
    • Windows: 135/139/445/3389
    • 数据库: 1433(MSSQL)/3306(MySQL)/1521(Oracle)
    • Linux: 22(SSH)

喷洒策略

  1. 收集内网所有可能的账号密码
  2. 针对不同服务使用合适的协议模块
  3. 记录成功结果并扩大喷洒范围

3. 横向移动方法

(1) PsExec横向

原理

  1. 通过IPC$建立连接
  2. 创建psexec服务
  3. 生成PSEXESVC二进制文件
  4. 执行命令后删除服务

优点

  • Windows自带工具,部分杀软白名单
  • 支持哈希和明文认证

缺点

  • 产生大量日志记录
  • 容易被EDR检测

(2) SSH横向

适用场景

  • 针对Linux主机
  • 使用收集到的root密码进行认证

CS操作

  • 使用jump → ssh模块
  • 输入账号密码建立会话

4. 信息收集技巧

网络探测

  • ARP扫描优于ICMP扫描(可发现禁Ping主机)
  • 使用Fscan进行综合扫描

敏感信息查找

  • 检查桌面、回收站、文档目录
  • 搜索数据库配置文件
  • 检查浏览器保存的密码

0x04 非域环境特点与应对

1. 非域环境特点

  • 无集中认证机制
  • 密码复用率高
  • 网络可达性良好(可跨网段访问)

2. 渗透策略

  1. 通过ARP扫描发现存活主机
  2. 抓取单机密码后全网喷洒
  3. 利用密码复用性扩大战果
  4. 不断循环上述过程

0x05 防御建议

1. 针对Shiro漏洞

  • 升级到最新版本
  • 修改默认加密密钥
  • 限制RememberMe功能使用范围

2. 针对横向移动

  • 启用LSA保护
  • 配置KB2871997补丁并确保生效
  • 监控lsass.exe进程访问
  • 限制PsExec等工具的使用

3. 通用防御措施

  • 避免密码复用
  • 定期更换密码
  • 启用多因素认证
  • 配置网络分段隔离

0x06 总结

本次渗透展示了非域环境下内网横向的关键技术:

  1. 通过Shiro反序列化漏洞获取初始立足点
  2. 使用Frp建立稳定代理通道
  3. 综合运用Mimikatz和Procdump抓取密码
  4. 利用CrackMapExec等工具进行密码喷洒
  5. 通过PsExec和SSH实现横向移动
  6. 利用大内网环境特性扩大渗透范围

这些技术在内网渗透测试中具有普遍适用性,理解其原理和实现方式对攻防双方都至关重要。

非域环境下大型内网横向渗透实战教学文档 0x00 前言 本文详细记录了一次授权非域环境下的大型内网横向渗透过程,包含完整的技术细节和原理分析。通过本次实战,我们可以学习到Shiro反序列化漏洞利用、内网代理搭建、密码抓取技术、横向移动技巧等关键知识点。 0x01 外网打点阶段 1. Shiro rememberMe反序列化漏洞利用 漏洞原理 : Apache Shiro框架提供的"记住我"(RememberMe)功能存在反序列化漏洞 登录成功后生成经过加密并编码的cookie,服务端处理流程: Base64解码 → AES解密 → 反序列化 只要获取AES加密密钥,即可构造Payload实现RCE 利用工具 : ShiroAttack2 (GitHub: https://github.com/SummerSec/ShiroAttack2) 支持AES-GCM加密模式的高版本Shiro利用 利用步骤 : 发现Shiro组件 爆破出加密密钥 使用工具生成内存马Payload 注入冰蝎内存马获取System权限 0x02 内网代理搭建 1. 代理方案对比 CS自带Socks4a代理 : 优点:方便快捷 缺点:性能较差,不够稳定 Frp搭建Socks5代理 : 优点:性能稳定,速度更快 工具地址:https://github.com/fatedier/frp 2. Frp配置要点 服务端和客户端配置文件分离 选择合适的加密和压缩选项 设置强认证凭据 0x03 内网横向移动技术 1. 密码抓取技术 (1) Mimikatz 工作原理 : 获取调试权限(privilege::debug) 读取lsass.exe进程内存(sekurlsa::logonpasswords) 提取明文密码和哈希 使用命令 : 注意事项 : 需要管理员权限运行 Win2008后默认关闭WDigest Auth明文存储 可通过修改注册表启用WDigest: (2) Procdump+Mimikatz 适用场景 : 直接运行Mimikatz失败时 特别适用于老旧系统如Win2003 操作步骤 : 2. 密码喷洒技术 工具推荐 : CrackMapExec (GitHub: https://github.com/Porchetta-Industries/CrackMapExec) 支持协议:SMB、SSH、MSSQL、WinRM等 使用场景 : 针对不同服务端口进行密码喷洒: Windows: 135/139/445/3389 数据库: 1433(MSSQL)/3306(MySQL)/1521(Oracle) Linux: 22(SSH) 喷洒策略 : 收集内网所有可能的账号密码 针对不同服务使用合适的协议模块 记录成功结果并扩大喷洒范围 3. 横向移动方法 (1) PsExec横向 原理 : 通过IPC$建立连接 创建psexec服务 生成PSEXESVC二进制文件 执行命令后删除服务 优点 : Windows自带工具,部分杀软白名单 支持哈希和明文认证 缺点 : 产生大量日志记录 容易被EDR检测 (2) SSH横向 适用场景 : 针对Linux主机 使用收集到的root密码进行认证 CS操作 : 使用jump → ssh模块 输入账号密码建立会话 4. 信息收集技巧 网络探测 : ARP扫描优于ICMP扫描(可发现禁Ping主机) 使用Fscan进行综合扫描 敏感信息查找 : 检查桌面、回收站、文档目录 搜索数据库配置文件 检查浏览器保存的密码 0x04 非域环境特点与应对 1. 非域环境特点 无集中认证机制 密码复用率高 网络可达性良好(可跨网段访问) 2. 渗透策略 通过ARP扫描发现存活主机 抓取单机密码后全网喷洒 利用密码复用性扩大战果 不断循环上述过程 0x05 防御建议 1. 针对Shiro漏洞 升级到最新版本 修改默认加密密钥 限制RememberMe功能使用范围 2. 针对横向移动 启用LSA保护 配置KB2871997补丁并确保生效 监控lsass.exe进程访问 限制PsExec等工具的使用 3. 通用防御措施 避免密码复用 定期更换密码 启用多因素认证 配置网络分段隔离 0x06 总结 本次渗透展示了非域环境下内网横向的关键技术: 通过Shiro反序列化漏洞获取初始立足点 使用Frp建立稳定代理通道 综合运用Mimikatz和Procdump抓取密码 利用CrackMapExec等工具进行密码喷洒 通过PsExec和SSH实现横向移动 利用大内网环境特性扩大渗透范围 这些技术在内网渗透测试中具有普遍适用性,理解其原理和实现方式对攻防双方都至关重要。