Deobfuscate/Decode Files or Information, Technique T1140 - Enterprise (original) (raw)

C0063

2025 Poland Wiper Attacks

During the 2025 Poland Wiper Attacks, the adversaries decoded a Base64-encoded ZIP archive using the built-in certutil.[5]

S0469

ABK

ABK has the ability to decrypt AES encrypted payloads.[6]

S1028

Action RAT

Action RAT can use Base64 to decode actor-controlled C2 server communications.[7]

S0331

Agent Tesla

Agent Tesla has the ability to decrypt strings encrypted with the Rijndael symmetric encryption algorithm.[8]

G1030

Agrius

Agrius has deployed base64-encoded variants of ASPXSpy to evade detection.[9]

S1025

Amadey

Amadey has decoded antivirus name strings.[10]

S9027

ANELLDR

ANELLDR can decrypt encrypted payload data using AES-256-CBC and subsequently execute the payload in memory.[11]

S1133

Apostle

Apostle compiled code is obfuscated in an unspecified fashion prior to delivery to victims.[9]

S0584

AppleJeus

AppleJeus has decoded files received from a C2.[12]

S0622

AppleSeed

AppleSeed can decode its payload prior to execution.[13]

G0073

APT19

An APT19 HTTP malware variant decrypts strings using single-byte XOR keys.[14]

G0007

APT28

An APT28 macro uses the command certutil -decode to decode contents of a .txt file storing the base64 encoded payload.[15][16]

C0051

APT28 Nearest Neighbor Campaign

During APT28 Nearest Neighbor Campaign, APT28 unarchived data using the GUI version of WinRAR.[17]

G0082

APT38

APT38 has used the RC4 algorithm to decrypt configuration data. [18]

G0087

APT39

APT39 has used malware to decrypt encrypted CAB files.[19]

C0046

ArcaneDoor

ArcaneDoor involved the use of Base64 obfuscated scripts and commands.[20]

S0456

Aria-body

Aria-body has the ability to decrypt the loader configuration and payload DLL.[21]

S9031

AshTag

The AshTag stager compoment can decode and decrypt Base64 and XOR-encrypted payloads.[22]

S0373

Astaroth

Astaroth uses a fromCharCode() deobfuscation method to avoid explicitly writing execution commands and to hide its code. [23][24]

S0347

AuditCred

AuditCred uses XOR and RC4 to perform decryption on the code functions.[25]

S0640

Avaddon

Avaddon has decrypted encrypted strings.[26]

S0473

Avenger

Avenger has the ability to decrypt files downloaded from C2.[6]

S1053

AvosLocker

AvosLocker has deobfuscated XOR-encoded strings.[27]

S0344

Azorult

Azorult uses an XOR key to decrypt content and uses Base64 to decode the C2 address.[28][29]

S0638

Babuk

Babuk has the ability to unpack itself into memory using XOR.[30][31]

S0414

BabyShark

BabyShark has the ability to decode downloaded files prior to execution.[32]

S0475

BackConfig

BackConfig has used a custom routine to decrypt strings.[33]

S0642

BADFLICK

BADFLICK can decode shellcode using a custom rotating XOR cipher.[34]

S0234

Bandook

Bandook has decoded its PowerShell script.[35]

S0239

Bankshot

Bankshot decodes embedded XOR strings.[36]

S0534

Bazar

Bazar can decrypt downloaded payloads. Bazar also resolves strings and other artifacts at runtime.[37][38]

S0470

BBK

BBK has the ability to decrypt AES encrypted payloads.[6]

S0127

BBSRAT

BBSRAT uses Expand to decompress a CAB file into executable content.[39]

S0574

BendyBear

BendyBear has decrypted function blocks using a XOR key during runtime to evade detection.[40]

S0268

Bisonal

Bisonal has decoded strings in the malware using XOR and RC4.[41][42]

G1043

BlackByte

BlackByte has encoded commands in base64-encoded sections concatenated together in PowerShell.[43] BlackByte uses PowerShell commands to disable Windows Defender.[44]

S1180

BlackByte Ransomware

BlackByte Ransomware is distributed as an obfuscated JavaScript launcher file.[45]

S0520

BLINDINGCAN

BLINDINGCAN has used AES and XOR to decrypt its DLLs.[46]

S1226

BOOKWORM

BOOKWORM has decoded its Base64 encoded payload prior to execution.[47] BOOKWORM has also encrypted files with RC4 and has decrypted its payload prior to execution.[48]

S0635

BoomBox

BoomBox can decrypt AES-encrypted files downloaded from C2.[49]

S0415

BOOSTWRITE

BOOSTWRITE has used a a 32-byte long multi-XOR key to decode data inside its payload.[50]

S9015

BRICKSTORM

BRICKSTORM has decoded its encrypted C2 traffic prior to execution.[51][52][53][54][55] BRICKSTORM also has the ability to decode its obfuscated payload before execution.[53]

G0060

BRONZE BUTLER

BRONZE BUTLER downloads encoded payloads and decodes them on the victim.[56]

S9011

BRUSHFIRE

BRUSHFIRE has decrypted XOR strings prior to execution.[57]

S1063

Brute Ratel C4

Brute Ratel C4 has the ability to deobfuscate its payload prior to execution.[58]

S1039

Bumblebee

Bumblebee can deobfuscate C2 server responses and unpack its code on targeted hosts.[59][60]

S0482

Bundlore

