今年初,黑客组织TeamTNT使用XMRig 加密货币挖矿机攻击了暴露的Docker API。随着时间的发展,研究人员发现TeamTNT 在不断扩展其功能,并从AWS 窃取SSH 凭证。本文分析TeamTNT 最新的攻击活动中使用攻击者组织中自己的IRC。该IRC bot是TNTbotinger,具有DDoS 攻击能力。
为成功实现攻击,攻击者首先需要在目标机器上执行远程代码执行。恶意攻击者额可以通过错误配置、滥用未修复的漏洞、利用弱口令、重用密码、泄露的凭证等安全漏洞来实现远程代码执行。
技术分析
初始的传播是通过运行在受害者机器上的一个恶意shell脚本。该shell脚本会检查/dev/shm/.alsp 文件的存在,这也是机器是否被入侵的一个标志。如果该文件没有被找到,脚本就会开始工作。
图 1. 恶意脚本检查检查系统中/dev/shm/.alsp文件的存在
然后,脚本会尝试安装curl、wget、bash、make、gcc 和 pnscan包。
图 2. 恶意脚本尝试安装curl、wget、bash、make、gcc 和 pnscan包
由于恶意脚本中使用了apt-get和yum包管理器,研究人员猜测恶意软件作者对Debian 和Red Hat的Linux版本的支持。
然后脚本回尝试下载和执行恶意二进制文件,其中就包括用于端口扫描的工具pnscan。如果在期望目录中没有找到,就会手动下载该工具。
在该攻击活动中执行的二进制文件包括:
- /dev/shm/sbin
- /usr/bin/tshd
- /usr/bin/kube
- /usr/bin/bioset
然后,脚本会从受感染的系统中窃取不同类型的机密信息,其中包括:
- 用于SSH访问的RSA (Rivest-Shamir-Adleman)密钥;
- Bash历史;
- AWS和Docker 配置文件;
- /etc group, /etc/passwd, /etc/shadow, /etc/gshadow。
然后,恶意攻击者会向攻击者提供的URL发出HTTP POST请求,使用一个TGZ (tar.gz) 文件来上传窃取的信息。研究人员怀疑被窃取的信息会作为之后攻击活动的知识库。
图 3. 窃取的信息通过TGZ文件上传到恶意URL
脚本也会尝试根据ip route command的结果来找到可以访问的设备。然后,这些信息会传递给pnscan 工具来扫描网络上活跃的SSH daemon。系统上发现的key是用于在新发现的设备上进行认证尝试的。如果这些尝试成功了,payload就会部署到新的设备上,并开始传播攻击。
图 4. 恶意脚本执行SSH daemon扫描并尝试窃取访问联网设备的key
相关的二进制文件
二进制文件的目标平台是基于x86-64指令集的CPU。这些二进制文件的第一层都被知名的UPX 打包工具打包了。
(1) /dev/shm/sbin
该二进制文件使用Go 编译器编译,其中含有一个使用AES 加密的ELF 文件。研究人员猜测该打包器是LaufzeitCrypter的Go语言版本。
图 5. GO 编译器编译的含有AES加密的ELF 文件的二进制文件
在解密该文件后,研究人员发现了二进制文件的final payload——XMRig 加密货币挖矿机。
(2) /usr/bin/tshd
该二进制文件是一个bind shell,会监听TCP 51982端口。整个通信是用硬编码的密钥加密的。
图 6. bind shell监听TCP 51982端口
(3) /usr/bin/bioset
该二进制文件是一个bind shell,会监听TCP 1982端口。通信是用Blowfish 加密算法和硬编码的密钥加密的。经过分析,研究人员发现该实现在部分平台上不能正常工作。此外,二进制文件还会将其进程名修改为systemd。
图 7. bind shell监听TCP 1982端口
(4) /usr/bin/kube
该二进制文件也是Go 编译的,并且含有一个AES 加密的ELF 文件。该文件在执行过程中也是动态加载的,并且使用了相同的打包器——LaufzeitCrypter的Go语言版本。AES密钥和IV (初始向量)都是硬编码在二进制文件中的。
该二进制文件的final payload是一个IRC bot,研究人员将其命名为TNTbotinger。该bot可以执行DDoS 命令、IRC bot命令和Unix shell 命令。具体命令和功能参见:
https://www.trendmicro.com/en_us/research/20/l/teamtnt-now-deploying-ddos-capable-irc-bot-tntbotinger.html
总结
Linux 系统威胁图谱也在不断的发展。TeamTNT最新的攻击活动就是一个例子,TeamTNT在攻击活动中使用了wget/curl 二进制文件来进行payload部署,并使用bind shell冗余来增加攻击的成功率和稳定性。在成功的TNTbotinger 攻击中,攻击者可以侵入受感染的系统,在受害者设备上实现远程代码执行。研究人员建议用户采取对应的安全措施来保护系统和企业网络安全。
本文翻译自:
https://www.trendmicro.com/en_us/research/20/l/teamtnt-now-deploying-ddos-capable-irc-bot-tntbotinger.html