Colin Mc Hugo

0 %
Colin Mc Hugo
Security Engineer Manager & CEO at Quantum Infinite Solutions Group Ltd.

Mustang Panda’s Hodur: Old tricks, new Korplug variant

April 17, 2022

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.

Determine 1. Nations affected by Mustang Panda on this marketing campaign

Affected international locations:

  • Mongolia
  • Vietnam
  • Myanmar
  • Greece
  • Russia
  • Cyprus
  • South Sudan
  • South Africa

Affected verticals:

  • Diplomatic missions
  • Analysis entities
  • Web service suppliers (ISPs)

Evaluation

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.

Toolset

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.

Determine 2. Overview of the deployment course of for the Hodur Korplug variant.

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.

Preliminary entry

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
  • State_aid__Commission_approves_2022-2027_regional_aid_map_for_Greece.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.

Determine 3. First web page of the decoy doc for the REGULATION OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL.exe downloader. It’s an actual doc obtainable on the European Council’s web site.

Downloader

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 8.8.8.8 -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.

Determine 4. Management movement obfuscation in early variations of the downloader

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.

Determine 5. Obfuscation of Home windows API calls within the downloader. The screenshot reveals a name to WriteFile, however the identical sample is used for all API capabilities.

Loader

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.

Title Ordinal Perform RVA
CreatePotPlayerExW 1 0x00007894
RunPotPlayer 2 0x000166A5
createSystemFontsUsingEDL 3 0x00016779
gGegcerhwyvxtkrtyawvugo 4 0x00007894
liucigvyworf 5 0x00007639
ojohjinbgdfqtcwxojeusoneslciyxtiyjuieaugadjpd 6 0x000077CA
soeevhiywsypipesxfhgxboleahfwvlqcqp 7 0x00007894
srkeqffanuhiuwahbmatdurggpffhbkcpukyxgxmosn 8 0x00007894
thggvmrv 9 0x00007701

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 backdoor

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.

Loading

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.

Determine 6. Shellcode within the PE header that calls the exported perform

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.

Set up

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.

RAT

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

Offset Discipline Description
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 SystemCurrentControlSetControl‌Networkallow 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

Offset Worth Offset Worth
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)
0x1C Default locale 0x48 Unknown
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)
None
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
· fFlags
· pFrom (offset)
· pTo (offset)
None
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

FindFiles command

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

Offset Worth Offset Worth
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.

Conclusion

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.

For any inquiries about our analysis printed on WeLiveSecurity, please contact us at [email protected]

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.

IoCs

SHA-1 Filename ESET detection title Description
69AB6B9906F8DCE03B43BEBB7A07189A69DC507B coreclr.dll Win32/Agent.ADMW Korplug loader.
10AE4784D0FFBC9CD5FD85B150830AEA3334A1DE N/A Win32/Korplug.TC Decrypted Korplug (dumped from reminiscence).
69AB6B9906F8DCE03B43BEBB7A07189A69DC507B coreclr.dll Win32/Agent.ADMW Korplug loader.
4EBFC035179CD72D323F0AB357537C094A276E6D PowerDVD18.exe Win32/Delf.UTN Korplug loader.
FDBB16B8BA7724659BAB5B2E1385CFD476F10607 N/A Win32/Korplug.TB Decrypted Korplug (dumped from reminiscence).
7E059258CF963B95BDE479D1C374A4C300624986 N/A Win32/Korplug.TC Decrypted Korplug (dumped from reminiscence).
7992729769760ECAB37F2AA32DE4E61E77828547 SHELLSEL.ocx Win32/Agent.ADMW Korplug loader.
F05E89D031D051159778A79D81685B62AFF4E3F9 SymHp.exe Win32/Delf.UTN Korplug loader.
AB01E099872A094DC779890171A11764DE8B4360 BoomerangLib.dll Win32/Korplug.TH Korplug loader.
CDB15B1ED97985D944F883AF05483990E02A49F7 PotPlayer.dll Win32/Agent.ADYO Korplug loader.
908F55D21CCC2E14D4FF65A7A38E26593A0D9A70 SmadHook32.dll Win32/Agent.ADMW Korplug loader.
477A1CE31353E8C26A8F4E02C1D378295B302C9E N/A Win32/Agent.ADMW Korplug loader.
52288C2CDB5926ECC970B2166943C9D4453F5E92 SmadHook32c.dll Win32/Agent.ADMW Korplug loader.
CBD875EE456C84F9E87EC392750D69A75FB6B23A SHELLSEL.ocx Win32/Agent.ADMW Korplug loader.
2CF4BAFE062D38FAF4772A7D1067B80339C2CE82 Adobe_Caps.dll Win32/Agent.ADMW Korplug loader.
97C92ADD7145CF9386ABD5527A8BCD6FABF9A148 DocConvDll.dll Win32/Agent.ADYO Korplug loader.
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.
2B5D6BB5188895DA4928DD310C7C897F51AAA050 log.dll Win32/Agent.ACYW Korplug loader.
511DA645A7282FB84FF18C33398E67D7661FD663 2.exe Win32/Agent.ADPL Korplug loader.
59002E1A58065D7248CD9D7DD62C3F865813EEE6 log.dll Win32/Agent.ADXE Korplug loader.
F67C553678B7857D1BBC488040EA90E6C52946B3 KINGSTON.exe Win32/Agent.ADXZ Korplug Loader.
58B6B5FD3F2BFD182622F547A93222A4AFDF4E76 PotPlayer.exe clear Weak professional executable.

Community

Area IP First seen Notes
103.56.53[.]120 2021‑06‑15 Korplug C&C
154.204.27[.]181 2020‑10‑05 Korplug C&C.
43.254.218[.]42 2021‑02‑09 Obtain server.
45.131.179[.]179 2020‑10‑05 Korplug C&C.
176.113.69[.]91 2021-04-19 Korplug C&C.
upespr[.]com 45.154.14[.]235 2022-01-17 Obtain server.
urmsec[.]com 156.226.173[.]23 2022‑02‑23 Obtain server.
101.36.125[.]203 2021-06-01 Korplug C&C.
185.207.153[.]208 2022‑02‑03 Obtain server.
154.204.27[.]130 2021-12-14 Korplug C&C.
92.118.188[.]78 2022-01-27 Korplug C&C.
zyber-i[.]com 107.178.71[.]211 2022-03-01 Obtain server.
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.

Tactic ID Title Description
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.

Posted in SecurityTags:
Write a comment