ATT&CK手册总结

admin 2022年8月21日03:30:34评论249 views字数 3985阅读13分17秒阅读模式

手册源自Dm师傅的https://github.com/Dm2333/ATTCK-PenTester-Book,结合自己经验扩充了一些内容

Initial Access 入口权限

涵盖以下内容(部分简化)

  1. 水坑攻击
    1. 在页面嵌入存储型 XSS,获得用户 cookie 信息
    2. phpstudy backdoor
    3. JSONP 水坑攻击
    4. Adobe flash player 28(CVE-2018-4878)
    5. Beef 攻击框架
  2. 公开漏洞
  3. 外部远程服务
  4. 硬件攻击
  5. 可移动媒体攻击
  6. 鱼叉式钓鱼
  7. 供应链攻击
  8. 合法账号
  9. 近源攻击
  10. 0day

Execution 执行

总结如下

  1. 远程动态数据交换
  2. 命令行界面
  3. 本地-Signed Script Proxy Execution(签名脚本代理执行)
  4. chm
  5. CMSTP
  6. 本地-CPL
  7. 本地-Forfiles
  8. 本地-IEExec
  9. InfDefaultInstall
  10. InstaIIUtil
  11. MSHTA
  12. MSIexec
  13. Pcalua
  14. Regsvcs/Regasm(.NET 服务安装工具/程序集注册工具)
  15. regsvr32
  16. Rundll32
  17. Scripting(脚本执行)
  18. SyncAppvPublishingServer
  19. Trusted Developer Utilities(值得信赖的开发者工具)
  20. Winword
  21. XSL Script Processing(XSL 脚本处理)
  22. 本地任务调度
  23. PsExec
  24. 计划任务
  25. 用户图形化界面
  26. .DCOM 利用
  27. Powershell
  28. SMBexec
  29. WinRM
  30. wmic
  31. Language LUA in Files .wlua
  32. INF-SCT
  33. Reflection.Assembly
  34. msconfig
  35. sigverif.exe
  36. DXCap.exe
  37. Register-cimprovider.exe (T1218 )
  38. xls mimikatz

自己总结的白名单执行

  • bat or vbs
  • Rundll32.exe ---> js或dll
  • MsBuild.exe ---> xml
  • Mshta.exe ---> hta
  • msiexec.exe ---> msi
  • msc.exe 将.net程序编译为exe,然后使用InstallUtil
  • Regsvr32.exe ---> dll--->sct
  • Cmstp.exe ---> inf ---> dll
  • Regasm.exe/Regsvcs.exe--->受签名的dll
  • msxsl.exe ---> xml and xsl
  • Compiler.exe--->(xml,tcp)
  • MavInject32.exe(可向任意进程注入代码,需要一个dll文件以注入进程)--->dll
  • presentationhost.exe ---> xbap
  • IEexec.exe---> exe
  • winrm.vbs ---> xsl
  • winword.exe ---> rundll32.exe ---> dll
  • pubprn.vbs ---> sct
  • xwizard.exe --->dll
  • SyncAppvPublishingServer.vbs ---> powershell
  • Pcalua.exe ---> powershell or bat or dll or exe or ink
  • zipfldr.dll--->exe
  • url.dll ---> exe,hta等
  • DiskShadow.exe--->txt  ----执行txt里的命令--->exe
  • Odbcconf ---> dll
  • Forfiles.exe ---> ...
  • te.exe ---> wsc
  • cscript.exe/wscript.exe --->js or vbs or wsf
  • InfDefaultInstall.exe ---> inf ---> sct or exe
  • control.exe ---> cpl(dll文件重命名,在注册表中注册键值,才能使用cpl)
  • msconfig.exe --->  xml
  • sigverif.exe ---> exe
  • DXcap.exe ---> exe
  • Register-cimprovider.exe ---> dll

杀软对这些白名单盯得比较紧,所以大部分都是过不了杀软,主流免杀还是加载器+shellcode,或者伪装正常白名单文件,使用平坦化混淆等技术。

更多在:https://gtfobins.github.io/

https://lolbas-project.github.io/

Persistence 持久化

  1. Office -SVG (T1137)
  2. ADS 数据流 (T1137)
    1. TeamViewer13
    2. PHP
    3. Control
  3. RunOnceEx
  4. winlogon_regedit (T1137 ) (T1004)
  5. ImageFileExecutionOptionscmd(T1183)
  6. C#内存加载执行 mimikatz 之 dll 劫持(T1038)
  7. Run-key-hexacorn 持久性 1
  8. Run-key-hexacorn 持久性 2
  9. linux 权限维持
    1. 进程注入
    2. SSH 衍生的各种方式
    3. PAM 利用
    4. ineted 正向后门利用
    5. 基于 SUID 的各种衍生利用
    6. 替换常用的系统命令
    7. 反弹各种 shell 的方式
    8. 常规系统计划任务
    9. 各种开源 rootkit
    10. apache 和 nginx 的 lua 模块
  10. windows 下利用注册表进行权限维持
    1. BootExecute 密钥
    2. 用户名密钥
    3. LogonScripts 键
    4. 启动密钥
    5. 浏览器助手对象
    6. AppInit_DLLs
    7. 文件关联
    8. 映像劫持(IFEO)
    9. COM 劫持
    10. CLR
    11. CAccPropServicesClass&MMDeviceEnumerato
    12. MruPidlList
    13. winlogon_regedit
    14. ImageFileExecutionOptionscmd
    15. RunOnceE
    16. WMI
    17. Waitfor.exe
    18. bitsadmin
    19. MSDTC
    20. Netsh
    21. DoubleAgent
    22. office
    23. shift 后门
    24. RDP 会话劫持
    25. 计划任务
    26. 影子账户