Bundlore has used openssl to decrypt AES encrypted payload data. Bundlore has also used base64 and RC4 with a hardcoded key to deobfuscate data.[61]

S1118

BUSHWALK

BUSHWALK can Base64 decode and RC4 decrypt malicious payloads sent through a web request’s command parameter.[62][63]

C0017

C0017

During C0017, APT41 used the DUSTPAN loader to decrypt embedded payloads.[64]

C0021

C0021

During C0021, the threat actors deobfuscated encoded PowerShell commands including use of the specific string 'FromBase'+0x40+'String', in place of FromBase64String which is normally used to decode base64.[65][66]

S9016

Caminho

Caminho can deobfuscate downloaded files prior to execution.[67]

S0335

Carbon

Carbon decrypts task and configuration files for execution.[68][69]

S0348

Cardinal RAT

Cardinal RAT decodes many of its artifacts and is decrypted (AES-128) after being downloaded.[70]

S1224

CASTLETAP

CASTLETAP can filter and deobfuscate an XOR encrypted activation string in the payload of an ICMP echo request.[71]

S0160

certutil

certutil has been used to decode binaries hidden inside certificate files as Base64 information.[1]

S0631

Chaes

Chaes has decrypted an AES encrypted binary file to trigger the download of other files.[72]

S0674

CharmPower

CharmPower can decrypt downloaded modules prior to execution.[73]

S1149

CHIMNEYSWEEP

CHIMNEYSWEEP can use an embedded RC4 key to decrypt Windows API function strings.[74]

S1041

Chinoxy

The Chinoxy dropping function can initiate decryption of its config file.[75]

S0667

Chrommme

Chrommme can decrypt its encrypted internal code.[76]

G1021

Cinnamon Tempest

Cinnamon Tempest has used weaponized DLLs to load and decrypt payloads.[77]

S1236

CLAIMLOADER

CLAIMLOADER has decoded its payload prior to execution.[78][79]

S0660

Clambling

Clambling can deobfuscate its payload prior to execution.[80][81]

S0611

Clop

Clop has used a simple XOR operation to decrypt strings.[82]

S1105

COATHANGER

COATHANGER decodes configuration items from a bundled file for command and control activity.[83]

S0154

Cobalt Strike

Cobalt Strike can deobfuscate shellcode using a rolling XOR and decrypt metadata from Beacon sessions.[84][85] The Cobalt Strike loader component can also decrypt the .bss section of the Beacon binary prior to execution.[86]

S0369

CoinTicker

CoinTicker decodes the initially-downloaded hidden encoded file using OpenSSL.[87]

S0126

ComRAT

ComRAT has used unique per machine passwords to decrypt the orchestrator payload and a hardcoded XOR key to decrypt its communications module. ComRAT has also used a unique password to decrypt the file used for its hidden file system.[88][89]

S0575

Conti

Conti has decrypted its payload using a hardcoded AES-256 key.[90][91]

S0492

CookieMiner

CookieMiner has used Google Chrome's decryption and extraction operations.[92]

S1235

CorKLOG

CorKLOG has decoded XOR encrypted strings.[93]

S0614

CostaBricks

CostaBricks has the ability to use bytecode to decrypt embedded payloads.[94]

S0115

Crimson

Crimson can decode its encoded PE file prior to execution.[95]

S1153

Cuckoo Stealer

Cuckoo Stealer strings are deobfuscated prior to execution.[96][97]

S0687

Cyclops Blink

Cyclops Blink can decrypt and parse instructions sent from C2.[98]

S1014

DanBot

DanBot can use a VBA macro to decode its payload prior to installation and execution.[99]

S1111

DarkGate

DarkGate installation includes binary code stored in a file located in a hidden directory, such as shell.txt, that is decrypted then executed.[100] DarkGate uses hexadecimal-encoded shellcode payloads during installation that are called via Windows API CallWindowProc() to decode and then execute.[101]

G0012

Darkhotel

Darkhotel has decrypted strings and imports using RC4 during execution.[102][103]

S1066

DarkTortilla

DarkTortilla can decrypt its payload and associated configuration elements using the Rijndael cipher.[104]

S0673

DarkWatchman

DarkWatchman has the ability to self-extract as a RAR archive.[105]

S0255

DDKONG

DDKONG decodes an embedded configuration using XOR.[106]

S1052

DEADEYE

DEADEYE has the ability to combine multiple sections of a binary which were broken up to evade detection into a single .dll prior to execution.[64]

S1134

DEADWOOD

DEADWOOD XORs some strings within the binary using the value 0xD5, and deobfuscates these items at runtime.[9]

S0354

Denis

Denis will decrypt important strings used for C&C communication.[107]

S9021

DOWNIISSA

DOWNIISSA can decode strings prior to execution.[108]

S0547

DropBook

DropBook can unarchive data downloaded from the C2 to obtain the payload and persistence modules.[109]

S0502

Drovorub

Drovorub has de-obsfuscated XOR encrypted payloads in WebSocket messages.[110]

S0567

Dtrack

Dtrack has used a decryption routine that is part of an executable physical patch.[111]

S1158

DUSTPAN

DUSTPAN decodes and decrypts embedded payloads.[112]

S1159

DUSTTRAP

DUSTTRAP deobfuscates embedded payloads.[112]

S0024

Dyre

Dyre decrypts resources needed for targeting the victim.[113][114]

G1006

