ESET researchers have found Hodur, a beforehand undocumented Korplug variant unfold by Mustang Panda, that makes use of phishing lures referencing present occasions in Europe, together with the invasion of Ukraine
ESET researchers found a still-ongoing marketing campaign utilizing a beforehand undocumented Korplug variant, which they named Hodur attributable to its resemblance to the THOR variant beforehand documented by Unit 42 in 2020. In Norse mythology, Hodur is Thor’s blind half-brother, who’s tricked by Loki into killing their half-brother Baldr.
Key findings on this blogpost:
- As of March 2022, this marketing campaign remains to be ongoing and goes again to no less than August 2021.
- Recognized victims embrace analysis entities, web service suppliers, and European diplomatic missions.
- The compromise chain consists of decoy paperwork which might be ceaselessly up to date and relate to occasions in Europe.
- The marketing campaign makes use of a customized loader to execute a brand new Korplug variant.
- Each stage of the deployment course of makes use of anti-analysis methods and control-flow obfuscation, which units it aside from different campaigns.
- ESET researchers present an in-depth evaluation of the capabilities and instructions of this new variant.
Victims of this marketing campaign are doubtless lured with phishing paperwork abusing the newest occasions in Europe similar to Russia’s invasion of Ukraine. This resulted in additional than three million residents fleeing the conflict to neighboring international locations, resulting in an unprecedented disaster on Ukraine’s borders. One of many filenames associated to this marketing campaign is State of affairs on the EU borders with Ukraine.exe.
Different phishing lures point out up to date COVID-19 journey restrictions, an accepted regional assist map for Greece, and a Regulation of the European Parliament and of the Council. The final one is an actual doc obtainable on the European Council’s web site. This reveals that the APT group behind this marketing campaign is following present affairs and is ready to efficiently and swiftly react to them.
Affected international locations:
- South Sudan
- South Africa
- Diplomatic missions
- Analysis entities
- Web service suppliers (ISPs)
Based mostly on code similarities and the numerous commonalities in Techniques, Methods, and Procedures (TTPs), ESET researchers attribute this marketing campaign with excessive confidence to Mustang Panda (often known as TA416, RedDelta, or PKPLUG). It’s a cyberespionage group primarily concentrating on governmental entities and NGOs. Its victims are largely, however not solely, positioned in East and Southeast Asia with a give attention to Mongolia. The group can also be identified for its campaign targeting the Vatican in 2020.
Whereas we haven’t been in a position to establish the verticals of all victims, this marketing campaign appears to have the identical concentrating on targets as different Mustang Panda campaigns. Following the APT’s typical victimology, most victims are positioned in East and Southeast Asia, together with some in European and African international locations. In keeping with ESET telemetry, the overwhelming majority of targets are positioned in Mongolia and Vietnam, adopted by Myanmar, with only some within the different affected international locations.
Mustang Panda’s campaigns ceaselessly use customized loaders for shared malware together with Cobalt Strike, Poison Ivy, and Korplug (often known as PlugX). The group has additionally been identified to create its personal Korplug variants. In comparison with different campaigns utilizing Korplug, each stage of the deployment course of makes use of anti-analysis methods and control-flow obfuscation.
This blogpost comprises an in depth evaluation of this beforehand unseen Korplug variant used on this marketing campaign. This exercise is a part of the identical marketing campaign recently covered by Proofpoint, however we offer further historic and concentrating on data.
Mustang Panda is understood for its elaborate customized loaders and Korplug variants, and the samples used on this marketing campaign showcase this completely.
Compromise chains seen on this marketing campaign comply with the standard Korplug sample: a professional, validly signed, executable weak to DLL search-order hijacking, a malicious DLL, and an encrypted Korplug file are deployed on the goal machine. The executable is abused to load the module, which then decrypts and executes the Korplug RAT. In some instances, a downloader is used first to deploy these recordsdata together with a decoy doc. This course of is illustrated in Determine 2.
What units this marketing campaign aside is the heavy use of control-flow obfuscation and anti-analysis methods at each stage of the deployment course of. The next sections describe the conduct of every stage and take a deeper have a look at the protection evasion methods utilized in every of them.
We haven’t been in a position to observe the preliminary deployment vector, however our evaluation factors to phishing and watering gap assaults as doubtless vectors. In situations the place we noticed a downloader, the filenames used counsel a doc with an attention-grabbing topic for the goal. Such examples embrace:
- COVID-19 journey restrictions EU evaluations listing of third international locations.exe
- REGULATION OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL.exe
- State of affairs on the EU borders with Ukraine.exe
To additional the phantasm, these binaries obtain and open a doc that has the identical title however with a .doc or .pdf extension. The contents of those decoys precisely replicate the filename. As proven in Determine 3, no less than one in all them is a publicly accessible professional doc from the European Parliament.
Though its complexity has elevated over the course of the marketing campaign, the downloader is pretty easy. This enhance in complexity comes from further anti-analysis methods, which we cowl later on this part.
It first downloads 4 recordsdata over HTTPS: a decoy doc, a professional executable, a malicious module, and an encrypted Korplug file. The mixture of these final three elements to execute a payload through DLL side-loading is usually known as a trident and is a method generally utilized by Mustang Panda, and with Korplug loaders generally. Each the server addresses and file paths are hardcoded within the downloader executable. As soon as all the things is downloaded, and the decoy doc opened to distract the sufferer, the downloader makes use of the next command line to launch the professional executable:
cmd /c ping 126.96.36.199 -n 70&&”%temp%
This ping command each checks web connectivity and introduces a delay (by way of the -n 70 choice) earlier than executing the downloaded, professional executable.
The downloader makes use of a number of anti-analysis methods, lots of that are additionally used within the loader and ultimate payload. Further obfuscation has been added to new variations over the course of the marketing campaign with out in any other case altering their objective.
In early variations of the downloader, junk code and opaque predicates have been used to hinder evaluation, as proven in Determine 4, however the server and filenames are plainly seen in cleartext.
In later variations, the recordsdata on the server are RC4 encrypted, utilizing the bottom 10 string illustration of the file dimension as the important thing, after which hex-encoded. This course of is illustrated within the Python snippet under. The alternative operations are carried out client-side by the downloader to get better the plaintext recordsdata. That is doubtless accomplished to bypass network-level protections.
from Crypto.cipher import ARC4
key = “%d” % len(plaintext)
rc4 = ARC4.new(key)
cipher_content = rc4.encrypt(plaintext).hex().higher()
These variations exchange using cleartext strings with encrypted stack strings. They’re nonetheless hardcoded within the file, however the obfuscation surrounding them, and using completely different keys, makes it exhausting to decrypt them statically in an automatic method. This similar approach is used closely within the subsequent phases. Encrypted stack strings are additionally used to obfuscate calls to Home windows API capabilities.
First, the title of the goal perform is decrypted and handed to a perform. This perform obtains a pointer to the InMemoryOrderModuleList subject of the PEB (Process Environment Block). It then iterates over the loaded modules, passing every deal with to GetProcAddress together with the perform title till the goal perform is efficiently resolved. A part of this course of will be seen in Determine 5.
As is frequent with Korplug, the loader is a DLL that exploits a side-loading vulnerability in a professional, signed executable. We have now noticed many various functions being abused on this marketing campaign, as an illustration a weak SmadAV executable beforehand seen by Qurium in a campaign attributed to Mustang Panda that focused Myanmar.
The loader exports a number of capabilities. The precise listing varies relying on the abused software, however in all instances, solely one in all them does something of consequence. In the entire loaders we noticed, that is the exported perform with the best load tackle. All the opposite exports, and the library’s entry level, both return instantly or execute some do-nothing junk code. Many of those exports have names that encompass random lowercase letters and level to the identical tackle as proven in Desk 1.
Desk 1. Capabilities exported by a Hodur loader. The createSystemFontsUsingEDL export is the one which masses the ultimate malware stage on this model.
The loader perform obtains the listing from which the DLL is working utilizing GetModuleFileNameA and tries to open the encrypted Korplug file it comprises. That filename is hardcoded within the loader. It reads the file’s contents right into a domestically allotted buffer and decrypts it. The loader makes this buffer executable utilizing VirtualProtect earlier than calling into it at offset 0x00.
Home windows API perform calls are obfuscated with a special approach than that used within the downloader. Not like the loader, which comprises the names of its capabilities (as proven in Desk 1 above), solely the 64-bit hashes of the Home windows API perform calls are current within the binary. To resolve these capabilities, the loader traverses the export lists of all loaded libraries through the InMemoryOrderModuleList of the PEB. Every export’s title is hashed, then in comparison with the anticipated worth. The FNV-1a hash algorithm, just lately introduced again into the mainstream by the Sunburst backdoor, has beforehand been utilized by Mustang Panda, in Korplug loaders documented by XORHEX, to resolve GetProcAddress and LoadLibraryA, though it was not recognized by title in that evaluation. On this model, nonetheless, it’s used for all API capabilities.
Korplug (often known as PlugX) is a RAT utilized by a number of APT teams. Regardless of it being so broadly used, or maybe due to it, few studies extensively describe its instructions and the info it exfiltrates. Its performance will not be fixed between variants, however there does appear to exist a major overlap within the listing of instructions between the model we analyzed and different sources such because the Avira report from January 2020 and the plugxdecoder undertaking on GitHub.
As beforehand talked about, the variant used on this marketing campaign bears many similarities to the THOR variant, which is why now we have named it Hodur. The similarities embrace using the SoftwareCLASSESms-pu registry key, the identical format for C&C servers within the configuration, and use of the Static window class.
As anticipated for Korplug payloads, this stage is barely ever decrypted in reminiscence by the loader. Solely the encrypted model is written to disk in a file with a .dat extension.
Until acknowledged in any other case, all hardcoded strings mentioned on this part are saved as encrypted stack strings.
On this module, Home windows API capabilities are obfuscated by way of a mixture of the strategies utilized in earlier phases. LoadLibraryA and GetProcAddress are resolved through the FNV-1a hashing approach and stack strings are decrypted and handed to them to acquire the goal perform.
As soon as decrypted, the payload is a legitimate DLL that exports a single perform. In virtually all noticed samples from this marketing campaign, this perform is called StartProtect. Nonetheless, launching it immediately through this export or its entry level won’t execute the primary payload and the loading course of is sort of intricate.
As defined within the earlier part, the file is decrypted in reminiscence as a steady blob by the loader and the execution begins at offset 0x00. The PE header comprises shellcode, proven in Determine 6, that calls a selected offset that corresponds to the module’s single export.
This perform parses the PE blob in reminiscence and manually maps it as a library right into a newly allotted buffer. This consists of mapping the varied sections, resolving imports and, lastly, utilizing DLL_PROCESS_ATTACH to name the DLL entry level. As soon as once more, opaque predicates and junk code are used to obfuscate the aim of this perform.
The entry level of the correctly loaded library is then known as with the non-standard worth of 0x04 for the fdwReason parameter (solely values from 0x00 to 0x03 are currently defined). This particular worth is required to get it to execute its most important payload. This easy examine prevents the RAT from being trivially executed immediately with a generic instrument like rundll32.exe.
The backdoor first decrypts its configuration utilizing the string 123456789 as a repeating XOR key. As soon as decrypted, the configuration block begins with ########. The format of the configuration varies barely between samples, however all of them comprise no less than the next fields:
- Set up listing title. Additionally used because the title of the registry key created for persistence. This worth roughly corresponds to the title of the abused software with three random letters appended (e.g., FontEDLZeP or AdobePhotosGQp)
- Mutex title
- A worth that’s both a model or ID string
- Checklist of C&C servers. Every entry consists of IP tackle, port quantity, and a quantity indicating the protocol to make use of with that C&C
The backdoor then checks the trail from which it’s working utilizing GetModuleFileNameW. If this matches %userprofile% or %allusersprofile%, the RAT performance will probably be executed. In any other case, it would undergo the set up course of.
To put in itself, the malware creates the aforementioned listing below %allusersprofile%. Utilizing SetFileAttributesW, it’s then marked as hidden and system. The weak executable, loader module, and encrypted Korplug recordsdata are copied to the brand new listing.
Subsequent, persistence is established. Earlier samples achieved this by making a scheduled process to be run at boot through schtasks.exe. Newer samples add a registry entry to SoftwareMicrosoftWindowsCurrentVersionRun, attempting the HKLM hive first, then HKCU. This entry has the identical title because the set up listing with its worth set to the newly copied executable’s path.
As soon as persistence has been arrange, the malware launches the executable from its new location and exits.
The RAT performance of the Hodur variant used on this marketing campaign largely strains up with different Korplug variants, with some further instructions and traits. As now we have beforehand acknowledged, although, detailed analyses of Korplug instructions are few and much between, so we goal to supply such an evaluation within the hopes of aiding future analysts.
When on this mode, the backdoor iterates by way of the listing of C&C servers in its configuration till it reaches the top or receives an Uninstall command. For every of these servers, it processes instructions till it receives a Cease command or encounters an error.
Hodur’s preliminary handshake will be accomplished over HTTPS or TCP. That is decided by a price within the configuration for that specific C&C server. Subsequent communication is all the time accomplished over TCP utilizing a customized protocol that we describe on this part, together with the instructions that may be issued. Hodur makes use of sockets from the Home windows Sockets API (Winsock) that assist overlapped I/O.
Following the preliminary handshake, Hodur’s communications contain TCP messages that encompass a header, with the construction described in Desk 2, adopted by a message physique that’s normally compressed utilizing LZNT1 and all the time encrypted with RC4. Messages whose Command quantity header subject have the 0x10000000 bit set (people who comprise file contents for the ReadFile and WriteFile instructions, described in Desk 3) have encrypted however not compressed message our bodies. All encrypted message our bodies use the hardcoded key [email protected]#L$PH% with a four-byte random nonce (the worth at offset 0x00 within the header) appended to it.
Desk 2. Header format used for communication between the C&C and the backdoor
|0x00||Nonce||Random nonce appended to the RC4 key.|
|0x04||Command quantity||This subject signifies the command to run or the command that precipitated this response to be despatched.|
|0x08||Size of physique||Size of the message physique. It appears that evidently this subject isn’t checked by the shopper for messages from the C&C server.|
|0x0C||Command exit standing||The return or error worth of the command that was run. This subject will not be checked by the shopper in messages obtained from the C&C server.|
Hodur’s C&C message headers are transmitted within the clear, adopted by variably sized (the worth at offset 0x08 of the header) message our bodies. The format of the message physique varies per command, however as soon as decrypted and decompressed, values of variable size (like strings) are all the time at a message physique’s finish and their offset within the physique is saved as an integer within the corresponding message subject.
Just like the model described by Avira, Hodur has two teams of instructions – 0x1001 and 0x1002 – every with its personal handler. The C&C server can set which group to pay attention for by sending the corresponding ID because the command quantity when a shopper will not be already in one of many two modes. It’ll proceed to pay attention for a similar group till it receives the Cease command, or an error happens (together with receiving a message with an invalid Command quantity in its header).
The primary group, 0x1001, comprises instructions for managing the execution of the backdoor and doing preliminary reconnaissance on a newly compromised host. As these instructions take no arguments, messages despatched by the C&C server consist solely of the headers. Desk 3 comprises a listing of those instructions. The GetSystemInfo command is described in additional element under. Be aware that no command names are current within the RAT; they have been both taken from earlier analyses or supplied by us.
Desk 3. Instructions in group 0x1001
|ID||Title||Description||Knowledge in shopper response|
|0x1000||Ping||Despatched by the shopper when it begins listening for instructions from this group.||Between 0 and 64 random bytes|
|0x1001||GetSystemInfo||Get details about the system.||See Desk 4|
|0x1002||ListenThread||Begin a brand new thread that listens for group 0x1002 instructions.||None|
|0x1004||ResetConnection||Terminate with WSAECONNRESET.||N/A|
|0x1005||Uninstall||Delete persistence registry keys, take away itself and created folders.||None|
|0x1007||Cease||Set registry key SystemCurrentControlSetControlNetworkallow to 1 and exit.||N/A|
The GetSystemInfo command collects intensive details about the system, as detailed in Desk 4. If it doesn’t exist already, the SoftwareCLASSESms-puCLSID registry secret’s set to the present timestamp, attempting HKLM first then HKCU. The worth of this secret’s then despatched within the response.
Desk 4. Response physique format for the GetSystemInfo response
|0x00||Magic bytes 0x20190301||0x38||Suite masks|
|0x04||Consumer IP tackle of the C&C socket||0x3A||Product kind|
|0x08||Server IP tackle of the C&C socket||0x3C||0x01 if the method is working as WOW64|
|0x0C||RAM in KB||0x40||System time – 12 months|
|0x10||CPU clock fee in MHz||0x42||System time – month|
|0x14||Show width in pixels||0x44||Timestamp of first run (offset)|
|0x18||Show top in pixels||0x46||Service pack model string (offset)|
|0x20||Present tick rely||0x4A||Username (offset)|
|0x24||OS main model||0x4C||Laptop title (offset)|
|0x28||OS minor model||0x4E||Mutex title (offset)|
|0x2C||OS construct quantity||0x50||Unknown|
|0x30||OS platform ID||0x52||Checklist of machine IP addresses (offset)|
|0x34||Service pack main model||0x54||At all times two 0x00 bytes|
|0x36||Service pack minor model|
The 0x1002 group comprises instructions that present RAT performance, as detailed in Desk 5. A few of these take parameters supplied within the command’s message physique. The FindFiles command is described in additional element under. Once more, be aware that no command names are current within the RAT; they have been both taken from earlier analyses or supplied by us.
Desk 5. Instructions in group 0x1002
|ID||Title||Description||Knowledge in C&C request||Knowledge in shopper response|
|0x1002||Ping||Despatched by the shopper when it begins listening for instructions from this group.||N/A||None|
|0x3000||ListDrives||Checklist all mapped drives (A: to Z:) and their properties.
All 26 entries are despatched again in a single message physique. Drives that aren’t current have all fields set to 0x00.
|None||· Drive kind
· Whole dimension
· House obtainable to consumer
· Free house
· Quantity title (offset)
· File system title (offset)
|0x3001||ListDirectory||Checklist the contents of the required listing. The shopper sends one response message per entry.||Listing path||· Is a listing?
· File attributes
· File dimension
· Creation time
· Final write time
· Filename (offset)
· 8.3 filename (offset)
|0x3002||Despatched by the shopper when it has completed executing the ListDirectory command.||N/A||None|
|0x3004||ReadFile||Learn a file in chunks of 0x4000 bytes.||· Creation time
· Final entry time
· Final write time
· Has offset
· Offset in file
· File dimension
· File path
|0x10003005||Chunk of learn file knowledge.||N/A||Learn knowledge|
|0x10003006||Despatched by the shopper when it has completed executing the ReadFile command.||N/A||None|
|0x3007||WriteFile||Write to a file and restore earlier timestamp.
Creates guardian directories in the event that they don’t exist.
|· Creation time
· Final entry time
· Final write time
· Has offset
· Offset in file
· File path (offset)
|0x10003008||Despatched by the server with knowledge to jot down to the file.||Knowledge to jot down||N/A|
|0x10003009||Despatched by the server when the WriteFile operation is full.||None||N/A|
|0x300A||CreateDirectory||Create a listing.||Listing path||None|
|0x300B||CanReadFile||Attempt to open a file with learn permissions.||File path||None|
|0x300C||DesktopExecute||Execute a command on a hidden desktop.||Command line to execute||PROCESS_INFORMATION construction for the created course of.|
|0x300D||FileOperation||Carry out a file operation utilizing SHFileOperation.||· wFunc
· pFrom (offset)
· pTo (offset)
|0x300E||GetEnvValue||Get the worth of an atmosphere variable.||Atmosphere variable||Atmosphere variable worth.|
|0x300F||CreateProgramDataDir||Creates the listing %SYSTEMpercentProgramData, optionally with a subdirectory.||Subdirectory relative path (non-obligatory)||None|
|0x3102||FindFiles||Recursively search a listing for recordsdata matching a given sample.||· Beginning listing
· Search sample
|See response physique format in Desk 6.|
|0x7002||RemoteShell||Begin an interactive distant cmd.exe session.||None||None|
|0x7003||Results of the final command run.||N/A||Command output|
Ranging from the supplied listing, this command searches for recordsdata whose names match the given sample. This sample helps the identical wildcard characters because the Home windows FindFirstFile API. For every matching file, the shopper sends a response message with its physique within the format described in Desk 6.
Desk 6. Format of the response physique for the FindFiles command
|0x00||File attributes||0x24||Folder path (offset)|
|0x04||File dimension in bytes||0x26||Filename (offset)|
|0x0C||Creation time||0x28||8.3 filename (offset)|
|0x1C||Final write time|
One response message with an empty physique is distributed as soon as the search is accomplished.
The decoys used on this marketing campaign present as soon as extra how rapidly Mustang Panda is ready to react to world occasions. For instance, an EU regulation on COVID-19 was used as a decoy solely two weeks after it got here out, and paperwork in regards to the conflict in Ukraine began getting used within the days following the start of the launch of the invasion. This group additionally demonstrates a capability to iteratively enhance its instruments, together with its signature use of trident downloaders to deploy Korplug.
ESET Analysis now additionally affords non-public APT intelligence studies and knowledge feeds. For any inquiries about this service, go to the ESET Threat Intelligence web page.
|SHA-1||Filename||ESET detection title||Description|
|10AE4784D0FFBC9CD5FD85B150830AEA3334A1DE||N/A||Win32/Korplug.TC||Decrypted Korplug (dumped from reminiscence).|
|FDBB16B8BA7724659BAB5B2E1385CFD476F10607||N/A||Win32/Korplug.TB||Decrypted Korplug (dumped from reminiscence).|
|7E059258CF963B95BDE479D1C374A4C300624986||N/A||Win32/Korplug.TC||Decrypted Korplug (dumped from reminiscence).|
|39863CECA1B0F54F5C063B3015B776CDB05971F3||N/A||Win32/Korplug.TD||Decrypted Korplug (dumped from reminiscence).|
|0D5348B5C9A66C743615E819AEF152FB5B0DAB97||FontEDL.exe||clear||Weak professional Font File Generator executable.|
|C8F5825499315EAF4B5046FF79AC9553E71AD1C0||Silverlight.Configuration.exe||clear||Weak professional Microsoft Silverlight Configuration Utility executable.|
|D4FFE4A4F2BD2C19FF26139800C18339087E39CD||PowerDVDLP.exe||clear||Weak professional PowerDVD executable.|
|65898ACA030DCEFDA7C970D3A311E8EA7FFC844A||Symantec.exe||clear||Weak professional Symantec AntiVirus executable.|
|7DDB61872830F4A0E6BF96FAF665337D01F164FC||Adobe Inventory Pictures CS3.exe||clear||Weak professional Adobe Inventory Pictures executable.|
|C13D0D669365DFAFF9C472E615A611E058EBF596||COVID-19 journey restrictions EU evaluations listing of third international locations.exe||Win32/Agent_AGen.NJ||Downloader.|
|062473912692F7A3FAB8485101D4FCF6D704ED23||REGULATION OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL.exe||Win32/TrojanDownloader.Agent.GDL||Downloader.|
|58B6B5FD3F2BFD182622F547A93222A4AFDF4E76||PotPlayer.exe||clear||Weak professional executable.|
|locvnpt[.]com||103.79.120[.]66||2021-05-21||Obtain server. This area was beforehand utilized in a 2020 marketing campaign documented by Recorded Future.|
MITRE ATT&CK methods
This desk was constructed utilizing version 10 of the MITRE ATT&CK framework.
|Useful resource Improvement||T1583.001||Purchase Infrastructure: Domains||Mustang Panda has registered domains to be used as obtain servers.|
|T1583.003||Purchase Infrastructure: Digital Personal Server||Some obtain servers utilized by Mustang Panda seem like on shared internet hosting.|
|T1583.004||Purchase Infrastructure: Server||Mustang Panda makes use of servers that seem like unique to the group.|
|T1587.001||Develop Capabilities: Malware||Mustang Panda has developed customized loader and Korplug variations.|
|T1588.006||Get hold of Capabilities: Vulnerabilities||A number of DLL hijacking vulnerabilities are used within the deployment course of.|
|T1608.001||Stage Capabilities: Add Malware||Malicious payloads are hosted on the obtain servers.|
|Execution||T1059.003||Command and Scripting Interpreter: Home windows Command Shell||Home windows command shell is used to execute instructions despatched by the C&C server.|
|T1106||Native API||Mustang Panda makes use of CreateProcess and ShellExecute for execution.|
|T1129||Shared Modules||Mustang Panda makes use of LoadLibrary to load further DLLs at runtime. The loader and RAT are DLLs.|
|T1204.002||Consumer Execution: Malicious File||Mustang Panda depends on the consumer executing the preliminary downloader.|
|T1574.002||Hijack Execution Movement: DLL Aspect-Loading||The downloader obtains and launches a weak software so it masses and executes the malicious DLL that comprises the second stage.|
|Persistence||T1547.001||Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder||Korplug can persist through registry Run keys.|
|T1053.005||Scheduled Process/Job: Scheduled Process||Korplug can persist by making a scheduled process that runs on startup.|
|Protection Evasion||T1140||Deobfuscate/Decode Recordsdata or Info||The Korplug file is encrypted and solely decrypted at runtime, and its configuration knowledge is encrypted with XOR.|
|T1564.001||Disguise Artifacts: Hidden Recordsdata and Directories||Directories created throughout the set up course of are set as hidden system directories.|
|T1564.003||Disguise Artifacts: Hidden Window||Korplug can run instructions on a hidden desktop. A number of hidden home windows are used throughout the deployment course of.|
|T1070||Indicator Removing on Host||Korplug’s uninstall command deletes registry keys that retailer knowledge and supply persistence.|
|T1070.004||Indicator Removing on Host: File Deletion||Korplug can take away itself and all created directories.|
|T1070.006||Indicator Removing on Host: Timestomp||When writing to a file, Korplug units the file’s timestamps to their earlier values.|
|T1036.004||Masquerading: Masquerade Process or Service||Scheduled duties created for persistence use legitimate-looking names.|
|T1036.005||Masquerading: Match Official Title or Location||File and listing names match anticipated values for the professional app that’s abused by the loader.|
|T1112||Modify Registry||Korplug can create, modify, and take away registry keys.|
|T1027||Obfuscated Recordsdata or Info||Some downloaded recordsdata are encrypted and saved as hexadecimal strings.|
|T1027.005||Obfuscated Recordsdata or Info: Indicator Removing from Instruments||Imports are hidden by dynamic decision of API perform names.|
|T1055.001||Course of Injection: Dynamic-link Library Injection||Some variations of the Korplug loader inject the Korplug DLL right into a newly launched course of.|
|T1620||Reflective Code Loading||Korplug parses and masses itself into reminiscence.|
|Discovery||T1083||File and Listing Discovery||Korplug can listing recordsdata and directories together with their attributes and content material.|
|T1082||System Info Discovery||Korplug collects intensive details about the system together with uptime, Home windows model, CPU clock fee, quantity of RAM and show decision.|
|T1614||System Location Discovery||Korplug retrieves the system locale utilizing GetSystemDefaultLCID.|
|T1016||System Community Configuration Discovery||Korplug collects the system hostname and IP addresses.|
|T1016.001||System Community Configuration Discovery: Web Connection Discovery||The downloader pings Google’s DNS server to examine web connectivity.|
|T1033||System Proprietor/Consumer Discovery||Korplug obtains the present consumer’s username.|
|T1124||System Time Discovery||Korplug makes use of GetSystemTime to retrieve the present system time.|
|Assortment||T1005||Knowledge from Native System||Korplug collects intensive knowledge in regards to the system it’s working on.|
|T1025||Knowledge from Detachable Media||Korplug can gather metadata and content material from all mapped drives.|
|T1039||Knowledge from Community Shared Drive||Korplug can gather metadata and content material from all mapped drives.|
|Command and Management||T1071.001||Software Layer Protocol: Net Protocols||Korplug could make the preliminary handshake over HTTPS.|
|T1095||Non-Software Layer Protocol||C&C communication is completed over a customized TCP-based protocol.|
|T1573.001||Encrypted Channel: Symmetric Cryptography||C&C communication is encrypted utilizing RC4.|
|T1008||Fallback Channels||The Korplug configuration comprises fallback C&C servers.|
|T1105||Ingress Software Switch||Korplug can obtain further recordsdata from the C&C server.|
|T1571||Non-Commonplace Port||When Hodur performs its preliminary handshake over HTTPS, it makes use of the identical port (specified within the configuration) as for the remainder of the communication.|
|T1132.001||Knowledge Encoding: Commonplace Encoding||Korplug compresses transferred knowledge utilizing LZNT1.|
|Exfiltration||T1041||Exfiltration Over C2 Channel||Knowledge exfiltration is completed through the identical customized protocol used to ship and obtain instructions.|