Short Summary:
eSentire’s Threat Response Unit (TRU) reported on the detection of Go Injector leading to the execution of Lumma Stealer, a malware targeting sensitive data. The infection involved a fake captcha page tricking users into executing malicious PowerShell commands. The investigation revealed a sophisticated delivery method and highlighted the need for vigilance against such social engineering tactics.
Key Points:
- eSentire operates 24/7 SOCs with elite threat hunters and cyber analysts.
- TRU observed Go Injector leading to the execution of Lumma Stealer in August 2024.
- Lumma Stealer targets cryptocurrency wallets and sensitive data, operating as Malware-as-a-Service since August 2022.
- The infection chain began with a user visiting a malicious website displaying a fake captcha.
- Malicious PowerShell commands were used to download and execute malware.
- Go Injector performs a 3-step injection process to execute Lumma Stealer.
- Recommendations include awareness of social engineering tactics and monitoring for indicators of compromise.
MITRE ATT&CK TTPs – created by AI
- Execution – PowerShell (T1059.001)
- Used to execute a Base64 encoded command provided to the user via a fake captcha page.
- Execution – Command and Scripting Interpreter (T1059)
- PowerShell commands were executed to download and extract malicious payloads.
- Persistence – Infectious Software (T1055)
- Go Injector uses a process injection technique to execute Lumma Stealer.
- Credential Access – Credential Dumping (T1003)
- Lumma Stealer targets sensitive data including cryptocurrency wallets and 2FA browser extensions.
Adversaries don’t work 9-5 and neither do we. At eSentire, our 24/7 SOCs are staffed with Elite Threat Hunters and Cyber Analysts who hunt, investigate, contain and respond to threats within minutes.
We have discovered some of the most dangerous threats and nation state attacks in our space – including the Kaseya MSP breach and the more_eggs malware.
Our Security Operations Centers are supported with Threat Intelligence, Tactical Threat Response and Advanced Threat Analytics driven by our Threat Response Unit – the TRU team.
In TRU Positives, eSentire’s Threat Response Unit (TRU) provides a summary of a recent threat investigation. We outline how we responded to the confirmed threat and what recommendations we have going forward.
Here’s the latest from our TRU Team…
What did we find?
In August 2024, eSentire’s Threat Response Unit (TRU) observed Go Injector leading to the attempted execution of Lumma Stealer.
Lumma Stealer (aka LummaC2 Stealer) is an information stealing malware developed in the C programming language. It has been operating as Malware-as-a-Service (MaaS) in Russian-speaking forums since August 2022. Lumma Stealer targets cryptocurrency wallets, 2FA browser extensions, and other sensitive data on victims’ devices.
The infection chain began with the user navigating to a malicious website that displayed a fake captcha page. The page copies a Base64 encoded PowerShell command (Figure 1) to the users’ clipboard and provides instructions to execute it using the Windows Run keyboard shortcut as part of a “Verification Step” (Figure 2).
The file retrieved, as seen in the decoded PowerShell command from Figure 2, is named smart1. The smart1 file is a PE, Dialer.exe (Figure 3), which is used to masquerade as a legitimate application. By executing Dialer.exe with MSHTA all the non-HTML/script data is ignored, only executing the embedded script content within. The embedded script content can be observed when opening the smart1 file in a text editor.
When investigating the domain which served the smart1 file, we were able to identify an additional four files numbering from smart1 to smart5 which are likely used to deliver varying payloads.
Through decoding the HTA payload found within, VBScript code can be identified (Figure 4)
When decoding the VBScript code, an encoded PowerShell command is present. By beautifying the PowerShell command, code responsible for retrieving the archive file ‘smart1.zip’ to the Temp directory, extracting the contents and executing them, can be identified (Figure 5).
The contents of the ‘smart1.zip’ archive are mainly legitimate DLL files; however, the executable file present is Go Injector (0klevgrand.exe), a malware injection program written in the Go programming language (Figure 6).
Go Injector
Upon examining the 0klevgrand.exe executable, we can find references to the Go build ID and Inno Setup (Figure 7). The Inno Setup portion is a part of its manifest file which may have been placed to masquerade as an Inno setup utility.
When 0klevgrand.exe is executed, a few key steps are performed, including basic initial host data collection where the malware identifies the hostname, username, and temporary and public directories. Go Injector will then copy the encrypted PE data of size 0x4E000 to the allocated region of memory from its .rdata section (Figure 8). It then calls VirtualAlloc again to allocate another region of memory where the same encrypted PE data is copied over.
The Go Injector uses a 3-step injection process comprising of CreateProcess to create a BitLockerToGo.exe process in suspended mode, WriteProcessMemory to write the contents of the Lumma Stealer module in memory of the BitLockerToGo.exe process and ResumeThread to resume the execution of the BitLockerToGo.exe process which now has overwritten Lumma Stealer content (Figure 9).
The decrypted PE data of the Lumma Stealer module is shown below (MD5: E372BBE59DC7DA4FDAB393DA71404848) (Figure 10).
After copying over the PE data, Go Injector then allocates 0x4E000 bytes of memory to decrypt the final PE data of the payload using AES GCM decryption (Figure 11).
Lumma Stealer
On viewing the decrypted PE data using a disassembler, we see base64 like strings which are typical of Lumma Stealer (Figure 12).
Using our previous Lumma Decryptor with the new base64 like strings, we get the domains for the new samples.
The delivery method and the first stage injector indicate a possible Pay-Per-Install (PPI) service. During the investigation, the Threat Intelligence team was able to identify an almost identical execution of Go Injector on a public Joesandbox analysis report. In that incident the final payload appears to be another known malware dubbed StealC instead of Lumma Stealer (Figures 14 – 15).
What did we do?
Our 24/7 SOC Cyber Analysts investigated the suspicious activities, notified the client, and isolated the affected device.
What can you learn from this TRU Positive?
-
Fake captcha pages use a sophisticated social engineering tactic by mimicking legitimate verification pages to trick a user into running a malicious command on their device
- This approach allows the threat actors to break apart the child parent relationship that may be identified during analysis, making the activity appear to originate from the user and not the web browser
-
Lumma Stealer was the final payload outlined in the incident observed, although it is highly likely other malware variants may be loaded in future deliveries
- The final payload allows attackers to perform reconnaissance and steal sensitive data from an infected device
Recommendations from our Threat Response Unit (TRU):
Indicators of Compromise
You can access the indicators of compromise here.
Source: Original Post