| ID | Name |
|---|---|
| T1560.001 | Archive via Utility |
| T1560.002 | Archive via Library |
| T1560.003 | Archive via Custom Method |
An adversary may compress or encrypt data that is collected prior to exfiltration using a custom method. Adversaries may choose to use custom archival methods, such as encryption with XOR or stream ciphers implemented with no external library or utility references. Custom implementations of well-known compression algorithms have also been used.[1]
| ID | Name | Description |
|---|---|---|
| S0045 | ADVSTORESHELL |
ADVSTORESHELL compresses output data generated by command execution with a custom implementation of the Lempel–Ziv–Welch (LZW) algorithm.[1] |
| S0092 | Agent.btz |
Agent.btz saves system information into an XML file that is then XOR-encoded.[2] |
| S0438 | Attor |
Attor encrypts collected data with a custom implementation of Blowfish and RSA ciphers.[3] |
| S0657 | BLUELIGHT | |
| C0017 | C0017 |
During C0017, APT41 hex-encoded PII data prior to exfiltration.[5] |
| G0052 | CopyKittens |
CopyKittens encrypts data with a substitute cipher prior to exfiltration.[6] |
| S0038 | Duqu |
Modules can be pushed to and executed by Duqu that copy data to a staging area, compress it, and XOR encrypt it.[7] |
| G0037 | FIN6 |
FIN6 has encoded data gathered from the victim with a simple substitution cipher and single-byte XOR using the 0xAA key, and Base64 with character permutation.[8][9] |
| S0036 | FLASHFLOOD |
FLASHFLOOD employs the same encoding scheme as SPACESHIP for data it stages. Data is compressed with zlib, and bytes are rotated four times before being XOR'ed with 0x23.[10] |
| S0661 | FoggyWeb |
FoggyWeb can use a dynamic XOR key and a custom XOR methodology to encode data before exfiltration. Also, FoggyWeb can encode C2 command output within a legitimate WebP file.[11] |
| S0503 | FrameworkPOS |
FrameworkPOS can XOR credit card information before exfiltration.[12] |
| S1044 | FunnyDream |
FunnyDream has compressed collected files with zLib and encrypted them using an XOR operation with the string key from the command line or |
| S0391 | HAWKBALL |
HAWKBALL has encrypted data with XOR before sending it over the C2 channel.[14] |
| S0260 | InvisiMole |
InvisiMole uses a variation of the XOR cipher to encrypt files before exfiltration.[15] |
| G0094 | Kimsuky | |
| G0032 | Lazarus Group |
A Lazarus Group malware sample encrypts data using a simple byte based XOR operation prior to exfiltration.[17][18][19][20] |
| G0030 | Lotus Blossom |
Lotus Blossom has used custom tools to compress and archive data on victim systems.[21] |
| S0409 | Machete |
Machete's collected data is encrypted with AES before exfiltration.[22] |
| S0443 | MESSAGETAP |
MESSAGETAP has XOR-encrypted and stored contents of SMS messages that matched its target list. [23] |
| S1059 | metaMain |
metaMain has used XOR-based encryption for collected files before exfiltration.[24] |
| G0129 | Mustang Panda |
Mustang Panda has encrypted documents with RC4 prior to exfiltration.[25] |
| S0198 | NETWIRE |
NETWIRE has used a custom encryption algorithm to encrypt collected data.[26] |
| S0439 | Okrum |
Okrum has used a custom implementation of AES encryption to encrypt collected data.[27] |
| S0264 | OopsIE |
OopsIE compresses collected files with a simple character replacement scheme before sending them to its C2 server.[28] |
| S0352 | OSX_OCEANLOTUS.D |
OSX_OCEANLOTUS.D has used AES in CBC mode to encrypt collected data when saving that data to disk.[29] |
| S0072 | OwaAuth |
OwaAuth DES-encrypts captured credentials using the key 12345678 before writing the credentials to a log file.[30] |
| S0458 | Ramsay |
Ramsay can store collected documents in a custom container after encrypting and compressing them using RC4 and WinRAR.[31] |
| S0169 | RawPOS |
RawPOS encodes credit card data it collected from the victim with XOR.[32][33][34] |
| S0172 | Reaver |
Reaver encrypts collected data with an incremental XOR key prior to exfiltration.[35] |
| S0258 | RGDoor |
RGDoor encrypts files with XOR before sending them back to the C2 server.[36] |
| S0448 | Rising Sun |
Rising Sun can archive data using RC4 encryption and Base64 encoding prior to exfiltration.[37] |
| S0615 | SombRAT |
SombRAT has encrypted collected data with AES-256 using a hardcoded key.[38] |
| S0035 | SPACESHIP |
Data SPACESHIP copies to the staging area is compressed with zlib. Bytes are rotated by four positions and XOR'ed with 0x23.[10] |
| S1030 | Squirrelwaffle |
Squirrelwaffle has encrypted collected data using a XOR-based algorithm.[39] |
| S0491 | StrongPity |
StrongPity can compress and encrypt archived files into multiple .sft files with a repeated xor encryption scheme.[40][41] |
| S0603 | Stuxnet |
Stuxnet encrypts exfiltrated data via C2 with static 31-byte long XOR keys.[42] |
| S1042 | SUGARDUMP |
SUGARDUMP has encrypted collected data using AES CBC mode and encoded it using Base64.[43] |
| S0098 | T9000 |
T9000 encrypts collected data using a single byte XOR key.[44] |
| G1048 | UNC3886 |
UNC3886 has XOR encrypted and Gzip compressed captured credentials.[45] |
This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.
| ID | Name | Analytic ID | Analytic Description |
|---|---|---|---|
| DET0438 | Detect Archiving via Custom Method (T1560.003) | AN1213 |
Detects suspicious custom compression/encryption routines through anomalous script or binary execution that produces high-entropy files without standard archiving utilities. Correlates script execution, memory API usage (bitwise ops, CryptoAPI calls), and creation of archive-like files with uncommon headers. |
| AN1214 |
Detects custom archive routines by correlating script execution (Python, Perl, Bash) with creation of high-entropy files in temporary or user directories. Flags processes performing unusual bitwise operations or writing files without standard compression headers. |
||
| AN1215 |
Detects custom archiving by monitoring execution of Swift/Objective-C apps or scripts producing high-entropy files with non-standard headers. Correlates unified logs of abnormal NSFileHandle/NSData operations, memory use of XOR/bitwise operations, and file creation events. |