Earth Lusca

Earth Lusca has used certutil to decode a string into a cabinet file.[115]

S0377

Ebury

Ebury has verified C2 domain ownership by decrypting the TXT record using an embedded RSA public key.[116]

S0624

Ecipekac

Ecipekac has the ability to decrypt fileless loader modules.[117]

S0554

Egregor

Egregor has been decrypted before execution.[118][119]

S1247

Embargo

Embargo has utilized MDeployer to decrypt two payloads that contain MS4Killer toolkit b.cache and the Embargo ransomware executable a.cache with a hardcoded RC4 key wlQYLoPCil3niI7x8CvR9EtNtL/aeaHrZ23LP3fAsJogVTIzdnZ5Pi09ZVeHFkiB.[120]

S0367

Emotet

Emotet has used a self-extracting RAR file to deliver modules to victims. Emotet has also extracted embedded executables from files using hard-coded buffer offsets.[121]

S0634

EnvyScout

EnvyScout can deobfuscate and write malicious ISO files to disk.[49]

S0401

Exaramel for Linux

Exaramel for Linux can decrypt its configuration file.[122]

S1179

Exbyte

Exbyte decodes and decrypts data stored in the configuration file with a key provided on the command line during execution.[123]

S0361

Expand

Expand can be used to decompress a local or remote CAB file into an executable.[124]

S0512

FatDuke

FatDuke can decrypt AES encrypted C2 communications.[125]

G1016

FIN13

FIN13 has utilized certutil to decode base64 encoded versions of custom malware.[126]

G0046

FIN7

FIN7 has decoded a malicious PowerShell script using certutil -decode hex and has decoded an XOR-obfuscated block of data with the key qawsed1q2w3e, which led to the installation of Lizar.[127]

S0355

Final1stspy

Final1stspy uses Python code to deobfuscate base64-encoded strings.[128]

S0182

FinFisher

FinFisher extracts and decrypts stage 3 malware, which is stored in encrypted resources.[129][130]

S0618

FIVEHANDS

FIVEHANDS has the ability to decrypt its payload prior to execution.[131][132][133]

S0661

FoggyWeb

FoggyWeb can be decrypted in memory using a Lightweight Encryption Algorithm (LEA)-128 key and decoded using a XOR key.[134]

S9033

Fooder

Fooder has decrypted payloads using the WinCrypt API and the AES key.[135]

S1120

FRAMESTING

FRAMESTING can decompress data received within POST requests.[62]

C0001

Frankenstein

During Frankenstein, the threat actors deobfuscated Base64-encoded commands following the execution of a malicious script, which revealed a small script designed to obtain an additional payload.[136]

S0628

FYAnti

FYAnti has the ability to decrypt an embedded .NET module.[117]

G0047

Gamaredon Group

Gamaredon Group tools decrypted additional payloads from the C2. Gamaredon Group has also decoded Base64-encoded source code of a downloader.[137][138][139] Additionally, Gamaredon Group has decoded Telegram content to reveal the IP address for C2 communications.[140]

S0666

Gelsemium

Gelsemium can decompress and decrypt DLLs and shellcode.[76]

S0032

gh0st RAT

gh0st RAT has decrypted and loaded the gh0st RAT DLL into memory, once the initial dropper executable is launched.[141]

S1117

GLASSTOKEN

GLASSTOKEN has the ability to decode hexadecimal and Base64 C2 requests.[142]

S9010

GlassWorm

GlassWorm has decoded its Base64 instructions.[143] GlassWorm has also decrypted its AES protected payloads.[144][143][145]

S0588

GoldMax

GoldMax has decoded and decrypted the configuration file when executed.[146][147]

S0477

Goopy

Goopy has used a polymorphic decryptor to decrypt itself at runtime.[107]

S1138

Gootloader

Gootloader has the ability to decode and decrypt malicious payloads prior to execution.[148][149]

G0078

Gorgon Group

Gorgon Group malware can decode contents from a payload that was Base64 encoded and write the contents to a file.[150]

S0531

Grandoreiro

Grandoreiro can decrypt its encrypted internal strings.[151]

S0690

Green Lambert

Green Lambert can use multiple custom routines to decrypt strings prior to execution.[152][153]

S0632

GrimAgent

GrimAgent can use a decryption algorithm for strings based on Rotate on Right (RoR) and Rotate on Left (RoL) functionality.[154]

S0499

Hancitor

Hancitor has decoded Base64 encoded URLs to insert a recipient’s name into the filename of the Word document. Hancitor has also extracted executables from ZIP files.[155][156]

S9018

HeartCrypt

HeartCrypt can decrypt payloads prior to execution.[157][158]

S0697

HermeticWiper

HermeticWiper can decompress and copy driver files using LZCopy.[159]

S1249

HexEval Loader

HexEval Loader has decoded its payload prior to execution.[160][161][162]

S1027

Heyoka Backdoor

Heyoka Backdoor can decrypt its payload prior to execution.[163]

S9023

HiddenFace

HiddenFace has the ability to decrypt its payload prior to execution.[164][165]

S0394

HiddenWasp

HiddenWasp uses a cipher to implement a decoding function.[166]

G0126

Higaisa

Higaisa used certutil to decode Base64 binaries at runtime and a 16-byte XOR key to decrypt data.[167][168]

S0601

Hildegard

Hildegard has decrypted ELF files with AES.[169]

S9007

HTTPTroy

