HackTheBox·APT
字数 2392 2025-08-29 08:29:58

基于IPv6和NTLMv1的域渗透实战教学

信息搜集阶段

IPv4端口扫描

  • 目标仅开放两个端口:Web服务和RPC服务
  • 初步扫描显示有限的攻击面

RPC端点枚举

  1. rpcclient尝试
    • 匿名连接失败
  2. rpcmap.py枚举
    • 发现4个DCOM对象
    • 获取了一组RPC端点及其UUID

IPv6地址发现

  • 使用IOXIDResolver工具枚举IPv6地址:
    • 项目地址:https://github.com/mubix/IOXIDResolver
    • 原理:通过DCOM的IObjectExporter接口获取网络信息
    • 使用无认证的RPC连接方式
    • 核心方法:IObjectExporter.ServerAlive2()

技术细节

  • 调用DCOM(Distributed Component Object Model)的IObjectExporter接口
  • 发现目标同时监听IPv4和IPv6,但IPv4扫描无法发现某些服务

SMB匿名枚举

  • 使用工具:crackmapexec和smbmap
  • 发现特殊认证方式:
    • -u '' -p '' 可枚举成功
    • -u 'null' -p '' 会报错
  • 成功连接backup共享并下载文件

初始访问阶段

ZIP压缩包爆破

  • 使用John the Ripper爆破压缩包密码
  • 解压后获得两个关键文件

NTDS哈希提取

  • 从获取的文件中提取出大量哈希
  • 制作两份字典用于后续爆破

凭证爆破

  1. 直接爆破失败
    • 快速触发NETBIOS连接错误
    • 需要重置目标机器才能恢复IPv6访问
  2. 分步爆破
    • 先爆破用户名,获得三个有效用户
    • 再尝试密码爆破

哈希传递尝试

  • 目标有WAF会Ban IP
  • 尝试使用GetTGT.py脚本:
    • 不支持哈希批量爆破
    • 可编写shell脚本实现
  • 时间同步问题
    • IPv6地址无法通过ntpdate进行时间同步
    • 影响Kerberos认证(基于时间)
    • 但NTLM认证仍可工作

认证流程分析

  • crackmapexec默认使用NTLM认证
  • 数据包显示完整的NTLM协商/质询/响应流程

注册表查询

  • 查询HKEY_USERS(HKU)注册表项
  • 发现不安全存储的凭据:
    • 用户名:henry.vinson_adm
    • 密码:G1#Ny5@2dvht
  • 通过WinRM成功连接

权限提升阶段

信息收集工具上传

  1. 上传问题
    • 直接运行winPEAS和Seatbelt会被Windows Defender阻止
  2. 绕过方法
    • 使用evil-winrm的Bypass-4MSI模块
    • 使用Invoke-Binary模块将可执行程序加载到内存
    • 执行时间较长

关键发现

  • 检查Powershell历史命令文件发现:
    • 注册表修改了LAN Manager认证级别
    • Level 2表示支持NTLM v1认证
  • 扫描结果确认支持NTLM v1认证

NTLM v1攻击

攻击原理

  • NTLM v1基于DES加密
  • 认证过程存在漏洞,可将NTLM v1哈希转换为可利用的NTLM哈希

实施步骤

  1. 触发SYSTEM账户网络访问
    • 使用Windows Defender命令行工具触发扫描:
      • -ScanType 1:快速扫描
      • -ScanType 2:完全扫描
      • -ScanType 3:自定义扫描(需指定路径)
  2. Responder配置
    • 编辑/etc/responder/Responder.conf
    • 设置质询为1122334455667788(crack.sh彩虹表使用)
    • 启动responder时添加--lm参数强制降级为Net-NTLMv1
  3. 捕获哈希
    • 成功获取机器账户的NTLM v1哈希

