挖矿木马开始启用 Tox 作为 C&C 新方法
2022-8-29 18:47:57 Author: FreeBuf(查看原文) 阅读量:13 收藏

jieluTox 是一个 P2P 型的无中心服务器消息传递系统,使用 NaCl 进行加解密。由于没有中心服务器,类似 BitTorrent,会使用 UDP 与 DHT 来查找在线端点。这表明该方法能够保持很好的匿名性,每个用户都有一个表明自己身份的 ID。

此前也发现过 Tox 被攻击者用于进行通信,本次是 Uptycs 威胁研究团队发现了使用 Tox 协议的 ELF 样本文件。

技术概览

在野发现的二进制文件尽管是 stripped 的,但仍然可以顺利地进行反编译。文件是使用 C 语言进行编写的,只静态链接了 c-toxcore库。

下图为样本反编译的 main 函数:

【main 函数】

shell_script 变量是很可疑的,攻击者使用其终止已知会进行挖矿的进程,会清除经常用于持久化的一些定时任务。

如下所示,名为 start_routine1 的函数会在 /var/tmp/ 中创建一个具有随机文件名的文件,并将 shell_script 的内容写入并执行。

【start_routine1 函数】

Shell 脚本中包含终止挖矿进程的命令。

【脚本文件】

start_routine2 函数通过 main 函数中的 pthread_create 进行调用,通过 UDP 协议将每个命令的输出发送给 Tox 接收者。

【start_routine2 函数】

有很多 bash 命令十分可疑,例如执行 dig 使用 resolver4.opendns.com 作为 DNS 服务器请求查询 myip.opendns.com。

执行curl-s-m20 ifconfig.me获取机器的IP地址并保存到名为name_var的变量中。执行cat/var/lib/dbus/machine-id获取机器的硬件ID,也存入相同变量中,并且在tox_self_set_name中进一步设置用户名称。相继执行nprocuname-awhoami命令,将结果存储在status_var中,在 tox_self_set_status_message中用于设置用户的状态信息。

【一些命令】

main函数中还有与Tox相关的函数tox_new、tox_self_set_name与 tox_self_set_status_message,这都与Tox设置有关。

【main 函数的其余部分】

在上图中,我们调用到了tox_callback_friend_message。以上三个命令都是回调函数的一部分,作为参数传递给tox_callback_friend_message,如下所示。

【回调函数】

updatekilllist会更新start_routine1中执行的脚本,execscript会按需运行脚本,getinfo会打印信息,exit会退出Tox连接。

结论

该样本尽管没有任何明显的恶意行为,但分析人员认为其是挖矿团伙的一个样本。过去曾经发现攻击者利用 Tox 作为通信方式,例如 HelloXD 勒索软件混合使用了 Tox 与 Tor。本次发现的样本则使用 Tox 协议运行脚本,对网络通信的监控仍然是非常重要的。

IOC

333a6b3cf226c55d4438c056e6c302fec3ec5dcf0520fc9b0ccee75785a0c8c5

参考来源:

https://www.uptycs.com/blog/is-tox-the-new-cc-method-for-coinminers

精彩推荐


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651190287&idx=1&sn=5f54aa3d5824d260c7d58e3147ff724d&chksm=bd1e66848a69ef9274e6d0d27d3610d599df174aa81eba154f2a285e1d289118e2f51e4fbdc9#rd
如有侵权请联系:admin#unsafe.sh