Lumma Stealer 深度逆向工程分析,该信息窃取器使用进程镂空、Native API 调用和 C2 通信。涵盖载荷提取、剪贴板劫持、键盘记录及 C2 域名识别。
对 setup.exe 投放器的 Process Hacker 内存分析显示,Lumma Stealer 针对隐私设置、安装驱动程序并管理内存。
Privacy Camera – 尝试访问或禁用摄像头隐私设置。Privacy Microphone – 尝试访问或禁用麦克风隐私设置。PreinstallDriver – 表明为持久化或规避而安装驱动程序。MapMemoryB0000 – 内存映射操作(可能用于注入)。PreinstallDriver 表明具有内核级访问权限。MapMemoryB0000 表明为注入而进行的内存操作。
显示 setup.exe 字符串(包含 Privacy Camera、Privacy Microphone、PreinstallDriver 和 MapMemoryB0000)的 Process Hacker 视图。
对 setup.exe 投放器的 Process Hacker 内存分析揭示了一组可能用于 C2 通信的域名。
zhtytomyr.ua – 潜在 C2 域名。pvt.k12.ma.us – 潜在 C2 域名。adobeaemcloud.com – 看似合法的域名(被滥用为 C2)。adobeaemcloud.net – 看似合法的域名(被滥用为 C2)。us-east-1.amazonaws.com – AWS 域名(被滥用为托管)。elasticbeanstalk.com – AWS Elastic Beanstalk(被滥用为托管)。alwaysdata.net – 托管服务商(被滥用为 C2)。altervista.org – 托管服务商(被滥用为 C2)。amazonaws.com 和 elasticbeanstalk.com 等域名被用于规避检测。
显示 setup.exe 中类似 C2 域名字符串的 Process Hacker 视图。
对从 dllhost.exe 中与 ALPC 相关字符串提取的 .bin 文件进行的 Binary Ninja 分析揭示了一个潜在的 C2 地址:Vagrancy.virus.cc。
Vagrancy.virus.cc – 潜在 C2 服务器。dllhost.exe(ALPC 字符串)的 .bin 转储中提取。NtConnectPort(进程间通信)一同发现。
显示从与 ALPC 相关的 .bin 数据中提取的 Vagrancy.virus.cc 的 Binary Ninja 视图。
对注入的 dllhost.exe 进程的 Process Hacker 内存分析显示,Lumma Stealer 使用带有 Native API 调用的进程镂空技术。
NtCreateThreadEx – 在远程进程中创建线程(注入)。NtWriteVirtualMemory – 向另一进程的内存写入数据。NtTerminateProcess – 终止进程(例如安全工具)。NtShutdownSystem – 关闭或重启系统。NtSetInformationProcess – 修改进程信息(规避)。NtAdjustPrivilegesToken – 调整令牌权限(提权)。NtSystemDebugControl – 执行系统调试操作。SetClipboardData – 操作剪贴板数据。dllhost.exe。NtAdjustPrivilegesToken 可实现更高访问权限。
显示 dllhost.exe 中 Native API(NtCreateThreadEx、NtWriteVirtualMemory 等)字符串的 Process Hacker 视图。
对从 dllhost.exe 提取的 .bin 文件进行的 Binary Ninja 分析显示,Lumma Stealer 具有剪贴板劫持和键盘记录功能。
SetClipboardData – 向剪贴板写入数据(劫持)。NtUserGetClipboardData – 从剪贴板读取数据。NtUserGetKeyState – 获取键盘状态(键盘记录)。NtUserGetAsyncKeyState – 获取异步按键状态(键盘记录)。NtUserPostThreadMessage – 发布线程消息(通信)。NtUserBlockInput – 阻止用户输入(规避)。NtUserSetWindowsHookEx – 设置 Windows 钩子(键盘记录)。NtUserMoveWindow – 移动窗口(UI 操作)。NtUserBlockInput 可冻结用户的输入。NtUserSetWindowsHookEx 可设置全局钩子。
显示 SetClipboardData、NtUserGetClipboardData 及键盘记录函数的 Binary Ninja 视图。
对注入的 dllhost.exe 进程的 Process Hacker 内存分析显示,Lumma Stealer 使用 ALPC、节区管理和驱动加载来实现通信与持久化。
NtAlpcSendWaitReceivePort – ALPC 通信(进程间通信)。NtConnectPort – 连接端口(可能是 C2 或系统)。NtCreateSection – 创建内存节区(用于代码注入)。NtOpenSection – 打开现有的内存节区。NtLoadDriver – 加载内核驱动程序(深度系统访问)。NtCreateThread – 创建线程(用于载荷执行)。NtCreateEvent – 创建事件对象(同步)。NtCreateMutant – 创建互斥体(避免重复执行)。NtCreateSection 和 NtOpenSection 用于注入。NtLoadDriver 提供深度系统访问。
显示 dllhost.exe 中 NtAlpcSendWaitReceivePort、NtCreateSection 和 NtLoadDriver 字符串的 Process Hacker 视图。
本次分析揭示了 Lumma Stealer,一种复杂的窃密木马,采用涉及投放器(setup.exe)和向 dllhost.exe 注入进程的多阶段感染链。
setup.exe): 包含与隐私相关的字符串(Privacy Camera、Privacy Microphone)、驱动安装(PreinstallDriver)以及 C2 域名候选(例如 zhtytomyr.ua、adobeaemcloud.com)。dllhost.exe): 使用带有 Native API(NtCreateThreadEx、NtWriteVirtualMemory)的进程镂空技术。NtAlpcSendWaitReceivePort)、节区管理(NtCreateSection)和驱动加载(NtLoadDriver)。SetClipboardData)和键盘记录(NtUserGetKeyState)。zhtytomyr.ua、adobeaemcloud.com、Vagrancy.virus.cc。dllhost.exe 中的 NtCreateThreadEx 和 NtWriteVirtualMemory 调用。NtAlpcSendWaitReceivePort 和 NtLoadDriver 的使用。SetClipboardData、NtUserGetKeyState)。所分析的 Lumma Stealer 样本可在 MalwareBazaar 上获取,供希望自行分析的研究人员使用:
🔗 MalwareBazaar 上的 Lumma Stealer 样本
使用的工具: Process Hacker、Binary Ninja、x64dbg
.bin 数据中提取的 Vagrancy.virus.cc。