记一次授权非域环境下的大型内网横向渗透
字数 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利用
利用步骤:
- 发现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)
- 提取明文密码和哈希
使用命令:
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)
喷洒策略:
- 收集内网所有可能的账号密码
- 针对不同服务使用合适的协议模块
- 记录成功结果并扩大喷洒范围
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实现横向移动
- 利用大内网环境特性扩大渗透范围
这些技术在内网渗透测试中具有普遍适用性,理解其原理和实现方式对攻防双方都至关重要。