安全路透社
当前位置:安全路透社 > 安全客 > 正文

【技术分享】一个 ELF 蠕虫分析

http://p1.qhimg.com/t013fa4162a9fa5edfe.jpg

翻译:Titan_Avenger

预估


背景


我们在网上发现了一个有趣的 ELF 蠕虫,这可以帮助提高系统管理员的安全意识。这是个已知的 ELF 恶意软件,可能是 `Linux/PnScan` 的最新变种,在 x86-32 平台发现,从网络中受感染的结点到了我们手中。这个蠕虫针对嵌入式平台,我有点惊讶 i86 程序可以命中 Linux 目标。

在样本送到 MalwareMustDie ELF 分析团队之前,我在 2015 年 9 月 28 日发表过一篇讲述该威胁的[文章][1],我认为这种威胁现在已经消失了,但是我错了。因为恶意软件那时正处在蠕虫的感染阶段,硬编码指向 183.83.0.0,该恶意程序也是在此处被发现的。在此之前,我从来没有写过这种威胁,这是一个提高对活动蠕虫认识的好机会。


威胁指标


出于某种原因,我们不能告知你传染源来自哪里,但就存在于上面提到的 IP 段内。寻找一个受感染的主机非常困难,似乎恶意软件在绕着特定的网络兜圈子。

该文件具有以下特征:

Filename: 'stdin'(.pnscan.x86-32.mmd)
Type: 'ELF 32-bit LSB executable, Intel 80386' (GNU/Linux) statically linked, stripped
Packer: 'UPX (header bit  tweak) packed,'
Spotted: 'Tue Aug 23 12:27:21 UTC 2016'
md5:  '6fb6f95546d5bdf4db11655249ee5288'
sha1: '2d3e2ce680de6c13ab3236429efd4bca3bfaa79d'
According to VirusTotal it's firstly spotted months ago:
    'First submission 2016-01-27 05:26:45 UTC'

静态检测可知,使用了 UPX 壳:

ELF Header:          '↓typical packed one'
  Magic:   7f 45 4c 46 01 01 01 03 00 00 00 00 00 00 00 00
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - GNU
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           Intel 80386
  Version:                           0x1
 'Entry point address:               0xcfce38'
 'Start of program headers:          52 (bytes into file)'
  Start of section headers:          0 (bytes into file)
  Flags:                             0x0
' Size of this header:               52 (bytes)'
' Size of program headers:           32 (bytes)'
' Number of program headers:         2'
' Size of section headers:           40 (bytes)'

就像我在[其他文章][2]中解释的一样,这是一个典型的 UPX 头。

Type           Offset    VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x000000 '0x00c01000' 0x00c01000 0xfc661 0xfc661 R E 0x1000
  LOAD           0x000d68 '0x08290d68' 0x08290d68 0x00000 0x00000 RW  0x1000

原始二进制文件可以看出 UPX 的打包痕迹:

