手册源自Dm师傅的https://github.com/Dm2333/ATTCK-PenTester-Book,结合自己经验扩充了一些内容
Initial Access 入口权限
涵盖以下内容(部分简化)
-
水坑攻击 -
在页面嵌入存储型 XSS,获得用户 cookie 信息 -
phpstudy backdoor -
JSONP 水坑攻击 -
Adobe flash player 28(CVE-2018-4878) -
Beef 攻击框架 -
公开漏洞 -
外部远程服务 -
硬件攻击 -
可移动媒体攻击 -
鱼叉式钓鱼 -
供应链攻击 -
合法账号 -
近源攻击 -
0day
Execution 执行
总结如下
-
远程动态数据交换 -
命令行界面 -
本地-Signed Script Proxy Execution(签名脚本代理执行) -
chm -
CMSTP -
本地-CPL -
本地-Forfiles -
本地-IEExec -
InfDefaultInstall -
InstaIIUtil -
MSHTA -
MSIexec -
Pcalua -
Regsvcs/Regasm(.NET 服务安装工具/程序集注册工具) -
regsvr32 -
Rundll32 -
Scripting(脚本执行) -
SyncAppvPublishingServer -
Trusted Developer Utilities(值得信赖的开发者工具) -
Winword -
XSL Script Processing(XSL 脚本处理) -
本地任务调度 -
PsExec -
计划任务 -
用户图形化界面 -
.DCOM 利用 -
Powershell -
SMBexec -
WinRM -
wmic -
Language LUA in Files .wlua -
INF-SCT -
Reflection.Assembly -
msconfig -
sigverif.exe -
DXCap.exe -
Register-cimprovider.exe (T1218 ) -
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 持久化
-
Office -SVG (T1137) -
ADS 数据流 (T1137) -
TeamViewer13 -
PHP -
Control -
RunOnceEx -
winlogon_regedit (T1137 ) (T1004) -
ImageFileExecutionOptionscmd(T1183) -
C#内存加载执行 mimikatz 之 dll 劫持(T1038) -
Run-key-hexacorn 持久性 1 -
Run-key-hexacorn 持久性 2 -
linux 权限维持 -
进程注入 -
SSH 衍生的各种方式 -
PAM 利用 -
ineted 正向后门利用 -
基于 SUID 的各种衍生利用 -
替换常用的系统命令 -
反弹各种 shell 的方式 -
常规系统计划任务 -
各种开源 rootkit -
apache 和 nginx 的 lua 模块 -
windows 下利用注册表进行权限维持 -
BootExecute 密钥 -
用户名密钥 -
LogonScripts 键 -
启动密钥 -
浏览器助手对象 -
AppInit_DLLs -
文件关联 -
映像劫持(IFEO) -
COM 劫持 -
CLR -
CAccPropServicesClass&MMDeviceEnumerato -
MruPidlList -
winlogon_regedit -
ImageFileExecutionOptionscmd -
RunOnceE -
WMI -
Waitfor.exe -
bitsadmin -
MSDTC -
Netsh -
DoubleAgent -
office -
shift 后门 -
RDP 会话劫持 -
计划任务 -
影子账户
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 提权
-
账户权限介绍 -
windows10 之 UAC 原理 -
利用环境变量,通过计划任务无文件绕过 UAC -
sdclt_bypassuac (T1088) -
Bypass UAC | DLL Hijacking (T1088) (T1038) -
Bypass UAC windows defender. (T1191) (T1088) -
UAC-TokenMagic.ps1 绕 UAC -
ctftool 20 年 BUG -
需 bypassuac-再 getsystem -
WSReset-UAC -
Windows UAC -
Linux -
利用 linux 中的 ed 文本编辑器提升权限 -
LINUX sudo (T1169) -
sudo-ed-提权 -
存储凭证 -
Windows 内核漏洞利用 -
DLL 注入 -
弱服务权限 -
DLL 劫持 -
权限提升技术代号 Hot potato -
Juicy Potato (T1134 - 访问令牌操作) -
权限提升之寻找可提权服务过程分享 -
token_privEsc -
窃取 Token To GetSystem -
Windows API 和模拟(T1134) -
ALPC (T1068) -
组策略首选项 -
不带引号的服务路径 -
Always Install Elevated 策略 -
令牌操作(token) -
不安全的注册表权限 -
GET SYSRET
利用Windows系统自带的启动项里的某些程序,利用sigcheck工具检查文件的签名,以及文件是否可提权,这些文件是否可由普通用户操作,如果可由普通用户操作,那么在这些系统自带程序以高权限用户运行时,就会造成提权。
Defense Evasion 规避防御
与Execute部分相差不多,也是讲的白名单绕过
Credential Access
-
Windows -
暴力破解 -
凭证转储 -
组策略首选项(GPP)文件 -
文件中的凭据 6.1.5 注册表中的凭据 -
键盘记录 -
Kerberos -
Kerberoast -
嗅探 -
密码过滤 -
Linux -
Bash History -
密码转储 -
私钥 -
网络嗅探描述 -
文件中的凭据描述
Discovery 信息收集
包含各种命令行命令收集信息
Lateral-movement 横向移动
-
PTT -
DCOM -
RDP 跳跃网络隔离
CC 控制和命令
包括隐藏C2和加密通信流量,伪装成正常流量等
-
常用端口 -
通过移动媒体进行通信 -
连接代理 -
自定义命令和控制协议 -
自定义加密协议 -
数据编码 -
数据混淆 -
域前置 -
域生成算法DGA -
后备通道 -
多跳代理
隐藏C2还可以通过云函数转发
Exfiltration 信息泄露
-
远程文件复制 -
自动脚本窃取 -
数据压缩 -
代替的协议窃取 -
命令控制信道窃取 -
网络媒介窃取 -
数据加密 -
物理介质窃取 -
已计划的转移
原文始发于微信公众号(珠天PearlSky):ATT&CK手册总结
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论