NTLMv1哈希破解

  1. 分析工具
    • 使用ntlmv1.py脚本分析哈希
    • 项目:https://github.com/evilmog/ntlmv1-multi
  2. 破解方法
    • 首选crack.sh彩虹表(但站点维护中)
    • 替代方案:
      a. 使用ct3_to_ntlm.bin计算NTLM v1质询中HTLM Hash的最后4个字符
      b. 制作哈希字典
      c. 使用hashcat进行明文爆破
  3. 破解限制
    • 机器用户密码随机性强,难以通过字典爆破
    • rockyou.txt等常见字典无效

域控攻击阶段

Dcsync攻击

  • 利用机器账户哈希(即使不能登录)执行Dcsync攻击
  • 读取域内所有哈希

哈希传递

  • 使用获取的管理员哈希进行哈希传递攻击
  • 成功获得域管理员权限

关键知识点总结

  1. IPv6在渗透测试中的重要性

    • 某些服务可能仅在IPv6监听
    • 通过DCOM的IOXIDResolver可发现IPv6地址
  2. NTLM认证差异

    • NTLM认证不受时间同步影响
    • Kerberos认证依赖时间同步
  3. NTLMv1漏洞利用

    • 强制降级攻击
    • 质询响应机制漏洞
    • DES加密的脆弱性
  4. 防御规避技术

    • 内存加载绕过AV检测
    • 使用合法工具(如Defender)触发认证
  5. 横向移动技术

    • Dcsync攻击条件
    • 哈希传递的利用场景
  6. Windows安全配置问题

    • 不安全的注册表存储
    • 启用不安全的NTLMv1认证
    • 服务账户密码策略不足

防御建议

  1. 禁用过时协议

    • 完全禁用NTLMv1
    • 使用NTLMv2或Kerberos
  2. 网络配置

    • 统一IPv4/IPv6安全策略
    • 监控异常DCOM请求
  3. 凭证安全

    • 禁止在注册表中存储明文密码
    • 使用LSA保护机制
  4. 监控措施

    • 检测异常Dcsync请求
    • 监控Responder类工具活动
  5. 系统加固

    • 限制机器账户权限
    • 启用Windows Defender攻击面减少规则

本教学文档详细记录了从信息收集到域控攻陷的完整过程,重点突出了IPv6发现、NTLMv1漏洞利用等关键技术点,为渗透测试人员提供了实用的攻击路径参考,同时也为防御者指明了安全加固的关键方向。