HTTPTroy has decoded strings encoded with Base64 and XOR prior to execution.[170]

S1097

HUI Loader

HUI Loader can decrypt and load files containing malicious payloads.[171]

S0398

HyperBro

HyperBro can unpack and decrypt its payload prior to execution.[80][172]

S1022

IceApple

IceApple can use a Base64-encoded AES key to decrypt tasking.[173]

S0434

Imminent Monitor

Imminent Monitor has decoded malware components that are then dropped to the system.[174]

S1139

INC Ransomware

INC Ransomware can run CryptStringToBinaryA to decrypt base64 content containing its ransom note.[175]

S0604

Industroyer

Industroyer decrypts code to connect to a remote C2 server.[176]

S1245

InvisibleFerret

InvisibleFerret has decoded XOR-encrypted and Base-64-encoded payloads prior to execution.[177]

S0260

InvisiMole

InvisiMole can decrypt, unpack and load a DLL from its resources, or from blobs encrypted with Data Protection API, two-key triple DES, and variations of the XOR cipher.[178][179]

S0581

IronNetInjector

IronNetInjector has the ability to decrypt embedded .NET and PE payloads.[180]

S9029

IronWind

IronWind can deobfuscate the next stage payload using Base64 and XOR operations with the key "53".[181]

S0189

ISMInjector

ISMInjector uses the certutil command to decode a payload file.[182]

C0044

Juicy Mix

During Juicy Mix, OilRig used a script to concatenate and deobfuscate encoded strings in Mango.[183]

S1190

Kapeka

Kapeka utilizes obfuscated JSON structures for various data storage and configuration management items.[184]

G0004

Ke3chang

Ke3chang has deobfuscated Base64-encoded shellcode strings prior to loading them.[185]

S0585

Kerrdown

Kerrdown can decode, decrypt, and decompress multiple layers of shellcode.[186]

S0487

Kessel

Kessel has decrypted the binary's configuration once the main function was launched.[187]

S1051

KEYPLUG

KEYPLUG can decode its configuration file to determine C2 protocols.[64]

S0526

KGH_SPY

KGH_SPY can decrypt encrypted strings and write them to a newly created folder.[188]

G0094

Kimsuky

Kimsuky has decoded malicious VBScripts using Base64.[189] Kimsuky has also decoded malicious PowerShell scripts using Base64.[190][191] Kimsuky has decoded RC4 obfuscated files prior to downloading files from their infrastructure.[191]

S0641

Kobalos

Kobalos decrypts strings right after the initial communication, but before the authentication process.[192]

S0669

KOCTOPUS

KOCTOPUS has deobfuscated itself before executing its commands.[193]

S0356

KONNI

KONNI has used certutil to download and decode base64 encoded strings and has also devoted a custom section to performing all the components of the deobfuscation process.[194][195]

S0236

Kwampirs

Kwampirs decrypts and extracts a copy of its main DLL payload when executing.[196]

S9035

LAMEHUG

LAMEHUG can decode and drop a decoy file attached to spearphishing emails.[197]

S1160

Latrodectus

Latrodectus has the ability to deobfuscate encrypted strings.[198][199][200]

G0032

Lazarus Group

Lazarus Group has used shellcode within macros to decrypt and manually map DLLs and shellcode into memory at runtime.[201][202]

G0065

Leviathan

Leviathan has used a DLL known as SeDll to decrypt and execute other JavaScript backdoors.[203]

S0395

LightNeuron

LightNeuron has used AES and XOR to decrypt configuration files and commands.[204]

S1119

LIGHTWIRE

LIGHTWIRE can RC4 decrypt and Base64 decode C2 commands.[62]

S1186

Line Dancer

Line Dancer shellcode payloads are base64 encoded when transmitted to compromised devices.[205]

S0513

LiteDuke

LiteDuke has the ability to decrypt and decode multiple layers of obfuscation.[125]

S0681

Lizar

Lizar has decrypted its configuration data, such as the C2 IP address, ports and other network communication.[206][207]

S1199

LockBit 2.0

LockBit 2.0 can decode scripts and strings in loaded modules.[208][209]

S1202

LockBit 3.0

The LockBit 3.0 payload is decrypted at runtime.[210][211][212]

S0447

Lokibot

Lokibot has decoded and decrypted its stages multiple times using hard-coded keys to deliver the final payload, and has decoded its server response hex string using XOR.[213]

S0582

LookBack

LookBack has a function that decrypts malicious data.[214]

S9036

LP-Notes

LP-Notes has decrypted strings with lengths ranging from 15 to 19 characters using the same decryption key for each string.[135]

S0532

Lucifer

Lucifer can decrypt its C2 address upon execution.[215]

S1213

Lumma Stealer

Lumma Stealer has used Base64-encoded content during execution, decoded via PowerShell.[216]

S1143

LunarLoader

LunarLoader can deobfuscate files containing the next stages in the infection chain.[217]

S1142

LunarMail

LunarMail can decrypt strings to retrieve configuration settings.[217]

S1141

LunarWeb

LunarWeb can decrypt strings related to communication configuration using RC4 with a static key.[217]

S0409

Machete

Machete’s downloaded data is decrypted using AES.[218]

S1016

MacMa

MacMa decrypts a downloaded file using AES-128-EBC with a custom delta.[219]

S1060

Mafalda

Mafalda can decrypt files and data.[220]

S1182

MagicRAT