COM组件由dll或exe可执行文件组成,CLSID对应于唯一一个COM对象,CLSID像是COM对象的身份证,同时COM与语言,平台无关,CLSID类似{20D04FE0-3AEA-1069-A2D8-08002B30309D}

WIN+R用::来打开COM对象,例如:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

进程按以下顺序来查找COM组件

HKEY_CURRENT_USERSoftwareClassesCLSID
HKEY_CLASSES_ROOTCLSID
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionShellCompatibilityObjects

COM对象的引用存储在注册表中,劫持 COM 对象需要更改注册表以替换对合法系统组件的引用

当进程寻找 COM 组件时,首先会寻找:HKCUSoftwareClassesCLSID,所以直接在 CLSID 下新建一个对象 ID,就能够劫持某个进程或多个进程。与 DLL 劫持原理相近,但是 COM 组件的劫持目标不一定是一个进程,也可以是一个 Windows API,劫持所需的文件不一定是一个 DLL,它可以是一个.com文件,二进制 PE 文件,DLL 文件。

注册表写需要管理员权限,对操作注册表的写操作还是需要先提权

Privilege Escalation 提权

  1. 账户权限介绍
    1. windows10 之 UAC 原理
    2. 利用环境变量,通过计划任务无文件绕过 UAC
    3. sdclt_bypassuac (T1088)
    4. Bypass UAC | DLL Hijacking (T1088) (T1038)
    5. Bypass UAC windows defender. (T1191) (T1088)
    6. UAC-TokenMagic.ps1 绕 UAC
    7. ctftool 20 年 BUG
    8. 需 bypassuac-再 getsystem
    9. WSReset-UAC
  2. Windows UAC
  3. Linux
    1. 利用 linux 中的 ed 文本编辑器提升权限
    2. LINUX sudo (T1169)
    3. sudo-ed-提权
  4. 存储凭证
  5. Windows 内核漏洞利用
  6. DLL 注入
  7. 弱服务权限
  8. DLL 劫持
  9. 权限提升技术代号 Hot potato
  10. Juicy Potato (T1134 - 访问令牌操作)
  11. 权限提升之寻找可提权服务过程分享
  12. token_privEsc
  13. 窃取 Token To GetSystem
  14. Windows API 和模拟(T1134)
  15. ALPC (T1068)
  16. 组策略首选项
  17. 不带引号的服务路径
  18. Always Install Elevated 策略
  19. 令牌操作(token)
  20. 不安全的注册表权限
  21. GET SYSRET

利用Windows系统自带的启动项里的某些程序,利用sigcheck工具检查文件的签名,以及文件是否可提权,这些文件是否可由普通用户操作,如果可由普通用户操作,那么在这些系统自带程序以高权限用户运行时,就会造成提权。

Defense Evasion 规避防御

与Execute部分相差不多,也是讲的白名单绕过

Credential Access

  1. Windows
    1. 暴力破解
    2. 凭证转储
    3. 组策略首选项(GPP)文件
    4. 文件中的凭据 6.1.5 注册表中的凭据
    5. 键盘记录
    6. Kerberos
    7. Kerberoast
    8. 嗅探
    9. 密码过滤
  2. Linux
    1. Bash History
    2. 密码转储
    3. 私钥
    4. 网络嗅探描述
    5. 文件中的凭据描述

Discovery 信息收集

包含各种命令行命令收集信息

Lateral-movement 横向移动

  1. PTT
  2. DCOM
  3. RDP 跳跃网络隔离

CC 控制和命令

包括隐藏C2和加密通信流量,伪装成正常流量等

  1. 常用端口
  2. 通过移动媒体进行通信
  3. 连接代理
  4. 自定义命令和控制协议
  5. 自定义加密协议
  6. 数据编码
  7. 数据混淆
  8. 域前置
  9. 域生成算法DGA
  10. 后备通道
  11. 多跳代理

隐藏C2还可以通过云函数转发

Exfiltration 信息泄露

  1. 远程文件复制
  2. 自动脚本窃取
  3. 数据压缩
  4. 代替的协议窃取
  5. 命令控制信道窃取
  6. 网络媒介窃取
  7. 数据加密
  8. 物理介质窃取
  9. 已计划的转移
有些技术已经过时了,翻译也没有校验,看的迷迷糊糊全靠自己理解,当做手册翻一翻还是不错的,引导总的ATT&CK学习框架。


原文始发于微信公众号(珠天PearlSky):ATT&CK手册总结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月21日03:30:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ATT&CK手册总结https://cn-sec.com/archives/1245545.html

发表评论

匿名网友 填写信息