BRICKSTORM is a cross-platform backdoor with variants written in Go and Rust that facilitates command and control, the ingress transfer of other malware, and the exfiltration of data.[1][2][3][4] BRICKSTORM has also been created from a .NET application using ahead-of-time (AOT) compilation to blend in within victim environments.[1] BRICKSTORM was first observed in April 2024.[5] BRICKSTORM has previously been leveraged by People's Republic of China (PRC) state-nexus actors identified as UNC6201, UNC5221, WARP PANDA, PunyToad, and SYLVANITE.[6][7][1][8][9][10][3][4]
| Domain | ID | Name | Use | |
|---|---|---|---|---|
| Enterprise | T1071 | .001 | Application Layer Protocol: Web Protocols |
BRICKSTORM has communicated to hardcoded C2 through WebSockets (WSS) to include domains associated with Cloudflare Workers.[7][1][2][5][9][4] BRICKSTORM has also leveraged Gorilla mux library to serve its HTTP API calls.[9] |
| .004 | Application Layer Protocol: DNS |
BRICKSTORM has used DNS over HTTPS to resolve C2 infrastructure and obscure DNS traffic from inspection.[7][1][2][5][9] |
||
| Enterprise | T1059 | .004 | Command and Scripting Interpreter: Unix Shell |
BRICKSTORM has executed shell commands using |
| Enterprise | T1543 | Create or Modify System Process |
BRICKSTORM has created a new background session and has spawned a child process of a parent process when it determines it is not running in its intended state.[1] |
|
| Enterprise | T1132 | .001 | Data Encoding: Standard Encoding |
BRICKSTORM has leveraged Base64 to encode C2 communications.[9][3] |
| Enterprise | T1005 | Data from Local System |
BRICKSTORM has commands that allow the actor download files from the compromised host to the C2 server, and to also download specific sections of a file.[1] |
|
| Enterprise | T1678 | Delay Execution |
BRICKSTORM has embedded delayed-start logic that attempts to circumvent detection for long-term persistence.[2][9] BRICKSTORM has been observed configured with a "delay" timer built-in that waited for a hard-coded date months in the future before beginning to beacon to the configured C2 domain.[4] |
|
| Enterprise | T1140 | Deobfuscate/Decode Files or Information |
BRICKSTORM has decoded its encrypted C2 traffic prior to execution.[7][1][2][3][4] BRICKSTORM also has the ability to decode its obfuscated payload before execution.[2] |
|
| Enterprise | T1568 | Dynamic Resolution |
BRICKSTORM has utilized DNS services sslip.io and nip.io to resolve C2 IP addresses.[4] |
|
| Enterprise | T1573 | .002 | Encrypted Channel: Asymmetric Cryptography |
BRICKSTORM has communicated with C2 infrastructure via TLS.[7][1][2][3] |
| Enterprise | T1041 | Exfiltration Over C2 Channel |
BRICKSTORM has uploaded files from the victim system to C2 servers.[7][1][2][5][9][3][4] |
|
| Enterprise | T1083 | File and Directory Discovery |
BRICKSTORM has identified specific files and directories within targeted hosts and systems for modification, execution, collection and exfiltration.[7][1][2][5][9][4] |
|
| Enterprise | T1574 | .007 | Hijack Execution Flow: Path Interception by PATH Environment Variable |
BRICKSTORM has checked hard-coded paths of |
| Enterprise | T1070 | .004 | Indicator Removal: File Deletion |
BRICKSTORM has the ability to delete files and directories.[1] BRICKSTORM also has deleted installer files after execution to reduce detection.[2][5][9] |
| .010 | Indicator Removal: Relocate Malware |
BRICKSTORM has copied itself to the |
||
| Enterprise | T1105 | Ingress Tool Transfer |
BRICKSTORM has the ability to download files from the Adversaries C2 server to the compromised system.[1][5][9][4] |
|
| Enterprise | T1036 | .005 | Masquerading: Match Legitimate Resource Name or Location |
BRICKSTORM has appeared to resemble legitimate processes to include the vCenter process |
| Enterprise | T1027 | Obfuscated Files or Information |
BRICKSTORM has utilized Go libraries to include Garble to obfuscate code.[2][4] |
|
| .013 | Encrypted/Encoded File |
BRICKSTORM has utilized XOR cipher encryption to hide key strings within their code, to include IPv4 addresses of public DNS-over-HTTPS (DOH) servers.[1] |
||
| Enterprise | T1690 | Prevent Command History Logging |
BRICKSTORM has impaired command logging through the use of |
|
| Enterprise | T1057 | Process Discovery |
BRICKSTORM has the ability to check if it is running as an active child process through the detection of a specific environment variable.[1] |
|
| Enterprise | T1572 | Protocol Tunneling |
BRICKSTORM has utilized a SOCKS proxy to tunnel access within the victim network and exfiltrate files from internal shares, code repositories, and other endpoints.[7][1][2][5][9][3][4] BRICKSTORM has also leveraged Yamux for combining multiple concurrent logical streams over a single a socket.[1][9][3] |
|
| Enterprise | T1090 | .001 | Proxy: Internal Proxy |
BRICKSTORM has leveraged SOCKS Proxy to pivot into victim networks in attempts to resemble legitimate administrative traffic.[7][1][2][5][9][4] |
| Enterprise | T1489 | Service Stop |
BRICKSTORM has terminated an existing process to ensure that its own new process can execute.[1] |
|
| Enterprise | T1102 | Web Service |
BRICKSTORM has leveraged DNS web services to resolve C2 IP addresses including sslip.io and nip.io.[4] BRICKSTORM has also utilized Cloudflare Workers for C2 communications.[4] |
|