ELF_PLEAD——BlackTech 黑客组织针对 Linux 的恶意软件

原文链接:https://blogs.jpcert.or.jp/en/2020/11/elf-plead.html

译者:知道创宇404实验室翻译组

前言

在过去的一篇文章中,我们介绍了Linux恶意软件ELF_TSCookie,它被一个攻击组织BlackTech使用。这个组织也使用其他影响Linux操作系统的恶意软件。我们之前介绍的Windows的PLEAD模块也有Linux版本(ELF_PLEAD)。本文将ELF_PLEAD模块与PLEAD模块进行了比较。

PLEAD模块和ELF_PLEAD的对比

ELF_PLEAD和PLEAD模块许多部分是共享代码的,并且包括通信在内的大多数功能都是相似的。图1显示了PLEAD模块和ELF_PLEAD的主要功能的比较。

图1:PLEAD模块和ELF_PLEAD的代码比较

(左:PLEAD,右:ELF_PLEAD)

从处理流程来看,这两种恶意软件非常相似。下面将从以下几个方面介绍ELF_PLEAD的特点:

  • Configuration
  • Communication protocol
  • Commands

Configuration

ELF_PLEAD具有大小为0x1AA的配置。图2是配置示例。它包含C&C服务器和加密密钥之类的信息。(有关配置的详细信息,请参阅附录A。)

图2:配置示例

该配置经过RC4加密,加密配置之前的32字节字符串是加密密钥本身。图3是加密配置及其密钥的示例。

图3:加密配置和加密密钥

Communication protocol

PLEAD模块使用HTTP协议与其C&C服务器通信,ELF_PLEAD使用其自定义协议。除此之外,他们的数据格式和交换加密密钥的方法几乎相同。图4描述了ELF_PLEAD执行的通信流。

图4:ELF_PLEAD的通信流

首次通信时,ELF_PLEAD交换RC4密钥的一部分。之后,由交换机生成的RC4密钥将用于随后的通信。发送的数据经过RC4加密,然后进行LZO压缩。(有关通信协议的详细信息,请参见附录B。)

Commands

ELF_PLEAD配备有5个命令组,如下所示。(有关命令功能的详细信息,请参见附录C。在某些示例中,命令编号可能会有所不同。)

  • CFileManager(组号0):用于文件操作的命令
  • CFileTransfer(组号1):用于发送/接收文件的命令
  • CRemoteShell(组号2):远程Shell的命令
  • CPortForwardManager(组号3):代理模式的命令
  • No name(组号0xFF):用于恶意软件控制的命令

图5:命令组名称

很明显,这些功能与PLEAD模块几乎相同。

总结

我们已经确认,BlackTech使用了针对Linux OS和Windows OS的各种恶意软件,包括TSCookie,PLEAD和KIVARS。如果您在Windows环境中发现了此类恶意软件,建议也检查Linux环境。

附录A:ELF_PLEAD配置

表A:配置

OffsetDescriptionRemarks
0x000RC4 KeyUsed for encrypting communication
0x004ID
0x024Port number 1
0x026Port number 2
0x028Port number 3
0x02AC&C server 1
0x0AAC&C server 2
0x12AC&C server 3

在某些示例中,配置格式可能会有所不同。

附录B:交换数据的内容

表B-1:发送数据的格式

OffsetLengthContents
0x004RC4 Key (Key4)
0x044Hash value
0x084RC4 key (Key1)
0x0C2Length of data sent
0x0E2Length of data at offset 0x10 before compression
0x10-Encrypted data (RC4 +LZO) (See Table A-2 for details.)

表B-2:加密数据的格式

OffsetLengthContents
0x0020xFF
0x024RC4 key (Key2)
0x06-Random data (at least 128 bytes)

表B-3:接收数据的格式

OffsetLengthContents
0x004RC4 key (Key4)
0x044Hash value
0x084RC4 key (Key1)
0x0C2Length of data sent
0x0E2Length of data at offset 0x10 before compression
0x10-Encrypted data (RC4 +LZO) (See Table A-4 for details.)

表B-4:接收到的数据中加密数据的格式

OffsetLengthContents
0x0020x01FF
0x024RC4 key (Key3)

附录C:ELF_PLEAD命令

表C-1:不带组名的命令(组号0xFF)

ValueContents
4Send random data
5Reconnect
6Restart
7End
8End
9Change socket
11Change C2 server

表C-2:CFileManager的命令(组号0)

ValueContents
32Send list of files
37Send file size, mode, timestamp
39Change file name
41Delete file/directory
43Upload file
45Execute file
49Create directory
51Move file
53Delete directory

表C-3:CFileTransfer的命令(组号1)

ValueContents
64Send file/directory information
67Create directory
70Download file
71Send file information
75Upload file

表C-4:CRemoteShell的命令(组号2)

ValueContents
80Launch remote shell

表C-5:CPortForwardManager的命令(组号3)

ValueContents
96Set up proxy
100Connect proxy
102Send proxy data
104-
106-
108End proxy

附录D:C&C服务器

mx.msdtc.tw

附录E:恶意软件哈希值

  • 5b5f8c4611510c11d413cb2bef70867e584f003210968f97e0c54e6d37ba8d8d
  • ca0e83440b77eca4d2eda6efd9530b49ffb477f87f36637b5e43f2e428898766

以上是 ELF_PLEAD——BlackTech 黑客组织针对 Linux 的恶意软件 的全部内容, 来源链接: utcz.com/p/199778.html

回到顶部