MagicRAT stores command and control URLs using base64 encoding in the malware's configuration file.[221]

G1026

Malteiro

Malteiro has the ability to deobfuscate downloaded files prior to execution.[222]

S1244

Medusa Ransomware

Medusa Ransomware has decoded XOR encrypted strings prior to execution in memory.[223][224]

S0576

MegaCortex

MegaCortex has used a Base64 key to decode its components.[225]

G0045

menuPass

menuPass has used certutil in a macro to decode base64-encoded content contained in a dropper document attached to an email. The group has also used certutil -decode to decode files on the victim’s machine when dropping UPPERCUT.[226][227]

S0443

MESSAGETAP

After checking for the existence of two files, keyword_parm.txt and parm.txt, MESSAGETAP XOR decodes and read the contents of the files. [228]

S1059

metaMain

metaMain can decrypt and load other modules.[220]

S0455

Metamorfo

Upon execution, Metamorfo has unzipped itself after being downloaded to the system and has performed string decryption.[229][230][231]

S0280

MirageFox

MirageFox has a function for decrypting data containing C2 configuration information.[232]

S1122

Mispadu

Mispadu decrypts its encrypted configuration files prior to execution.[222][233]

G0021

Molerats

Molerats decompresses ZIP files once on the victim machine.[234]

S1026

Mongall

Mongall has the ability to decrypt its payload prior to execution.[163]

G1036

Moonstone Sleet

Moonstone Sleet delivered payloads using multiple rounds of obfuscation and encoding to evade defenses and analysis.[235]

S1221

MOPSLED

MOPSLED can decrypt obfuscated configuration files.[236]

S0284

More_eggs

More_eggs will decode malware components that are then dropped to the system.[237]

S1047

Mori

Mori can resolve networking APIs from strings that are ADD-encrypted.[238]

S9032

MuddyViper

MuddyViper has decrypted the embedded HackBrowserData tool prior to execution.[135]

G0069

MuddyWater

MuddyWater has decoded base64-encoded PowerShell, JavaScript, and VBScript.[239][240][241][242]

G0129

Mustang Panda

Mustang Panda has the ability to decrypt its payload prior to execution.[243][244][47][245] Mustang Panda has also utilized RC4 encryption for malicious payloads.[246][48]

S0637

NativeZone

NativeZone can decrypt and decode embedded Cobalt Strike beacon stage shellcode.[49]

S0457

Netwalker

Netwalker's PowerShell script can decode and decrypt multiple layers of obfuscation, leading to the Netwalker DLL being loaded into memory.[247]

S1147

Nightdoor

Nightdoor stores network configuration data in a file XOR encoded with the key value of 0x7A.[248]

S1100

Ninja

The Ninja loader component can decrypt and decompress the payload.[249][250]

S0353

NOKKI

NOKKI uses a unique, custom de-obfuscation technique.[251]

S9025

NOOPLDR

NOOPLDR can decrypt its payload prior to execution.[252]

S1170

ODAgent

ODAgent can Base64-decode and XOR decrypt received C2 commands.[253]

S1172

OilBooster

OilBooster can Base64-decode and XOR-decrypt C2 commands taken from JSON files.[253]

G0049

OilRig

A OilRig macro has run a PowerShell command to decode file contents. OilRig has also used certutil to decode base64-encoded files on victims.[254][182][255][256]

S0439

Okrum

Okrum's loader can decrypt the backdoor code, embedded within the loader or within a legitimate PNG file. A custom XOR cipher or RC4 is used for decryption.[257]

S0052

OnionDuke

OnionDuke can use a custom decryption algorithm to decrypt strings.[125]

S0264

OopsIE

OopsIE concatenates then decompresses multiple resources to load an embedded .Net Framework assembly.[255]

C0016

Operation Dust Storm

During Operation Dust Storm, attackers used VBS code to decode payloads.[258]

C0006

Operation Honeybee

During Operation Honeybee, malicious files were decoded prior to execution.[259]

C0005

Operation Spalax

For Operation Spalax, the threat actors used a variety of packers and droppers to decrypt malicious payloads.[260]

S0402

OSX/Shlayer

OSX/Shlayer can base64-decode and AES-decrypt downloaded payloads.[261] Versions of OSX/Shlayer pass encrypted and password-protected code to openssl and then write the payload to the /tmp folder.[262][263]

S0352

OSX_OCEANLOTUS.D

OSX_OCEANLOTUS.D uses a decode routine combining bit shifting and XOR operations with a variable key that depends on the length of the string that was encoded. If the computation for the variable XOR key turns out to be 0, the default XOR key of 0x1B is used. This routine is also referenced as the rotate function in reporting.[264]

S0598

P.A.S. Webshell

P.A.S. Webshell can use a decryption mechanism to process a user supplied password and allow execution.[122]

S1050

PcShare

PcShare has decrypted its strings by applying a XOR operation and a decompression using a custom implemented LZM algorithm.[75]

S9014

PHASEJAM

PHASEJAM has the ability to decode Base64 commands and data.[265]

S9028

PHPsert

PHPsert has the ability to decode and decrypt obfuscated strings prior to execution.[266]

S1145

Pikabot

Pikabot decrypts command and control URIs using ADVobfuscator, and decrypts IP addresses and port numbers with a custom algorithm.[267] Other versions of Pikabot decode chunks of stored stage 2 payload content in the initial payload .text section before consolidating them for further execution.[268] Overall LunarMail is associated with multiple encoding and encryption mechanisms to obfuscate the malware's presence and avoid analysis or detection.[269]

