执行摘要
SolyxImmortal 是一种基于 Python 的 Windows 信息窃取恶意软件,将凭证盗窃、文档采集、键盘记录、屏幕监控和持久化集成到一个持续运行的单一植入体中。该恶意软件利用合法的系统API和广泛可用的第三方库,提取敏感用户数据并将其泄露到攻击者控制的Discord网络钩中。其设计强调隐蔽、可靠性和长期访问,而非快速执行或破坏性行为。通过完全在用户空间内运行,并依赖可信平台进行指令和控制,恶意软件降低了被立即检测的可能性,同时保持对用户活动的持续可见性。
引言
| 文件名 | Lethalcompany.py |
| 文件大小 | |
| 文件类型 | |
| 签名 | |
| MD5哈希 | 2690f7c685784fff006fe451fa3b154c |
| SHA 256 | 5a1b440861ef652cc207158e7e129f0b3a22ed5ef5d2ea5968e1d9eff33017bc |
| 首次出现时 | |
该恶意软件被实现为一个单体 Python 应用程序,旨在打包并运行在 Windows 系统上。一旦启动,它会建立持久性,发起多个并发的监控和收集线程,并在后台无限运行。该代码没有显示自我传播或横向移动的迹象;相反,它专注于最大化从单个被攻破端点收集数据。该威胁行为者的运营模型似乎偏向于持续监控、延迟聚合以及对高价值用户行为(如身份验证事件)的选择性警报。
静态分析
主要入口点与执行流程恶意软件在脚本被直接执行时开始运行,使用标准的 Python 入口点触发其主逻辑。这会启动中央控制器,快速建立持久化并启动多个后台线程,同时执行监控和数据收集。所有执行行为均为硬编码,无需命令行输入或外部配置。
核心控制器类所有恶意功能都封装在一个类中,作为中央执行和协调单元。该设计将环境发现、持久性、凭证盗窃、监控和外泄逻辑整合为统一对象。在初始化过程中,恶意软件会解析系统特定的路径,如临时目录和用户的首目录,这些路径随后用于暂停被盗数据和收集文档。
硬编码的命令与控制配置恶意软件将所有命令和控制参数静态嵌入源代码中。
使用了两个不同的 Discord webhook:一个专门用于结构化数据泄露(凭据、归档、日志),另一个保留用于截图传输。硬编码的Discord用户ID支持直接提及运营商,确保高价值事件能立即生成通知。缺乏加密或动态端点检索表明,Discord依赖其原生HTTPS安全性和声誉来规避基于网络的检测。
持久性机制持久性通过自我复制和基于注册表的自动运行配置实现。
恶意软件会将自己的可执行文件复制到用户 AppData 路径中看似无害的目录中,并将其重命名为类似合法 Windows 组件的名称。文件属性被修改为隐藏且受系统保护,降低了标准目录列表中的可见性。
通过在用户的运行键下注册自己,恶意软件确保每次用户登录时都能执行,无需管理员权限。
浏览器凭证盗窃与解密逻辑该恶意软件通过引用已知的配置文件目录路径,静态定义对多个基于 Chromium 的浏览器(Chrome、Edge、Brave 等)的支持。
为了解密存储的凭据,恶意软件会从本地状态文件中提取浏览器主加密密钥。
该过程利用 Windows DPAPI,将成功的解密绑定到当前用户上下文。保存的登录条目可直接从浏览器SQLite数据库检索,并使用AES-GCM解密。
恢复的凭据在数据外泄前以明文格式汇总,表明未进行本地加密或混淆被盗数据。
文档与文件采集该恶意软件递归地枚举用户的首目录以查找感兴趣的文档。
文件根据扩展名和大小阈值进行过滤,避免了琐碎且过于庞大的文件。这种方法优先处理可能敏感的文档,同时最大限度地减少磁盘输入输出开销。
数据分阶段与压缩所有采集的工件,包括凭证、Cookie和文档,都被分阶段存放在系统TEMP路径下的临时工作目录中。
压缩既提升运营效率,也提升隐蔽性,减少网络传输规模,并将泄露整合为更少的出站请求。
按键记录模块按键捕获是通过持久的键盘监听器实现的。
捕获的按键会附加到内存缓冲区,而不是立即传输。专用的后台线程会定期提取缓冲数据,降低出站网络通信频率并降低检测风险。
主动窗口监控与屏幕捕捉恶意软件会持续监控当前的前景窗口,以推断用户活动上下文。窗口标题会与与认证、财务活动或账户访问相关的预定义关键词集进行比较。当检测到匹配时,恶意软件会截取截图并立即通过截图专用的 webhook 传输。
除了事件驱动的捕获外,常规截图还会在固定间隔拍摄,即使没有触发关键词,也能实现持续的视觉监控。
数据外流与清理逻辑所有数据外流均通过 HTTPS POST 请求对 Discord webhook 进行。
成功传输后,恶意软件会删除收集过程中使用的所有临时文件和目录。
这种清理程序减少了残留的法医伪影,并限制了事后分析的证据。
动态分析
初始执行与进程行为
执行时,恶意软件启动时不会显示任何可见的用户界面或控制台输出。该进程从当前用户的上下文开始,并立即过渡到后台作。不会创建子窗口或对话框,执行会静默继续。在早期运行时,进程分配内存并初始化用于跟踪用户活动、按键和预留路径的内部状态变量。
运行时观察到的持久性活动恶意软件通过将自己复制到用户 AppData 文件夹内新创建的子目录,并将文件重命名为类似合法 Windows 组件来建立持久性。复制的可执行文件被标记为隐藏并系统保护,以降低可见性。然后将该文件注册到当前用户的运行注册表键下,确保后续登录自动执行,无需提升权限或用户交互。
凭据和文件提取活动该恶意软件收集浏览器数据,包括保存的密码,以及敏感用户文件,如DOC、TXT、PDF和Excel文档。所有采集的数据都会在本地分阶段,合并为压缩后的ZIP档案,并通过硬编码的Webhook端点使用HTTPS POST请求,将数据传输到攻击者控制的Discord服务器。通过滥用Discord的合法基础设施,该恶意软件实现了无缝数据传输,同时降低了网络检测的可能性。
按键记录行为在执行早期建立持久键盘钩子。当用户与系统交互时,按键信息会被捕获并存储在内存缓冲区中。特殊按键如回车键、退格键和修饰键被转换为可读的表示,而非原始扫描码。
按键数据不会立即传输。相反,后台线程会定期检查缓冲区,并在固定时间间隔内发送累计的按键次数。传输后,缓冲区被清除,日志继续不中断。这种批处理行为降低了出站网络流量的频率。
主动窗口监控与基于截图的监控执行过程中,恶意软件被观察到监控当前前景窗口,并定期截屏,并针对敏感用户活动进行回应。截图文件被写入磁盘,并通过专用的Discord webhook被撤出,当检测到与身份验证或金融服务相关的活动时,会优先处理。
网络通信与C2所有观察到的出站通信都通过HTTPS(TLS 1.3)进行,并指向Discord的webhook端点。网络流量由包含文本数据或多部分文件上传的HTTPS POST请求组成。除了标准HTTPS传输外,负载不应用自定义加密或混淆。
清理与遗迹移除 在成功窃取数据后,恶意软件会删除用于存放收集数据的临时目录和文件。这种清理行为减少了磁盘上的残留取证伪影,同时允许恶意软件在后续执行周期中继续运行并收集新数据。
恶意软件在清理后不会自行卸载或终止;相反,它会无限期地持续监控和收集数据。
运行时稳定性与错误处理在整个动态分析过程中,恶意软件表现出稳定的执行。缺少浏览器、无法访问的文件或网络中断不会导致进程终止。异常程序被悄悄处理,使恶意软件即使在部分受限条件下也能继续运行。
缺乏明显的崩溃、错误对话框或高CPU使用率,进一步增强了恶意软件在长时间执行中的隐匿性。
外部威胁景观管理
通过开源情报收集和地下监控,我们发现分析的恶意软件样本最初是通过地下Telegram渠道分发的。该渠道通常与商品恶意软件、窃取者变种和基于构建者的工具共享相关。根据渠道内观察到的活动模式,它主要针对低至中等程度的威胁行为者,而非结构严密或高度组织化的犯罪集团。
对恶意软件代码库的进一步分析显示,存在多项语言、结构和作特征,暗示可能与土耳其语威胁行为者有关联。这些指标包括命名规范、文件伪影、可变使用模式以及此前在土耳其地下社区活动者工具中观察到的作设计选择。基于这些观察,归因于土耳其威胁行为者的归因被评估为中等信心,因为这些指标是间接证据,并非唯一确定性。
进一步情报收集发现,在地下渠道发现有符合这些特征的个人存在。这些渠道主要用于黑客行动主义者的协调、工具共享和机会主义网络活动,而非结构化的网络犯罪行动。行为者观察到的行为包括参与与数据泄露相关的讨论、基本入侵技术以及意识形态或注意力驱动的网络行动,这些都与被分析恶意软件的功能范围和成熟度相符。
基于Telegram的分发、以Discord为中心的基础设施滥用以及黑客行动主义者社区的重叠,表明该恶意软件很可能是针对机会主义数据盗窃和监控,而非针对性、经济动机驱动的活动。然而,其模块化设计和对广泛信任的第三方服务的依赖,使其能够被同一生态系统内的其他参与者轻松地重新利用或再分发。
从威胁格局的角度来看,本样本反映了中型威胁行为者利用现成平台和脚本语言部署有效监控工具而无需维护专用基础设施的更广泛趋势。虽然这并不代表高级持续威胁(APT)活动,但该恶意软件对个人用户和小型组织,尤其是在地下生态系统活跃的地区或社区,构成了可信的风险。
MITRE AT&CK 映射
| 战术 | 技术ID | 技巧/子技巧 |
| 处决 | | |
| 持久性 | | |
| 凭证访问 | | |
| 凭证访问 | | |
| 收藏 | | |
| 收藏 | | |
| 发现 | | |
| 外流 | | |
| 指挥与控制 | | |
| 防御规避/收款 | | |
推荐
战略建议
- 实施纵深防御控制,优先处理行为检测而非静态特征码。
- 限制或监控在非明确要求端点使用脚本语言(如Python)。
- 强制执行应用允许列表,以防止用户可写目录中执行未经授权的二进制文件。
- 监控并评估合法第三方平台(如Discord、Telegram)的命令与控制滥用情况。
- 整合地下威胁生态系统监控,以获得对新兴商品恶意软件和黑客行动工具的早期可见性。
战术建议
- 对来自用户可写路径(如 %AppData%、%LocalAppData% 和 %TEMP%)的进程执行发出警报。
- 监控进程访问浏览器凭证存储并调用Windows DPAPI进行解密活动。
- 监控指向基于webhook服务的出站HTTPS流量,尤其是由后台或非交互进程发起时。
运营建议
- 配置端点安全解决方案以监控和限制对浏览器凭证数据库的访问。
- 定期在用户配置文件目录中寻找伪装成合法系统组件的可执行文件。
- 查看网络日志,查找与文件创建事件相关的已知 webhook 服务的反复 HTTPS POST 请求。
- 确保事件响应团队在分诊和修复过程中验证持久性机制。
- 开展针对执行不可信脚本或非官方来源二进制文件风险的用户意识培训。
结论
该恶意软件代表了用户层面监控和数据盗窃的成熟例证,而非破坏性或明显的攻击性威胁。其对可信平台、标准库和用户空间持久性的依赖,体现了在持续从被攻破系统中提取价值的同时保持不被发现的意图。缺乏明显的反分析机制表明,在典型用户环境中,执行过程将不受干扰地进行。
从防御角度看,检测机会更多体现在行为指标而非签名上,尤其是对浏览器凭证存储的异常访问、屏幕捕捉和输入监控库的异常使用,以及非交互进程向第三方Webhook服务的出站流量。诸如应用允许列表、浏览器凭证保护和出站网络监控等预防性控制措施对于减轻此类威胁至关重要。