追踪溯源:分析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恶意软件中识别出类似特征

代码相似性证据

  1. HTTP头部

    • 在各种攻击活动及恶意软件中发现
    • 与CASPER.CPP中的实现一致
    • 不同Lazarus样本反汇编结果匹配
  2. TrojUploader函数

    • 在casper_trojan.cpp中定义
    • 与TDrop样本中的实现一致
  3. API调用模式

    • 特殊调用方式:GetProcAddress(LoadLibrary("Kernel32.dll"), "GetProcAddress");
    • 在CASPER.CPP中定义
    • 出现在2014及2017年的Lazarus样本中
  4. 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
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)释放器 CasperTroy(2016)RAT C&C地址 共享代码的样本 TDrop f4b7b36e9c940937748d5bba3beb82b7c3636f084e5e913c7a5ad3ad623ffbc5 MYDOOM 1b6a1320fba00dd2e56e35cf6f11f941deabcb6e4dba7ea773ded7e3d648ec54 KoreDos 068b89e2ec5655d006f2788ea328e5f12bd57ba761ee03c4de2fb0aa01c92c7f DarkSeoul 4915f53221dc7786710a7a82a9cb00cf8468e0d1155a1355c9eb17e8cddfd265