Cobalt Strike is a commercial, full-featured, remote access tool that bills itself as "adversary simulation software designed to execute targeted attacks and emulate the post-exploitation actions of advanced threat actors". Cobalt Strike’s interactive post-exploit capabilities cover the full range of ATT&CK tactics, all executed within a single, integrated system.[1]
In addition to its own capabilities, Cobalt Strike leverages the capabilities of other well-known tools such as Metasploit and Mimikatz.[1]
| Domain | ID | Name | Use | |
|---|---|---|---|---|
| Enterprise | T1197 | BITS任务 |
Cobalt Strike can download a hosted "beacon" payload using BITSAdmin.[2][3][4] |
|
| Enterprise | T1047 | Windows管理规范 |
Cobalt Strike can use WMI to deliver a payload to a remote host.[1][4][5] |
|
| Enterprise | T1005 | 从本地系统获取数据 |
Cobalt Strike can collect data from a local system.[6][4] |
|
| Enterprise | T1090 | .001 | 代理: Internal Proxy |
Cobalt Strike can be configured to have commands relayed over a peer-to-peer network of infected hosts. This can be used to limit the number of egress points, or provide access to a host without direct internet access.[1][4] |
| .004 | 代理: Domain Fronting |
Cobalt Strike has the ability to accept a value for HTTP Host Header to enable domain fronting.[4] |
||
| Enterprise | T1550 | .002 | 使用备用认证材料: Pass the Hash |
Cobalt Strike can perform pass the hash.[6] |
| Enterprise | T1112 | 修改注册表 |
Cobalt Strike can modify Registry values within |
|
| Enterprise | T1543 | .003 | 创建或修改系统进程: Windows Service |
Cobalt Strike can install a new service.[6] |
| Enterprise | T1137 | .001 | 办公应用启动: Office Template Macros |
Cobalt Strike has the ability to use an Excel Workbook to execute additional code by enabling Office to trust macros and execute code without user permission.[3] |
| Enterprise | T1573 | .001 | 加密通道: Symmetric Cryptography |
Cobalt Strike has the ability to use AES-256 symmetric encryption in CBC mode with HMAC-SHA-256 to encrypt task commands and XOR to encrypt shell code and configuration data.[3] |
| .002 | 加密通道: Asymmetric Cryptography |
Cobalt Strike can use RSA asymmetric encryption with PKCS1 padding to encrypt data sent to the C2 server.[3] |
||
| Enterprise | T1572 | 协议隧道 |
Cobalt Strike uses a custom command and control protocol that is encapsulated in HTTP, HTTPS, or DNS. In addition, it conducts peer-to-peer communication over Windows named pipes encapsulated in the SMB protocol. All protocols use their standard assigned ports.[1][4] |
|
| Enterprise | T1620 | 反射性代码加载 |
Cobalt Strike's |
|
| Enterprise | T1140 | 反混淆/解码文件或信息 |
Cobalt Strike can deobfuscate shellcode using a rolling XOR and decrypt metadata from Beacon sessions.[3][4] |
|
| Enterprise | T1059 | .001 | 命令与脚本解释器: PowerShell |
Cobalt Strike can execute a payload on a remote host with PowerShell. This technique does not write any data to disk.[1][7] Cobalt Strike can also use PowerSploit and other scripting frameworks to perform execution.[6][8][3][4] |
| .003 | 命令与脚本解释器: Windows Command Shell |
Cobalt Strike uses a command-line interface to interact with systems.[6][3][4][9] |
||
| .005 | 命令与脚本解释器: Visual Basic |
Cobalt Strike can use VBA to perform execution.[6][8][3] |
||
| .006 | 命令与脚本解释器: Python |
Cobalt Strike can use Python to perform execution.[6][8][3][4] |
||
| .007 | 命令与脚本解释器: JavaScript |
The Cobalt Strike System Profiler can use JavaScript to perform reconnaissance actions.[3] |
||
| Enterprise | T1562 | .001 | 妨碍防御: Disable or Modify Tools |
Cobalt Strike has the ability to use Smart Applet attacks to disable the Java SecurityManager sandbox.[3][4] |
| Enterprise | T1203 | 客户端执行漏洞利用 |
Cobalt Strike can exploit Oracle Java vulnerabilities for execution, including CVE-2011-3544, CVE-2013-2465, CVE-2012-4681, and CVE-2013-2460.[3][4] |
|
| Enterprise | T1113 | 屏幕捕获 |
Cobalt Strike's Beacon payload is capable of capturing screenshots.[1][10][4] |
|
| Enterprise | T1071 | .001 | 应用层协议: Web Protocols |
Cobalt Strike can use a custom command and control protocol that can be encapsulated in HTTP or HTTPS. All protocols use their standard assigned ports.[1][3][4][11][12] |
| .002 | 应用层协议: File Transfer Protocols |
Cobalt Strike can conduct peer-to-peer communication over Windows named pipes encapsulated in the SMB protocol. All protocols use their standard assigned ports.[1][3] |
||
| .004 | 应用层协议: DNS |
Cobalt Strike can use a custom command and control protocol that can be encapsulated in DNS. All protocols use their standard assigned ports.[1][3][4] |
||
| Enterprise | T1003 | .001 | 操作系统凭证转储: LSASS Memory |
Cobalt Strike can spawn a job to inject into LSASS memory and dump password hashes.[4] |
| .002 | 操作系统凭证转储: Security Account Manager |
Cobalt Strike can recover hashed passwords.[1] |
||
| Enterprise | T1030 | 数据传输大小限制 |
Cobalt Strike will break large data sets into smaller chunks for exfiltration.[1] |
|
| Enterprise | T1001 | .003 | 数据混淆: Protocol or Service Impersonation |
Cobalt Strike can leverage the HTTP protocol for C2 communication, while hiding the actual data in either an HTTP header, URI parameter, the transaction body, or appending it to the URI.[4] |
| Enterprise | T1132 | .001 | 数据编码: Standard Encoding |
Cobalt Strike can use Base64, URL-safe Base64, or NetBIOS encoding in its C2 traffic.[4] |
| Enterprise | T1083 | 文件和目录发现 |
Cobalt Strike can explore files on a compromised system.[4] |
|
| Enterprise | T1078 | .002 | 有效账户: Domain Accounts |
Cobalt Strike can use known credentials to run commands and spawn processes as a domain user account.[1][8][4] |
| .003 | 有效账户: Local Accounts |
Cobalt Strike can use known credentials to run commands and spawn processes as a local user account.[1][8] |
||
| Enterprise | T1106 | 本机API |
Cobalt Strike's Beacon payload is capable of running shell commands without |
|
| Enterprise | T1068 | 权限提升漏洞利用 |
Cobalt Strike can exploit vulnerabilities such as MS14-058.[6][4] |
|
| Enterprise | T1069 | .001 | 权限组发现: Local Groups |
Cobalt Strike can use |
| .002 | 权限组发现: Domain Groups |
Cobalt Strike can identify targets by querying account groups on a domain contoller.[4] |
||
| Enterprise | T1012 | 查询注册表 |
Cobalt Strike can query |
|
| Enterprise | T1185 | 浏览器会话劫持 |
Cobalt Strike can perform browser pivoting and inject into a user's browser to inherit cookies, authenticated HTTP sessions, and client SSL certificates.[1][4] |
|
| Enterprise | T1027 | 混淆文件或信息 |
Cobalt Strike can hash functions to obfuscate calls to the Windows API and use a public/private key pair to encrypt Beacon session metadata.[3][4] |
|
| .005 | Indicator Removal from Tools |
Cobalt Strike includes a capability to modify the Beacon payload to eliminate known signatures or unpacking methods.[1][4] |
||
| Enterprise | T1548 | .002 | 滥用权限提升控制机制: Bypass User Account Control |
Cobalt Strike can use a number of known techniques to bypass Windows UAC.[1][4] |
| .003 | 滥用权限提升控制机制: Sudo and Sudo Caching |
Cobalt Strike can use |
||
| Enterprise | T1070 | .006 | 移除指标: Timestomp |
Cobalt Strike can timestomp any files or payloads placed on a target machine to help them blend in.[1][4] |
| Enterprise | T1218 | .011 | 系统二进制代理执行: Rundll32 |
Cobalt Strike can use |
| Enterprise | T1569 | .002 | 系统服务: Service Execution |
Cobalt Strike can use PsExec to execute a payload on a remote host. It can also use Service Control Manager to start new services.[1][6][4] |
| Enterprise | T1007 | 系统服务发现 |
Cobalt Strike can enumerate services on compromised hosts.[4] |
|
| Enterprise | T1049 | 系统网络连接发现 |
Cobalt Strike can produce a sessions report from compromised hosts.[3] |
|
| Enterprise | T1016 | 系统网络配置发现 |
Cobalt Strike can determine the NetBios name and the IP addresses of targets machines including domain controllers.[7][4] |
|
| Enterprise | T1135 | 网络共享发现 |
Cobalt Strike can query shared drives on the local system.[6] |
|
| Enterprise | T1046 | 网络服务发现 |
Cobalt Strike can perform port scans from an infected host.[1][3][4] |
|
| Enterprise | T1134 | .001 | 访问令牌操控: Token Impersonation/Theft |
Cobalt Strike can steal access tokens from exiting processes.[1][4] |
| .003 | 访问令牌操控: Make and Impersonate Token |
Cobalt Strike can make tokens from known credentials.[1] |
||
| .004 | 访问令牌操控: Parent PID Spoofing |
Cobalt Strike can spawn processes with alternate PPIDs.[8][4] |
||
| Enterprise | T1087 | .002 | 账号发现: Domain Account |
Cobalt Strike can determine if the user on an infected machine is in the admin or domain admin group.[7] |
| Enterprise | T1518 | 软件发现 |
The Cobalt Strike System Profiler can discover applications through the browser and identify the version of Java the target has.[4] |
|
| Enterprise | T1105 | 输入工具传输 |
Cobalt Strike can deliver additional payloads to victim machines.[3][4] |
|
| Enterprise | T1056 | .001 | 输入捕获: Keylogging |
Cobalt Strike can track key presses with a keylogger module.[1][10][4] |
| Enterprise | T1057 | 进程发现 |
Cobalt Strike's Beacon payload can collect information on process details.[1][3][4] |
|
| Enterprise | T1055 | 进程注入 |
Cobalt Strike can inject a variety of payloads into processes dynamically chosen by the adversary.[1][4][5] |
|
| .001 | Dynamic-link Library Injection |
Cobalt Strike has the ability to load DLLs via reflective injection.[3][4] |
||
| .012 | Process Hollowing |
Cobalt Strike can use process hollowing for execution.[6][4] |
||
| Enterprise | T1021 | .001 | 远程服务: Remote Desktop Protocol |
Cobalt Strike can start a VNC-based remote desktop server and tunnel the connection through the already established C2 channel.[1][13] |
| .002 | 远程服务: SMB/Windows Admin Shares |
Cobalt Strike can use Window admin shares (C$ and ADMIN$) for lateral movement.[6][9] |
||
| .003 | 远程服务: Distributed Component Object Model |
Cobalt Strike can deliver Beacon payloads for lateral movement by leveraging remote COM execution.[14] |
||
| .004 | 远程服务: SSH |
Cobalt Strike can SSH to a remote service.[6][4] |
||
| .006 | 远程服务: Windows Remote Management |
Cobalt Strike can use |
||
| Enterprise | T1018 | 远程系统发现 |
Cobalt Strike uses the native Windows Network Enumeration APIs to interrogate and discover targets in a Windows Active Directory network.[1][3][4] |
|
| Enterprise | T1564 | .010 | 隐藏伪装: Process Argument Spoofing |
Cobalt Strike can use spoof arguments in spawned processes that execute beacon commands.[4] |
| Enterprise | T1095 | 非应用层协议 |
Cobalt Strike can be configured to use TCP, ICMP, and UDP for C2 communications.[3][4] |
|
| Enterprise | T1029 | 预定传输 |
Cobalt Strike can set its Beacon payload to reach out to the C2 server on an arbitrary and random interval.[1] |
|
| Enterprise | T1553 | .002 | 颠覆信任控制: Code Signing |
Cobalt Strike can use self signed Java applets to execute signed applet attacks.[3][4] |
| ID | Name | References |
|---|---|---|
| G0129 | Mustang Panda | |
| G0027 | Threat Group-3390 | |
| G0050 | APT32 | |
| G1022 | ToddyCat | |
| G0073 | APT19 | |
| G0037 | FIN6 | |
| G0092 | TA505 | |
| G0052 | CopyKittens | |
| G0079 | DarkHydrus | |
| G1040 | Play | |
| G1006 | Earth Lusca | |
| G0046 | FIN7 | |
| G1020 | Mustard Tempest | |
| G0096 | APT41 | |
| G0045 | menuPass | |
| G0143 | Aquatic Panda | |
| G0080 | Cobalt Group | |
| G0034 | Sandworm Team |
Sandworm Team has used multiple publicly available tools during operations, such as Cobalt Strike.[52] |
| G0065 | Leviathan | |
| G0016 | APT29 | |
| G1021 | Cinnamon Tempest | |
| G0067 | APT37 | |
| G1014 | LuminousMoth | |
| G0114 | Chimera | |
| G0119 | Indrik Spider | |
| G0102 | Wizard Spider |
| ID | Name | Description |
|---|---|---|
| C0040 | APT41 DUST |
Cobalt Strike was used during APT41 DUST.[41] |
| C0015 | C0015 | |
| C0017 | C0017 |
During C0017, APT41 used the DUSTPAN in-memory dropper to drop a Cobalt Strike BEACON backdoor onto a compromised network.[42] |
| C0018 | C0018 | |
| C0021 | C0021 | |
| C0024 | SolarWinds Compromise |