
In-depth reverse engineering analysis of Lumma Stealer, an info-stealer using process hollowing, Native API calls, and C2 communication. Includes payload extraction, clipboard hijacking, keylogging, and C2 domain identification.
Process Hacker memory analysis of the setup.exe dropper reveals that Lumma Stealer targets privacy settings, installs drivers, and manages memory.
Privacy Camera – Attempts to access or disable camera privacy settings.Privacy Microphone – Attempts to access or disable microphone privacy settings.PreinstallDriver – Indicates driver installation for persistence or evasion.MapMemoryB0000 – Memory mapping operation (likely for injection).PreinstallDriver suggests kernel-level access.MapMemoryB0000 indicates memory manipulation for injection.
Process Hacker view showing setup.exe strings with Privacy Camera, Privacy Microphone, PreinstallDriver, and MapMemoryB0000.
Process Hacker memory analysis of the setup.exe dropper reveals a list of domains that are likely used for C2 communication.
zhtytomyr.ua – Potential C2 domain.pvt.k12.ma.us – Potential C2 domain.adobeaemcloud.com – Legitimate-looking domain (abused for C2).adobeaemcloud.net – Legitimate-looking domain (abused for C2).us-east-1.amazonaws.com – AWS domain (abused for hosting).elasticbeanstalk.com – AWS Elastic Beanstalk (abused for hosting).alwaysdata.net – Hosting provider (abused for C2).altervista.org – Hosting provider (abused for C2).amazonaws.com and elasticbeanstalk.com are used to evade detection.
Process Hacker view showing setup.exe strings with C2-like domains.
Binary Ninja analysis of the .bin file extracted from the ALPC-related strings in dllhost.exe reveals a potential C2 address: Vagrancy.virus.cc.
Vagrancy.virus.cc – Potential C2 server..bin dump of dllhost.exe (ALPC strings).NtConnectPort (inter-process communication).
Binary Ninja view showing Vagrancy.virus.cc extracted from ALPC-related .bin data.
Process Hacker memory analysis of the injected dllhost.exe process reveals that Lumma Stealer uses Process Hollowing techniques with Native API calls.
NtCreateThreadEx – Creates a thread in a remote process (injection).NtWriteVirtualMemory – Writes data into another process's memory.NtTerminateProcess – Terminates processes (e.g., security tools).NtShutdownSystem – Shuts down or reboots the system.NtSetInformationProcess – Modifies process information (evasion).NtAdjustPrivilegesToken – Adjusts token privileges (escalation).NtSystemDebugControl – Performs system debug operations.SetClipboardData – Manipulates clipboard data.dllhost.exe.NtAdjustPrivilegesToken enables higher access.
Process Hacker view showing dllhost.exe strings with Native APIs (NtCreateThreadEx, NtWriteVirtualMemory, etc.).
Binary Ninja analysis of the extracted .bin file from dllhost.exe reveals that Lumma Stealer has clipboard hijacking and keylogging capabilities.
SetClipboardData – Writes data to the clipboard (hijacking).NtUserGetClipboardData – Reads data from the clipboard.NtUserGetKeyState – Gets keyboard state (keylogging).NtUserGetAsyncKeyState – Gets async key state (keylogging).NtUserPostThreadMessage – Posts thread messages (communication).NtUserBlockInput – Blocks user input (evasion).NtUserSetWindowsHookEx – Sets Windows hooks (keylogging).NtUserMoveWindow – Moves windows (UI manipulation).NtUserBlockInput can freeze the user's input.NtUserSetWindowsHookEx can set global hooks.
Binary Ninja view showing SetClipboardData, NtUserGetClipboardData, and keylogging functions.
Process Hacker memory analysis of the injected dllhost.exe process reveals that Lumma Stealer uses ALPC, section management, and driver loading for communication and persistence.
NtAlpcSendWaitReceivePort – ALPC communication (inter-process communication).NtConnectPort – Connects to a port (likely C2 or system).NtCreateSection – Creates a memory section (for code injection).NtOpenSection – Opens an existing memory section.NtLoadDriver – Loads a kernel driver (deep system access).NtCreateThread – Creates a thread (for payload execution).NtCreateEvent – Creates an event object (synchronization).NtCreateMutant – Creates a mutex (to avoid duplicate execution).NtCreateSection and NtOpenSection are used for injection.NtLoadDriver provides deep system access.
Process Hacker view showing dllhost.exe strings with NtAlpcSendWaitReceivePort, NtCreateSection, and NtLoadDriver.
This analysis uncovered Lumma Stealer, a sophisticated info-stealer that uses a multi-stage infection chain involving a dropper (setup.exe) and process injection into dllhost.exe.
setup.exe): Contains privacy-related strings (Privacy Camera, Privacy Microphone), driver installation (PreinstallDriver), and C2 domain candidates (e.g., zhtytomyr.ua, adobeaemcloud.com).dllhost.exe): Uses Process Hollowing with Native APIs (NtCreateThreadEx, NtWriteVirtualMemory).NtAlpcSendWaitReceivePort), section management (NtCreateSection), and driver loading (NtLoadDriver).SetClipboardData) and keylogging ().zhtytomyr.ua, adobeaemcloud.com, Vagrancy.virus.cc.NtCreateThreadEx and NtWriteVirtualMemory calls in dllhost.exe.NtAlpcSendWaitReceivePort and NtLoadDriver usage.SetClipboardData, NtUserGetKeyState).The analyzed Lumma Stealer sample is available on MalwareBazaar for those who wish to conduct their own analysis:
🔗 Lumma Stealer Sample on MalwareBazaar
Tools Used: Process Hacker, Binary Ninja, x64dbg
NtUserGetKeyStateVagrancy.virus.cc extracted from ALPC-related .bin data.