S0517

Pillowmint

Pillowmint has been decompressed by included shellcode prior to being launched.[270]

S1031

PingPull

PingPull can decrypt received data from its C2 server by using AES.[271]

S0501

PipeMon

PipeMon can decrypt password-protected executables.[272]

S1123

PITSTOP

PITSTOP can deobfuscate base64 encoded and AES encrypted commands.[63]

S0013

PlugX

PlugX decompresses and decrypts itself using the Microsoft API call RtlDecompressBuffer.[273][80][274] PlugX has also decrypted its payloads in memory.[275][276][244][245]

S0428

PoetRAT

PoetRAT has used LZMA and base64 libraries to decode obfuscated scripts.[277]

S0518

PolyglotDuke

PolyglotDuke can use a custom algorithm to decrypt strings used by the malware.[125]

S1173

PowerExchange

PowerExchange can decode and decrypt C2 commands received via email.[278]

S1012

PowerLess

PowerLess can use base64 and AES ECB decryption prior to execution of downloaded modules.[279]

S0223

POWERSTATS

POWERSTATS can deobfuscate the main backdoor code.[241]

S1046

PowGoop

PowGoop can decrypt PowerShell scripts for execution.[238][280]

S0279

Proton

Proton uses an encrypted file to store commands and configuration values.[281]

S0613

PS1

PS1 can use an XOR key to decrypt a PowerShell loader and payload binary.[94]

S0147

Pteranodon

Pteranodon can decrypt encrypted data strings prior to using them.[282]

S1228

PUBLOAD

PUBLOAD has decoded its payload prior to execution.[276][243][79][283][47]

S0196

PUNCHBUGGY

PUNCHBUGGY has used PowerShell to decode base64-encoded assembly.[284]

S9019

PureCrypter

PureCrypter can decrypt downloaded resources and parse internal files to determine its settings.[285][158]

S1032

PyDCrypt

PyDCrypt has decrypted and dropped the DCSrv payload to disk.[286]

S0650

QakBot

QakBot can deobfuscate and re-assemble code strings for execution.[287][288][289]

S0269

QUADAGENT

QUADAGENT uses AES and a preshared key to decrypt the custom Base64 routine used to encode strings and scripts.[290]

S1076

QUIETCANARY

QUIETCANARY can use a custom parsing routine to decode the command codes and additional parameters from the C2 before executing them.[291]

S1148

Raccoon Stealer

Raccoon Stealer uses RC4-encrypted, base64-encoded strings to obfuscate functionality and command and control servers.[292][293]

S0565

Raindrop

Raindrop decrypted its Cobalt Strike payload using an AES-256 encryption algorithm in CBC mode with a unique key per sample.[294][295]

S0629

RainyDay

RainyDay can decrypt its payload via a XOR key.[296]

S0458

Ramsay

Ramsay can extract its agent from the body of a malicious document.[297]

S1212

RansomHub

RansomHub can use a provided passphrase to decrypt its configuration file.[298]

S1113

RAPIDPULSE

RAPIDPULSE listens for specific HTTP query parameters in received communications. If specific parameters match, a hard-coded RC4 key is used to decrypt the HTTP query paremter hmacTime. This decrypts to a filename that is then open, read, encrypted with the same RC4 key, base64-encoded, written to standard out, then passed as a response to the HTTP request.[299]

S1130

Raspberry Robin

Raspberry Robin contains several layers of obfuscation to hide malicious code from detection and analysis.[300]

S0495

RDAT

RDAT can deobfuscate the base64-encoded and AES-encrypted files downloaded from the C2 server.[301]

S1240

RedLine Stealer

RedLine Stealer has decoded its payload prior to execution.[302]

C0056

RedPenguin

During RedPenguin, UNC3886 used malware implants to deobfuscate incoming C2 messages and encoded archives.[303][304]

S0511

RegDuke

RegDuke can decrypt strings with a key either stored in the Registry or hardcoded in the code.[125]

S0375

Remexi

Remexi decrypts the configuration data using XOR with 25-character keys.[305]

S1219

REPTILE

The REPTILE launcher component can decrypt kernel module code from a file and load it into memory.[236]

S0496

REvil

REvil can decode encrypted strings to enable execution of commands and payloads.[306][307][308][309][310][311]

S0258

RGDoor

RGDoor decodes Base64 strings and decrypts strings using a custom XOR algorithm.[312]

S1222

RIFLESPINE

RIFLESPINE can deobfuscate encrypted files prior to execution on targeted hosts.[236]

S0448

Rising Sun

Rising Sun has decrypted itself using a single-byte XOR scheme. Additionally, Rising Sun can decrypt its configuration data at runtime.[313]

S1150

ROADSWEEP

ROADSWEEP can decrypt embedded scripts prior to execution.[74][314]

S9026

ROAMINGHOUSE

ROAMINGHOUSE can decode and drop a malicious ZIP file prior to execution.[315]

G0106

Rocke

Rocke has extracted tar.gz files after downloading them from a C2 server.[316]

S0270

RogueRobin

RogueRobin decodes an embedded executable using base64 and decompresses it.[317]

S0240

ROKRAT

ROKRAT can decrypt strings using the victim's hostname as the key.[318][319]

S1078

RotaJakiro

