追踪溯源:分析Lazarus恶意软件的起源
字数 1411 2025-08-19 12:42:34
Lazarus恶意软件起源分析教学文档
0x00 简介
Lazarus是一个来自朝鲜的攻击小组,其恶意软件工具集存在显著的代码重复使用模式。本教学文档将详细分析Lazarus恶意软件的起源及其与开源项目CasperPhpTrojan的关联。
0x01 研究背景
- McAfee和Intezer联合研究发现Lazarus小组长期重复使用代码
- 攻击者使用开源项目如CodeProject和Gh0st RAT
- 传统观点认为该代码最早由朝鲜创建,活跃于2007年至今
- 通过VirusTotal的Vaccine功能(Yara签名)发现2016年的样本
- 溯源发现朝鲜攻击者工具集起源于中文网站上的开源RAT:CasperPhpTrojan
0x02 CasperTroy分析
样本特征
- 与Lazarus组织的签名匹配
- 初始检测率仅为3/65
- 与Red Gambler存在代码重用现象(与AhnLab报告一致)
- 模块内部名称为DllTroy.dll,与Lazarus已知特征相关
字符串重用证据
- 在Operation Troy(2011年Lazarus攻击活动)和Prioxer工具中发现了重复字符串
- 搜索字符串"7d414e351603fa"仅返回7个结果,指向CasperPhpTrojan
0x03 CasperPhpTrojan来源分析
项目来源
- 源代码最初发布于中国开源项目网站pudn[.]com
- 研究人员下载、阅读并编译了整个代码
- 在Lazarus恶意软件中识别出类似特征
代码相似性证据
-
HTTP头部
- 在各种攻击活动及恶意软件中发现
- 与CASPER.CPP中的实现一致
- 不同Lazarus样本反汇编结果匹配
-
TrojUploader函数
- 在casper_trojan.cpp中定义
- 与TDrop样本中的实现一致
-
API调用模式
- 特殊调用方式:
GetProcAddress(LoadLibrary("Kernel32.dll"), "GetProcAddress"); - 在CASPER.CPP中定义
- 出现在2014及2017年的Lazarus样本中
- 特殊调用方式:
-
API解析过程
- 在casper_inject.cpp中定义
- 与各种Lazarus样本中的实现一致
0x04 总结
- Lazarus对CasperPhpTrojan进行了许多修改,但主要架构保持相同
- 在正确环境下使用正确标志编译时,可发现更多相关性
- 该恶意软件是攻击者工具集的基础
- 解释了Lazarus恶意软件间存在大量代码复用特征的原因
0x05 IOC(入侵指标)
CasperTroy(2016)释放器
458ffcc41959599f8dab1fd4366c9a50efefa376e42971c4a436aa7fd697a396d1cf03fbcb6471d44b914c2720821582fb3dd81cb543f325b2780a5e95046395
CasperTroy(2016)RAT
ec73fe2ecc2e0425e4aeb1f01581b50c5b1f8e85475c20ea409de798e6469608c62ec66e45098d2c41bfd7a674a5f76248cf4954225c2d3a2cfcd023daa93522926a2e8c2baa90d504d48c0d50ca73e0f400d565ee6e07ad6dafdd0d7b948b0e
C&C地址
http://ready-jetkorea[.]com/data/file/pop/write_ok.php
http://plsong[.]com/xe/addons/counter/conf/write_ok.php
共享代码的样本
- TDrop
f4b7b36e9c940937748d5bba3beb82b7c3636f084e5e913c7a5ad3ad623ffbc5 - MYDOOM
1b6a1320fba00dd2e56e35cf6f11f941deabcb6e4dba7ea773ded7e3d648ec54 - KoreDos
068b89e2ec5655d006f2788ea328e5f12bd57ba761ee03c4de2fb0aa01c92c7f - DarkSeoul
4915f53221dc7786710a7a82a9cb00cf8468e0d1155a1355c9eb17e8cddfd265