热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

翻译:Titan_Avenger预估稿费:200RMB(不服你也来投稿啊!)投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿背景我们在网上发现了一个有趣的 ELF 蠕虫,这可以帮助

https://img8.php1.cn/3cdc5/1ea6b/978/48614dd9a6e044e7.jpeg

翻译:Titan_Avenger

预估稿费:200RMB(不服你也来投稿啊!)

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


背景

我们在网上发现了一个有趣的 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, "263121137433%25423125346263EuUvI2610bcI_246262g273267
342C2433l327214R2152403000300,300(300$30024300n245243241237
kjih0090080070062102072062053002300.300*300&30017300523
5=005204300/300+300'300#30023300t244242240236g@?>0030
02001000232231230227EDCB3001300-300)300%300163004234<
/226A73002230010262320r300r3003n37710132016
'vtwitter.com'v4312n34322731343330322616r
vftnr 3661626351525341424331323321222317
1013t20vt'10http/1.1'25267
   :
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



推荐阅读
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 微软评估和规划(MAP)的工具包介绍及应用实验手册
    本文介绍了微软评估和规划(MAP)的工具包,该工具包是一个无代理工具,旨在简化和精简通过网络范围内的自动发现和评估IT基础设施在多个方案规划进程。工具包支持库存和使用用于SQL Server和Windows Server迁移评估,以及评估服务器的信息最广泛使用微软的技术。此外,工具包还提供了服务器虚拟化方案,以帮助识别未被充分利用的资源和硬件需要成功巩固服务器使用微软的Hyper - V技术规格。 ... [详细]
  • [转载]从零开始学习OpenGL ES之四 – 光效
    继续我们的iPhoneOpenGLES之旅,我们将讨论光效。目前,我们没有加入任何光效。幸运的是,OpenGL在没有设置光效的情况下仍然可 ... [详细]
  • 深入理解计算机系统之链接(一)
    程序是怎样运行的写好的c程序怎样运行的呢?答案是一个写好的程序要先经过语言预处理器,编译器,汇编器和链接器生成最后的可执行文件,然后加载器将可执行文件加载到内存中才能运行。这里以一 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 本文介绍了PHP常量的定义和使用方法,包括常量的命名规则、大小写敏感性、全局范围和标量数据的限制。同时还提到了应尽量避免定义resource常量,并给出了使用define()函数定义常量的示例。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
author-avatar
银杰声群当_993
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有