RotaJakiro uses the AES algorithm, bit shifts in a function called rotate, and an XOR cipher to decrypt resources required for persistence, process guarding, and file locking. It also performs this same function on encrypted stack strings and the head and key sections in the network packet structure used for C2 communications.[320]

S9037

RustyWater

RustyWater has used the WriteHexToFile function to transform an embedded hex string to the payload CertificationKit.ini.[321]

S1210

Sagerunex

Sagerunex uses a custom decryption routine to unpack itself during installation.[322]

S1018

Saint Bot

Saint Bot can deobfuscate strings and files for execution.[323]

S1168

SampleCheck5000

SampleCheck5000 can decode and decrypt command line strings and files received through C2.[183][253]

G0034

Sandworm Team

Sandworm Team's VBS backdoor can decode Base64-encoded data and save it to the %TEMP% folder. The group also decrypted received information using the Triple DES algorithm and decompresses it using GZip.[324][325]

S1085

Sardonic

Sardonic can first decrypt with the RC4 algorithm using a hardcoded decryption key before decompressing.[326]

S0461

SDBbot

SDBbot has the ability to decrypt and decompress its payload to enable code execution.[327][328]

S0596

ShadowPad

ShadowPad has decrypted a binary blob to start execution.[329]

S0140

Shamoon

Shamoon decrypts ciphertext using an XOR cipher and a base64-encoded string.[330]

C0058

SharePoint ToolShell Exploitation

During SharePoint ToolShell Exploitation, threat actors decrypted scripts prior to execution.[331]

S1019

Shark

Shark can extract and decrypt downloaded .zip files.[332]

S0546

SharpStage

SharpStage has decompressed data received from the C2 server.[333]

S0444

ShimRat

ShimRat has decompressed its core DLL using shellcode once an impersonated antivirus component was running on a system.[334]

S0589

Sibot

Sibot can decrypt data received from a C2 and save to a file.[146]

S0610

SideTwist

SideTwist can decode and decrypt messages received from C2.[335]

S0623

Siloscape

Siloscape has decrypted the password of the C2 server with a simple byte by byte XOR. Siloscape also writes both an archive of Tor and the unzip binary to disk from data embedded within the payload using Visual Studio’s Resource Manager.[336]

S0468

Skidmap

Skidmap has the ability to download, unpack, and decrypt tar.gz files .[337]

S1110

SLIGHTPULSE

SLIGHTPULSE can deobfuscate base64 encoded and RC4 encrypted C2 messages.[338]

S0226

Smoke Loader

Smoke Loader deobfuscates its code.[339]

S1086

Snip3

Snip3 can decode its second-stage PowerShell script prior to execution.[340]

C0024

SolarWinds Compromise

During the SolarWinds Compromise, APT29 used 7-Zip to decode their Raindrop malware.[294]

S0615

SombRAT

SombRAT can run upload to decrypt and upload files from storage.[94][132]

S0516

SoreFang

SoreFang can decode and decrypt exfiltrated data sent to C2.[341]

S0543

Spark

Spark has used a custom XOR algorithm to decrypt the payload.[342]

S9024

SPAWNCHIMERA

SPAWNCHIMERA has decoded a XOR encoded private key.[343]

S1140

Spica

Upon execution Spica can decode an embedded .pdf and write it to the desktop as a decoy document.[344]

S1232

SplatDropper

SplatDropper has decoded XOR encrypted payload.[93]

S0390

SQLRat

SQLRat has scripts that are responsible for deobfuscating additional scripts.[345]

S1030

Squirrelwaffle

Squirrelwaffle has decrypted files and payloads using a XOR-based algorithm.[346][347]

S0188

Starloader

Starloader decrypts and executes shellcode from a file called Stars.jps.[348]

S1227

StarProxy

StarProxy has decrypted network packets using a custom algorithm.[349]

S1112

STEADYPULSE

STEADYPULSE can URL decode key/value pairs sent over C2.[338]

S1200

StealBit

StealBit can deobfuscate loaded modules prior to execution.[208][350]

G1046

Storm-1811

Storm-1811 has distributed password-protected archives such as ZIP files during intrusions.[351]

S1183

StrelaStealer

StrelaStealer payloads have included strings encrypted via XOR.[352] StrelaStealer JavaScript payloads utilize Base64-encoded payloads that are decoded via certutil to create a malicious DLL file.[353][354]

S0603

Stuxnet

Stuxnet decrypts resources that are loaded into memory and executed.[355]

S0562

SUNSPOT

SUNSPOT decrypts SUNBURST, which was stored in AES128-CBC encrypted blobs.[356]

S9001

SystemBC

SystemBC has the ability to decrypt RC4 encrypted packets and to decode obfuscated data before C2 communication.[357] Additionally, SystemBC has decrypted its config file that was encoded with XOR and a hardcoded 40-byte key.[358]

S0663

SysUpdate

SysUpdate can deobfuscate packed binaries in memory.[172]

G0092

TA505

TA505 has decrypted packed DLLs with an XOR key.[359]

S0011

Taidoor

Taidoor can use a stream cipher to decrypt stings used by the malware.[360]

G0139

TeamTNT

TeamTNT has used a script that decodes a Base64-encoded version of WeaveWorks Scope.[361]

S0560

TEARDROP

TEARDROP was decoded using a custom rolling XOR algorithm to execute a customized Cobalt Strike payload.[362][363][295]

S1223

