APT组织blacktech的PLEAD恶意软件分析

APT组织blacktech的PLEAD恶意软件分析_第1张图片
本文为原创文章,转载请注明出处!

翻译文章

原文链接为https://blog.jpcert.or.jp/2018/06/plead-downloader-used-by-blacktech.html

前言

在过去的一篇文章中,我们介绍了APT组织BlackTech使用的TSCookie恶意软件。据悉,该组织还使用了其他类型的恶意软件“PLEAD”。PLEAD有两类——RAT(远程访问工具)和Downloader(下载程序)。RAT的命令运行基于C&C服务器提供。(请参阅https://www.lac.co.jp/lacwatch/people/20180425_001625.html了解更多信息)另一方面,PLEAD Downloader的下载模块与TSCookie在内存上运行的方式如出一辙。本文详细介绍了PLEAD下载器的工作流程。


PLEAD Downloader的工作流程

首先PLEAD Downloader从某些站点下载经过RC4加密的模块。图1显示了从服务器下载的加密文件的示例。

APT组织blacktech的PLEAD恶意软件分析_第2张图片

下载文件的前20h是用于解码文件的RC4密钥。解码后,您可以找到模块(以下称为“PLEAD模块”),C&C服务器,加密密钥等。图2是解密文件的示例。

APT组织blacktech的PLEAD恶意软件分析_第3张图片

PLEAD下载程序加载PLEAD模块(包含在解密数据中)并执行它。该模块不会保存为文件,只会存在于内存中。以下部分将介绍PLEAD模块的详细信息。

PLEAD模块

PLEAD模块基于C&C服务器提供的命令运行。与C&C服务器之间的通信采用RC4加密,然后使用LZO进行压缩。RC4加密密钥是由其自身生成的密钥和从C&C服务器发送的密钥的组合。图3描述了PLEAD模块执行的通信流程。

APT组织blacktech的PLEAD恶意软件分析_第4张图片

PLEAD模块首先与C&C服务器共享RC4密钥。下面是在通信开始时发送的HTTP GET请求的示例。Cookie标头包含加密的RC4密钥。在Cookie标头中发送的数据中,“D”和“E”互换。有关数据格式,请参阅附录A中的表A-1和A-2。

GET /index.php?id=1577061168 HTTP/1.1

Cache-Control: no-cache

Accept: */*

Pragma: no-cache

Cookie: 800809D6411C6E2629001900A92309EB26192117C5A59F306E207A8993A2F20121FC3B42B6DF693838

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)

Host: [host name]

Connection: Keep-Alive

用于数据加密的RC4密钥长度为32字节,分为5个块(4字节* 4 + 16字节* 1)。密钥中的第一个块(图3中的Key1)包含在PLEAD模块的配置中。在HTTP GET请求中将第二个和第三个块(Key2和3)设置为0。第四个块(Key4)是随机生成的,并在URL中的“id”之后插入。第五个块(Key5)基于Key4值生成。

首先发送的数据包含Key2值。使用该值,接收方服务器会加密Key3值并将其发送到C&C服务器。数据格式在附录A的表A-3和A-4中描述。这样,生成RC4密钥并用于随后的通信。

下面是解码数据的Python脚本的一部分。

def decode(key1, key2, key3, key4, data, lzo_header):

   rc4_key = key1 + pack("III", key2, key3, key4)

   for i in xrange(4):

       key4 = ROR(key4 + 1, 5)

       rc4_key += pack("I", key4)

   dec = rc4(data, rc4_key)

   try:

       return lzo.decompress(lzo_header + dec)

   except:

       sys.exit("[!] Lzo decompress error.")

共享RC4密钥后,PLEAD模块使用HTTP POST请求发送有关受感染主机的信息。数据格式与附录A中的表A-1所示相同。

POST /index.php?id=2852129559 HTTP/1.1

Content-Type: application/x-www-form-urlencoded

Accept: */*

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)

Host: [host name]

Content-Length: [data size]

Connection: Keep-Alive

Cache-Control: no-cache

[data]

数据本身包含受感染主机的主机名,操作系统版本,IP地址,用户帐户名。图4是解码数据的示例。

APT组织blacktech的PLEAD恶意软件分析_第5张图片

之后,将从C&C服务器发送命令。PLEAD模块可以执行以下功能。

泄露文件列表

任意shell命令执行

上传/下载文件

文件操作 (有关命令的详细信息,请参阅附录B中的B-1)

结论

正如我们之前所描述的,该组织一直在使用各种恶意软件对日本境内进行攻击。由于这次攻击活动可能还会继续,JPCERT将密切关注相关消息。附录C中我们列出了本文中描述的样本的哈希值。最近确认的一些C&C服务器也列在附录D中。请确保您的设备都没有访问这些主机。

附录A PLEAD模块通信数据


APT组织blacktech的PLEAD恶意软件分析_第6张图片

附录B PLEAD模块命令

APT组织blacktech的PLEAD恶意软件分析_第7张图片

附录C样本的SHA-256哈希值

PLEAD

bc2c8cc9896cdd5816509f43cb5dca7433198251d754a997a70db7e8ed5cca40

a26df4f62ada084a596bf0f603691bc9c02024be98abec4a9872f0ff0085f940

2ddb2030ab3373b9438102b541aa4623b7dfee972850dcef05742ecbe8982e22

eec3f761f7eabe9ed569f39e896be24c9bbb8861b15dbde1b3d539505cd9dd8d

PLEAD模块

23f554cc5bea9d4ccd62b0bbccaa4599f225ebce4ad956a576cc1a9b2a73dc15

附录D C&C服务器列表

em.totalpople.info 

office.panasocin.com 

gstrap.jkub.com 

woc.yasonbin.info 

210.71.209.206





文章仅用于普及网络安全知识,提高小伙伴的安全意识的同时介绍常见漏洞的特征等,若读者因此做出危害网络安全的行为后果自负,与合天智汇以及原作者无关,特此声明。

你可能感兴趣的:(APT组织blacktech的PLEAD恶意软件分析)