基于IPv6和NTLMv1的域渗透实战教学 信息搜集阶段 IPv4端口扫描 目标仅开放两个端口:Web服务和RPC服务 初步扫描显示有限的攻击面 RPC端点枚举 rpcclient尝试 : 匿名连接失败 rpcmap.py枚举 : 发现4个DCOM对象 获取了一组RPC端点及其UUID IPv6地址发现 使用IOXIDResolver工具枚举IPv6地址: 项目地址:https://github.com/mubix/IOXIDResolver 原理:通过DCOM的IObjectExporter接口获取网络信息 使用无认证的RPC连接方式 核心方法: IObjectExporter.ServerAlive2() 技术细节 : 调用DCOM(Distributed Component Object Model)的IObjectExporter接口 发现目标同时监听IPv4和IPv6,但IPv4扫描无法发现某些服务 SMB匿名枚举 使用工具:crackmapexec和smbmap 发现特殊认证方式: -u '' -p '' 可枚举成功 -u 'null' -p '' 会报错 成功连接backup共享并下载文件 初始访问阶段 ZIP压缩包爆破 使用John the Ripper爆破压缩包密码 解压后获得两个关键文件 NTDS哈希提取 从获取的文件中提取出大量哈希 制作两份字典用于后续爆破 凭证爆破 直接爆破失败 : 快速触发NETBIOS连接错误 需要重置目标机器才能恢复IPv6访问 分步爆破 : 先爆破用户名,获得三个有效用户 再尝试密码爆破 哈希传递尝试 目标有WAF会Ban IP 尝试使用GetTGT.py脚本: 不支持哈希批量爆破 可编写shell脚本实现 时间同步问题 : IPv6地址无法通过ntpdate进行时间同步 影响Kerberos认证(基于时间) 但NTLM认证仍可工作 认证流程分析 : crackmapexec默认使用NTLM认证 数据包显示完整的NTLM协商/质询/响应流程 注册表查询 查询HKEY_ USERS(HKU)注册表项 发现不安全存储的凭据: 用户名:henry.vinson_ adm 密码:G1#Ny5@2dvht 通过WinRM成功连接 权限提升阶段 信息收集工具上传 上传问题 : 直接运行winPEAS和Seatbelt会被Windows Defender阻止 绕过方法 : 使用evil-winrm的Bypass-4MSI模块 使用Invoke-Binary模块将可执行程序加载到内存 执行时间较长 关键发现 检查Powershell历史命令文件发现: 注册表修改了LAN Manager认证级别 Level 2表示支持NTLM v1认证 扫描结果确认支持NTLM v1认证 NTLM v1攻击 攻击原理 : NTLM v1基于DES加密 认证过程存在漏洞,可将NTLM v1哈希转换为可利用的NTLM哈希 实施步骤 : 触发SYSTEM账户网络访问 : 使用Windows Defender命令行工具触发扫描: -ScanType 1 :快速扫描 -ScanType 2 :完全扫描 -ScanType 3 :自定义扫描(需指定路径) Responder配置 : 编辑 /etc/responder/Responder.conf 设置质询为 1122334455667788 (crack.sh彩虹表使用) 启动responder时添加 --lm 参数强制降级为Net-NTLMv1 捕获哈希 : 成功获取机器账户的NTLM v1哈希 NTLMv1哈希破解 分析工具 : 使用ntlmv1.py脚本分析哈希 项目:https://github.com/evilmog/ntlmv1-multi 破解方法 : 首选crack.sh彩虹表(但站点维护中) 替代方案: a. 使用ct3_ to_ ntlm.bin计算NTLM v1质询中HTLM Hash的最后4个字符 b. 制作哈希字典 c. 使用hashcat进行明文爆破 破解限制 : 机器用户密码随机性强,难以通过字典爆破 rockyou.txt等常见字典无效 域控攻击阶段 Dcsync攻击 利用机器账户哈希(即使不能登录)执行Dcsync攻击 读取域内所有哈希 哈希传递 使用获取的管理员哈希进行哈希传递攻击 成功获得域管理员权限 关键知识点总结 IPv6在渗透测试中的重要性 : 某些服务可能仅在IPv6监听 通过DCOM的IOXIDResolver可发现IPv6地址 NTLM认证差异 : NTLM认证不受时间同步影响 Kerberos认证依赖时间同步 NTLMv1漏洞利用 : 强制降级攻击 质询响应机制漏洞 DES加密的脆弱性 防御规避技术 : 内存加载绕过AV检测 使用合法工具(如Defender)触发认证 横向移动技术 : Dcsync攻击条件 哈希传递的利用场景 Windows安全配置问题 : 不安全的注册表存储 启用不安全的NTLMv1认证 服务账户密码策略不足 防御建议 禁用过时协议 : 完全禁用NTLMv1 使用NTLMv2或Kerberos 网络配置 : 统一IPv4/IPv6安全策略 监控异常DCOM请求 凭证安全 : 禁止在注册表中存储明文密码 使用LSA保护机制 监控措施 : 检测异常Dcsync请求 监控Responder类工具活动 系统加固 : 限制机器账户权限 启用Windows Defender攻击面减少规则 本教学文档详细记录了从信息收集到域控攻陷的完整过程,重点突出了IPv6发现、NTLMv1漏洞利用等关键技术点,为渗透测试人员提供了实用的攻击路径参考,同时也为防御者指明了安全加固的关键方向。