THINCRUST

THINCRUST can deobfuscate RSA encrypted C2 commands received through the DEVICEID cookie.[71]

G0027

Threat Group-3390

During execution, Threat Group-3390 malware deobfuscates and decompresses code that was encoded with Metasploit’s shikata_ga_nai encoder as well as compressed with LZNT1 compression.[364]

S0665

ThreatNeedle

ThreatNeedle can decrypt its payload using RC4, AES, or one-byte XORing.[365]

S1239

TONESHELL

TONESHELL has decoded its payload prior to execution.[79][366][283][349][367]

S0678

Torisma

Torisma has used XOR and Base64 to decode C2 data.[368]

S0266

TrickBot

TrickBot decodes the configuration data and modules.[369][370][371]

G0081

Tropic Trooper

Tropic Trooper used shellcode with an XOR algorithm to decrypt a payload. Tropic Trooper also decrypted image files which contained a payload.[372][373]

S0436

TSCookie

TSCookie has the ability to decrypt, load, and execute a DLL and its resources.[374]

S9034

Tsundere Botnet

Tsundere Botnet’s loader has decrypted obfuscated JavaScript files using the AES-256 CBC algorithm, a build-specific key, and initialization vector.[375][376]

S0647

Turian

Turian has the ability to use a XOR decryption key to extract C2 server domains and IP addresses.[377]

G0010

Turla

Turla has used a custom decryption routine, which pulls key and salt values from other artifacts such as a WMI filter or PowerShell Profile, to decode encrypted PowerShell payloads.[378]

S0263

TYPEFRAME

One TYPEFRAME variant decrypts an archive using an RC4 key, then decompresses and installs the decrypted malicious DLL module. Another variant decodes the embedded file by XORing it with the value "0x35".[379]

S1164

UPSTYLE

UPSTYLE encodes its main content prior to loading via Python as base64-encoded blobs.[380][381]

S0022

Uroburos

Uroburos can decrypt command parameters sent through C2 and use unpacking code to extract its packed executable.[382]

S0386

Ursnif

Ursnif has used crypto key information stored in the Registry to decrypt Tor clients dropped to disk.[383]

S0476

Valak

Valak has the ability to decode and decrypt downloaded files.[384][385]

S0636

VaporRage

VaporRage can deobfuscate XOR-encoded shellcode prior to execution.[49]

S0257

VERMIN

VERMIN decrypts code, strings, and commands to use once it's on the victim's machine.[386]

S0180

Volgmer

Volgmer deobfuscates its strings and APIs once its executed.[387]

G1017

Volt Typhoon

Volt Typhoon has used Base64-encoded data to transfer payloads and commands, including deobfuscation via certutil.[388]

S0670

WarzoneRAT

WarzoneRAT can use XOR 0x45 to decrypt obfuscated code.[389]

S0612

WastedLocker

WastedLocker's custom cryptor, CryptOne, used an XOR based algorithm to decrypt the payload.[390]

C0037

Water Curupira Pikabot Distribution

Water Curupira Pikabot Distribution used highly obfuscated JavaScript files as one initial installer for Pikabot.[391]

S0579

Waterbear

Waterbear has the ability to decrypt its RC4 encrypted payload for execution.[392]

S0515

WellMail

WellMail can decompress scripts received from C2.[393]

S0514

WellMess

WellMess can decode and decrypt data received from C2.[394][395][396]

S0689

WhisperGate

WhisperGate can deobfuscate downloaded files stored in reverse byte order and decrypt embedded resources using multiple XOR operations.[397][398]

S0466

WindTail

WindTail has the ability to decrypt strings using hard-coded AES keys.[399]

S0430

Winnti for Linux

Winnti for Linux has decoded XOR encoded strings holding its configuration upon execution.[400]

S0141

Winnti for Windows

The Winnti for Windows dropper can decrypt and decompresses a data blob.[401]

G1035

Winter Vivern

Winter Vivern delivered exploit payloads via base64-encoded payloads in malicious email messages.[402]

S1115

WIREFIRE

WIREFIRE can decode, decrypt, and decompress data received in C2 HTTP POST requests.[403]

G0090

WIRTE

WIRTE has used Base64 to decode malicious VBS script.[404]

S1065

Woody RAT

Woody RAT can deobfuscate Base64-encoded strings and scripts.[405]

S0653

xCaon

xCaon has decoded strings from the C2 server before executing commands.[406]

S1207

XLoader

XLoader uses XOR and RC4 algorithms to decrypt payloads and functions.[407] XLoader can be distributed as a self-extracting RAR archive that launches an AutoIT loader.[408]

S1248

XORIndex Loader

XORIndex Loader can decode its payload prior to execution.[161]

S0388

YAHOYAH

YAHOYAH decrypts downloaded files before execution.[409]

S0251

Zebrocy

Zebrocy decodes its secondary payload and writes it to the victim’s machine. Zebrocy also uses AES and XOR to decrypt strings and payloads.[410][411]

S0230

ZeroT

ZeroT shellcode decrypts and decompresses its RC4-encrypted payload.[412]

S0330

Zeus Panda

Zeus Panda decrypts strings in the code during the execution process.[413]

G0128

ZIRCONIUM

ZIRCONIUM has used the AES256 algorithm with a SHA1 derived key to decrypt exploit code.[414]

S1013

ZxxZ

ZxxZ has used a XOR key to decrypt strings.[415]