![1](https://lh3.googleusercontent.com/YekCRyfD4BBBVLnmzZY4UYc4002o2K06ZUbLvtRBP1lnBQHqLe0HDPh_TFXI0zFxYvCwPrSM1FIKmg=w853-h486-no)

该蠕虫使用了定制的 UPX 头部样式来逃避逆向分析和解码:

0x00000000  7f45 4c46 0101 0103 0000 0000 0000 0000  .ELF............
0x00000010  0200 0300 0100 0000 38ce cf00 3400 0000  ........8...4...
0x00000020  0000 0000 0000 0000 3400 2000 0200 2800  ........4. ...(.
0x00000030  0000 0000 0100 0000 0000 0000 0010 c000  ................
0x00000040  0010 c000 61c6 0f00 61c6 0f00 0500 0000  ....a...a.......
0x00000050  0010 0000 0100 0000'680d 0000 680d 2908' ........h...h.).
0x00000060  680d 2908 0000 0000 0000 0000 0600 0000  h.).............
0x00000070  0010 0000 22c0 e4b8 5550 5821 3408 0d0c  ...."...UPX!4...
0x00000080  0000 0000 783f 2400 783f 2400 9400 0000  ....x?$.x?$.....
0x00000090  5d00 0000 0800 0000 771f a4f9 7f45 4c46  ].......w....ELF
0x000000a0  0100 0200 0300 1b68 8104 fbaf bddf 0834  .......h.......4
0x000000b0  0ef8 3c24 2f16 2032 2800 1000 0f00 5b5c  ..<$/. 2(.....[\
0x000000c0  e59d 1d80 4607 c807 2200 0527 db76 7fcf  ....F..."..'.v..

有一些方法可以将其转换该 ELF 成原始形式,我会在这个案例处理完毕写一个如何做的文章。

我们有几种不同的方法来破解用定制 UPX 处理过的 ELF 程序。其中之一就曾经在分析 `xxx.pokemon(.)inc` 时用过,[文章][3]中提到这是一个 IRC DDoS 僵尸网络。另一种方法是通过不同的破解手段来实现脱壳,在 radare.org 的论坛上有公开的[分享文章][4]。

![2](https://lh3.googleusercontent.com/duPmCXCzsMk3yZgxwANVTC-1EsDNtlETg6f7B0b1GAaWGJm-QGmsw3r2hItXTYu0L2fr3eFNKRTvNw=w500-h500-no)

上面提到的教程方法都可以成功的破解这个 ELF。

在处理一个困难的 ELF 壳时,我对系统管理员 和 RCE 新手的忠告是:如果你认定了什么事儿,就按照设定的目标不断提高自己,保持耐心和勇气。永远记住,骗子不会变得比你更聪明,秉持这个信念你总会解决问题的!

Linux/PnScan 蠕虫细节

以下是 `Linux/PnScan` 蠕虫脱壳的细节,这段视频实际上是我给 CERT 和 IR 做的教程,指导其如何应付这种威胁。我使用 `radare` 来进行逆向分析,案例中有大量的编辑,有些删减掉了、有一部分出于安全考虑隐去了、也有无法解释的部分被跳过了。但是在视频中的全部内容都是可以公开的,如果你是一个 ISP 的 IR 或者在 CERT 工作,这个视频非常值得你观看!因为其他安全原因,有很多细节没有在这个[视频][5]中体现。

译者注:原作者提到该视频中段有可能会遇到无法加载的情况,原作者希望你可以通过重新加载页面来解决这个问题,而不要怪罪视频本身。

关于 r2 的一点

系统管理员和逆向分析爱好者在对 ELF 恶意软件进行静态分析时,我会强烈推荐 radare2(r2) 这个工具。我使用不同的工具完成不同的任务,比如 gdb、objdump、ELF utils 等小工具,但我用 r2 [时间最长][6],它永远不会在 UNIX Shell 中停止工作。MalwareMustDie 的团队成员每天都使用它作为 ELF 分析的工具。

简单的说,r2 可以在任何一个 *NIX 原生架构 Shell 环境中运行,甚至包括那些受感染的系统,这样对静态分析的帮助极大。它不仅仅是一个静态分析工具,它还允许你抽取重要的信息,以及支持丰富的指令,它的灵活、快速值得每一个人去体验尝试!

你可以通过这个[项目][7]和另一个[网站][8]来进一步了解 radare2。

继续我们的分析!

该 ELF 有下列依赖:

libc-2.13.so
ld-2.13.so

其使用 GCC(4.1.x) 编译工具链完成编译,并指明编译选项为启用 SSL 配置、面向 i686。看起来作者工作的桌面在加密磁盘 `/media/truecrypt1` 中,工作路径为 `/my/framework/`:

![3](https://lh3.googleusercontent.com/63PpWoS2rj8zOH3QImTEGZwqMXYY9otDi097L905m_iao_xU6cOSivf_W-NF2x10bNaoaVT9t0NkxQ=w724-h286-no)


工作综述


通过逆向分析,在这个 ELF 样本中没有发现什么新的功能,只在具体使用方法上存在差异,它针对 x86-32 平台,并且以印度的网络为目标。工具链使用了 i686 的编译选项是很奇怪的,但也显示出 x86-32 不是他唯一的目标平台。从感染的历史数据来看,2015 年 9 月发现了针对 MIPS 的版本。简单来看,该蠕虫并不仅仅针对物联网设备和 Linux 的嵌入式设备,对服务器、应用程序以及默认口令都有关注。

总结

1. fork 四次,算上主进程一共有 5 个

2. 在工作目录创建带有以下功能的文件

    permission size date         filename             function
    -----------------------------------------------    -----------------
    -rw-r--r--  387 Aug 23 12:06 list2                <-- connected hosts
    -rw-r--r--    4 Aug 23 12:02 MalwareFile.pid      <-- pids
    -rw-r--r--    0 Aug 23 12:02 daemon.log           <-- malware log
    -rw-r--r--   35 Aug 23 12:02 login2               <-- brute auth
    drwxr-xr-x 4096 Aug 23 12:02 files/               <-- updates/downloads/C2 data

3. 守护并监听 2 个 TCP 端口  

IPv4 TCP/*:9000 (for /check command and     /upload command's remote access)
IPv4 TCP/*:1337 (remote uptime or ping quick     check)

4. 最初攻击目标为 183.83.0.0/16(硬编码存储)

Country: 'India (Telangana, Kashmit region     network in India)'
For 'SSH services' in  port: 'TCP/22' (ssh)

5. 暴力破解   

    root:root
    admin:admin
    ubnt:ubnt

6. SSL 通信

通过 `HTTP/1.1` 对 `twitter.com、reddit.com、google.com、microsoft.com` 发起请求传送 SSL 流量。

write(113, "\26\3\1\2\0\1\0\1\374\3\3%\254\231\25\346\263EuU\vI\26\10bc\0I_\246\262g\273\267
\342C\24\33l\327\214R\215\0\0\240\3000\300,\300(\300$\300\24\300\n\0\245\0\243\0\241\0\237\0
k\0j\0i\0h\0009\0008\0007\0006\0\210\0\207\0\206\0\205\3002\300.\300*\300&\300\17\300\5\0\23
5\0=\0005\0\204\300/\300+\300'\300#\300\23\300\t\0\244\0\242\0\240\0\236\0g\0@\0?\0>\0003\00
02\0001\0000\0\232\0\231\0\230\0\227\0E\0D\0C\0B\3001\300-\300)\300%\300\16\300\4\0\234\0<\0
/\0\226\0A\0\7\300\22\300\10\0\26\0\23\0\20\0\r\300\r\300\3\0\n\0\377\1\0\0013\0\0\0\20\0\16
\0\0'\vtwitter.com'\0\v\0\4\3\0\1\2\0\n\0\34\0\32\0\27\0\31\0\34\0\33\0\30\0\32\0\26\0\16\0\r
\v\0\f\0\t\0\n\0\r\0 \0\36\6\1\6\2\6\3\5\1\5\2\5\3\4\1\4\2\4\3\3\1\3\2\3\3\2\1\2\2\2\3\0\17
\0\1\0013t\0\0\0\20\0\v\0\t'\10http/1.1'\0\25\0\267\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
   :
0\0\0\0\0\0\0", 517)

EmergingThreat Lab 提供了一个更清晰的 PCAP:

![4](https://lh3.googleusercontent.com/ElOldHOjoqyHVynB46AnFX4N29yZ_Kp2J7TE1CBrmIDmMNGO7a0arZbxrnCyP0asbtfC6PHqOO7Txw=w660-h909-no)

7. SSL 加密流量

该蠕虫通过向 SNS 网站发送加密的 SSL 请求来进行隐蔽通信,主要包括 twitter.com、reddit.com、microsoft.com、google.com、my.mail.ru 等网站,如同上面的视频中提到的,蠕虫会在 /files/ 下生成一个包含命令控制服务器 IP 和 端口的文件。如果你想测试与蠕虫进行通信,该蠕虫可以在 TCP/9000 端口响应知名的僵尸网络协议,TCP/1337 也是一个感染成功的标志。如果 TCP/9000 和 TCP/1337 端口都开放了,状态都是 ESTBLISHED,有很大可能性被感染了。

下面这个 PCAP 快照就是在感染初期阶段的一些请求:

启动连接

![5](https://lh3.googleusercontent.com/CqydxyjdCAMDYb6NGuGpff5kUSphiz1lR2y_J0NYEBFer34dRz73gDy3pBaYDQHLEVBE9Pk28YihVQ=w1234-h352-no)

客户端请求

![6](https://lh3.googleusercontent.com/_3XJCO_jevd6kAGCa7Jj3kyBq7mkR4wB-xeJ3gSbINGO0bPRQImhU8S6Qi3ZNW7JsKWa6reBIblJAg=w580-h128-no)

服务器应答

![7](https://lh3.googleusercontent.com/tvGjYpk30bb-2rfYTKVmN8uMt6xaHr8w7L88LWCBXPsls3p9lF4ENxapahkjt8SkvcYkNmjnCgANQQ=w580-h189-no)

没有成功建立连接,它将会重新尝试下一个,此时是 reddit.com

![8](https://lh3.googleusercontent.com/uH__1mMM6JJm2DDp0EnR4ztHPhUcxcLJ4qDDeVfs4570dXbCt3R8oD-L8m9gFkk2OU8b6kReLPrEnw=w580-h346-no)

蠕虫不断扫描、不断爆破的同时也在持续发送请求。直到蠕虫与控制服务器建立了连接,攻击者可以控制被感染设备才会停止活动。

这就是为什么在编译选项中使用了启用 SSL 选项,需要使用 Twitter、reddit 等 SNS 网站的 SSL 认证来传输数据以及进一步创建与控制服务器的连接。


感染症状


在感染的最初阶段,感染主机会发现如下进程运行:

stdin 2712 root  cwd    DIR        8,1     4096  131126 /test/
stdin 2712 root  rtd    DIR        8,1     4096       2 /
stdin 2712 root  txt    REG        8,1  1034309  131146 /test/stdin
stdin 2712 root    0u   REG        8,1        0  131171 /test/daemon.log
stdin 2712 root    1u   REG        8,1        0  131171 /test/daemon.log
stdin 2712 root    2u   CHR      136,0      0t0       3 /dev/pts/0
stdin 2712 root    3r  FIFO        0,8      0t0    6188 pipe
stdin 2712 root    4w  FIFO        0,8      0t0    6188 pipe
stdin 2712 root    5u  0000        0,9        0    1185 anon_inode
stdin 2712 root    6u  unix 0xcda07300      0t0    6191 socket
stdin 2712 root    7u  unix 0xce020d40      0t0    6192 socket
stdin 2712 root    8u  IPv4       6193      0t0     TCP *:9000 (LISTEN)
stdin 2712 root    9u  0000        0,9        0    1185 anon_inode
stdin 2712 root   10u  unix 0xce020ac0      0t0    6194 socket
stdin 2712 root   11u  unix 0xce020840      0t0    6195 socket
stdin 2712 root   12u  IPv4       6196      0t0     TCP *:1337 (LISTEN)

发起的攻击可以在网络连接中看出:

stdin 2712 root  13u  IPv4 6197  0t0 TCP x.x.x.x:40709->183.83.0.0:22 (SYN_SENT)
stdin 2712 root  14u  IPv4 6198  0t0 TCP x.x.x.x:37944->183.83.0.1:22 (SYN_SENT)
stdin 2712 root  15u  IPv4 6199  0t0 TCP x.x.x.x:35576->183.83.0.2:22 (SYN_SENT)
stdin 2712 root  16u  IPv4 6200  0t0 TCP x.x.x.x:41811->183.83.0.3:22 (SYN_SENT)
stdin 2712 root  17u  IPv4 6201  0t0 TCP x.x.x.x:43278->183.83.0.4:22 (SYN_SENT)
stdin 2712 root  18u  IPv4 6202  0t0 TCP x.x.x.x:37969->183.83.0.5:22 (SYN_SENT)
stdin 2712 root  19u  IPv4 6203  0t0 TCP x.x.x.x:39383->183.83.0.6:22 (SYN_SENT)
stdin 2712 root  20u  IPv4 6204  0t0 TCP x.x.x.x:38038->183.83.0.7:22 (SYN_SENT)
stdin 2712 root  21u  IPv4 6205  0t0 TCP x.x.x.x:35040->183.83.0.8:22 (SYN_SENT)
stdin 2712 root  22u  IPv4 6206  0t0 TCP x.x.x.x:59569->183.83.0.9:22 (SYN_SENT)
stdin 2712 root  23u  IPv4 6207  0t0 TCP x.x.x.x:50921->183.83.0.10:22 (SYN_SENT)
stdin 2712 root  24u  IPv4 6208  0t0 TCP x.x.x.x:36079->183.83.0.11:22 (SYN_SENT)
stdin 2712 root  25u  IPv4 6209  0t0 TCP x.x.x.x:35134->183.83.0.12:22 (SYN_SENT)
stdin 2712 root  26u  IPv4 6210  0t0 TCP x.x.x.x:59932->183.83.0.13:22 (SYN_SENT)
stdin 2712 root  27u  IPv4 6211  0t0 TCP x.x.x.x:35682->183.83.0.14:22 (SYN_SENT)
stdin 2712 root  28u  IPv4 6212  0t0 TCP x.x.x.x:57709->183.83.0.15:22 (SYN_SENT)

为了更精确的描述攻击的具体情况,下面是包含 PoC 的 PCAP 包记录[视频][9],数据太多所以视频只能将记录到的对 SSH 进行暴力扫描/破解过程的 3%。

如果有数十台甚至上百台受感染主机,你可以想象流量将会多么混乱。如果目标网络中七号有大量的 SSH 默认口令登录,攻击者就可以创建一个庞大的感染链。

每个已连接的目标都在 `list2` 文件中记录着:

0000  31 38 33 2e 38 33 2e 30  2e 33 33 3b 32 32 3b 0a  |183.83.0.33;22;.|
0010  31 38 33 2e 38 33 2e 30  2e 38 30 3b 32 32 3b 0a  |183.83.0.80;22;.|
0020  31 38 33 2e 38 33 2e 32  2e 32 36 3b 32 32 3b 0a  |183.83.2.26;22;.|
0030  31 38 33 2e 38 33 2e 32  2e 34 31 3b 32 32 3b 0a  |183.83.2.41;22;.|
0040  31 38 33 2e 38 33 2e 32  2e 31 31 30 3b 32 32 3b  |183.83.2.110;22;|
0050  0a 31 38 33 2e 38 33 2e  32 2e 32 31 30 3b 32 32  |.183.83.2.210;22|
0060  3b 0a 31 38 33 2e 38 33  2e 33 2e 32 32 3b 32 32  |;.183.83.3.22;22|
0070  3b 0a 31 38 33 2e 38 33  2e 33 2e 31 34 38 3b 32  |;.183.83.3.148;2|
0080  32 3b 0a 31 38 33 2e 38  33 2e 34 2e 39 33 3b 32  |2;.183.83.4.93;2|
0090  32 3b 0a 31 38 33 2e 38  33 2e 34 2e 31 35 36 3b  |2;.183.83.4.156;|
00a0  32 32 3b 0a 31 38 33 2e  38 33 2e 35 2e 31 36 3b  |22;.183.83.5.16;|
00b0  32 32 3b 0a 31 38 33 2e  38 33 2e 35 2e 32 30 36  |22;.183.83.5.206|
00c0  3b 32 32 3b 0a 31 38 33  2e 38 33 2e 36 2e 31 32  |;22;.183.83.6.12|
00d0  37 3b 32 32 3b 0a 31 38  33 2e 38 33 2e 37 2e 34  |7;22;.183.83.7.4|
00e0  33 3b 32 32 3b 0a 31 38  33 2e 38 33 2e 37 2e 31  |3;22;.183.83.7.1|
00f0  32 33 3b 32 32 3b 0a 31  38 33 2e 38 33 2e 37 2e  |23;22;.183.83.7.|
0100  31 38 37 3b 32 32 3b 0a  31 38 33 2e 38 33 2e 31  |187;22;.183.83.1|
0110  31 2e 35 31 3b 32 32 3b  0a 31 38 33 2e 38 33 2e  |1.51;22;.183.83.|
0120  31 31 2e 38 34 3b 32 32  3b 0a 31 38 33 2e 38 33  |11.84;22;.183.83|
0130  2e 31 31 2e 31 36 38 3b  32 32 3b 0a 31 38 33 2e  |.11.168;22;.183.|
0140  38 33 2e 31 32 2e 31 34  35 3b 32 32 3b 0a 31 38  |83.12.145;22;.18|
0150  33 2e 38 33 2e 31 32 2e  32 34 30 3b 32 32 3b 0a  |3.83.12.240;22;.|
0160  31 38 33 2e 38 33 2e 31  33 2e 31 36 32 3b 32 32  |183.83.13.162;22|
0170  3b 0a 31 38 33 2e 38 33  2e 31 34 2e 39 32 3b 32  |;.183.83.14.92;2|
0180  32 3b 0a                                          |2;.|

在 `login2` 的文件中可以发现爆破列表:

0000  72 6f 6f 74 3b 72 6f 6f  74 3b 0a 61 64 6d 69 6e  |root;root;.admin|
0010  3b 61 64 6d 69 6e 3b 0a  75 62 6e 74 3b 75 62 6e  |;admin;.ubnt;ubn|
0020  74 3b 0a                                          |t;.|
0023

主要的进程 PID 都存储在 `[MalwareFile].pid ` 中:

0000  32 37 31 32  |2712|
0004

威胁起源

对于其威胁来源,我和同事进行过讨论,处于安全原因,我不提他的身份了。

1. 编译痕迹

可以看出其使用了 Truecrytt 使用过的交叉编译工具,而且其工作目录运行在 Truecrypt 中也可以看出其与东欧网络骗子的一些活动有关。这些都暗示了这个威胁的起源:

0x8238ff8 102 101 OPENSSLDIR: "/media/truecrypt1/my/framework/../toolchains/cross-compiler-i686/i686-unknown-linux/ssl"
0x8248eac 96 95 /media/truecrypt1/my/framework/../toolchains/cross-compiler-i686/i686-unknown-linux/lib/engines
0x825e294 96 95 /media/truecrypt1/my/framework/../toolchains/cross-compiler-i686/i686-unknown-linux/ssl/private
0x825e2f4 88 87 /media/truecrypt1/my/framework/../toolchains/cross-compiler-i686/i686-unknown-linux/ssl
0x825e34c 94 93 /media/truecrypt1/my/framework/../toolchains/cross-compiler-i686/i686-unknown-linux/ssl/certs
0x825e3ac 97 96 /media/truecrypt1/my/framework/../toolchains/cross-compiler-i686/i686-unknown-linux/ssl/cert.pem

2.MY.MAIL.RU API 的使用

该蠕虫使用了俄罗斯最大的公共邮件服务 `mail.ru` 的 API,我们认为攻击者应该是讲俄语的,我们没有提到国家性质,这只能表明很大可能性攻击者定居在俄罗斯。攻击者知道如何使用 `my.mail.ru` 的特定子域名:

0x8220f7a 11 10 my.mail.ru
0x8220f85 20 19 https://%s/mail/%s/

缓解与检测方法


缓解办法

1. 确保你网络上的设备都不是 SSH 默认口令,如果可能不要使用 SSH 标准端口

2. 如果有一个主机与你的连接建立在 TCP/1337 和 TCP/9000 的基础上,你很有可能已经被感染了。如果你本地还有使用 TCP/9000 的程序在运行,就可以进一步确定,你可以在这个[网站][10]查看。

3. 如果你在 IDS/IPS 上发现了通过 SSL 加密发往那些 SNS 网站的数据包,而这些数据包恰好来自那些本不应该出现类似行为的设备,比如物联网设备。请务必查看 TCP/1337 和 TCP/9000 端口是否被利用,如果可以,进行脱机检查是必要的;如果已经被感染控制,最好重置固件然后更改 SSH 的默认端口和密码。

4. 对于服务器,清除该蠕虫并不困难。蠕虫在最初感染阶段并不具备 rootkit 能力,除非攻击者不再进行后门连接或者进一步对受害者的设备进行操作,检测活动目录并删除木马文件即可。在删除之前,快照一个网络进程列表,在修复过程中要断网操作。迄今为止这个蠕虫还没有表现出自启动的设计。

5. 只是为了确定你的系统是否危险不用保持离线。蠕虫会扫描 SSH 端口、尝试爆破才能感染。该蠕虫的感染速度非常快,在分析的短短几分钟内就有超过一百个节点被攻击了。一旦感染了蠕虫请立即脱机,极有可能是因为你的 IP 段内有设备受到了感染。

6. 可以给我留言联系进一步的协助,或者尝试与我们的 Twitter 账户(@malwaremustdie)进行沟通,我们将会尽我们所能帮助您。不过请耐心等待答复。

拦截签名

十分感谢 ETLab 帮助我们完善了 Snort 和 Suricata 开源规则来应对这种威胁。

![5](https://lh3.googleusercontent.com/ATVF4Z6t4YuJ3D3EXmQ4bVWMtedKEzqm75wIDnFvPoLkNyKwjyr8h8mwFG_NrKwIKp7fKuUkX_XzZA=w499-h389-no)

规则极其复杂,探测该蠕虫的网络活动:

2023087 - ET TROJAN PNScan.2 Inbound Status Check - set (trojan.rules)
2023088 - ET TROJAN PNScan.2 Inbound Status Check Response (trojan.rules)
2023089 - ET TROJAN PNScan.2 CnC Beacon (trojan.rules)
2023090 - ET TROJAN PNScan.2 CnC Beacon 2 (trojan.rules)

需要指出的是,这可能让你有点困惑,但是不要将它和 `Linux/PnScan.1` 混为一谈,他们的工作方式并不相同。另外这些威胁的命名是由宣布发现的第一个实体决定的。


结论、样本


这个蠕虫重新感染了 i86 的 Linux 机器,当该蠕虫攻陷了一个目标,就会扫描更多的目标。它可以在易受攻击的网络中肆意传播,感染数量呈指数级增长。我猜在过去的六个月中,位于俄罗斯的攻击者等待合适的时机来访问受感染的节点。

VirusTotal 上的[样本][11]


[原文地址][12]

  [1]: http://www.kernelmode.info/forum/viewtopic.php?f=16&t=3975&p=26827#p26827

  [2]: http://blog.malwaremustdie.org/2016/04/mmd-0053-2016-bit-about-elfstd-irc-bot.html

  [3]: http://blog.malwaremustdie.org/2016/04/mmd-0053-2016-bit-about-elfstd-irc-bot.html

  [4]: http://radare.org/

  [5]: https://youtu.be/58zr-1JU2OI

  [6]: http://blog.malwaremustdie.org/2012/09/slight-changes-in-shellcode-dropper.html

  [7]: https://github.com/radare/radare2/releases

  [8]: http://radare.org/con/

  [9]: https://youtu.be/IX6L7v8dXsk

  [10]: http://www.speedguide.net/port.php?port=9000

  [11]: https://www.virustotal.com/en/file/5685b086ce12ffede8814e303223a67eca476735dfe4e9e84b751354a5ea0232/analysis/1471967010/

  [12]: http://blog.malwaremustdie.org/2016/08/mmd-0054-2016-pnscan-elf-worm-that.html



原文链接:http://www.kernelmode.info/forum/viewtopic.php?f=16&t=3975&p=26827

未经允许不得转载:安全路透社 » 【技术分享】一个 ELF 蠕虫分析

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册