翻译: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