关闭
搜索
搜索
本版
帖子
用户
热搜:
程序员
简洁模式
高级模式
用户组: 游客
消息
提醒
新听众
我关注的
帖子
道具
勋章
任务
设置
退出
请
登录
后使用快捷导航
没有帐号?
立即注册
设为首页
收藏本站
开启辅助访问
切换到窄版
登录
or
立即注册
快捷导航
搜索
首页
论坛
BBS
MCU单片机技术
程序员交流
【安全通告】警惕!Linux挖矿病毒StartMiner最新变种来袭
[复制链接]
作者:
午夜De凶手
版块:
›
嵌入式操作系统
›
linux
发布时间:
2020-7-14 01:00:08
1795
0
返回列表
午夜De凶手
当前离线
注册会员
注册会员, 积分 80, 距离下一级还需 120 积分
注册会员
注册会员, 积分 80, 距离下一级还需 120 积分
积分
80
发消息
楼主
电梯直达
午夜De凶手
发表于 2020-7-14 01:00:08
|
只看该作者
|
倒序浏览
|
阅读模式
安全通告
StartMiner挖矿病毒最早于今年2月被发现,由于其进程及定时任务中包含2start.jpg字符串而得名,该病毒通过ssh进行传播,其特点是会创建多个包含2start.jpg字符串的恶意定时任务。亚信安全对该挖矿病毒进行持续追踪发现,近期该挖矿病毒较为活跃,出现频繁更新,不断更换C&C站点。亚信安全截获了StartMiner挖矿病毒最新变种,该变种终止其它挖矿进程,创建多个定时任务,下载执行挖矿及Tsunami僵尸网络。
攻击流程
病毒感染现象
可疑进程:
可疑定时任务:
2start.jpg分析
停止部分调用特殊端口的进程和其它挖矿程序。
创建\写入定时任务:
判断是否存在Known_hosts和SSH公钥,如存在则遍历known_hosts中的IP地址并连接,同时执行恶意进程。除了执行2start.jpg外,其还会下载执行hxxp[:]//107[.]189[.]11[.]170/d.py,同时,在SSH时,会调用-oStrictHostKeyChecking=no参数以修改ssh_config。
downloadIfNeed函数,判断/tmp/x86_64是否存在,不存在则执行download函数;如果存在但是MD5校验错误,同样执行download函数。此外,其会计算下载前后的MD5及文件大小并写入到tmp/tmp.txt文件。
Download函数,校验/tmp/x86_643文件MD5,如果正常则拷贝至/tmp/x86_64;如果错误则执行download2函数。
Download2函数,从多个URL下载样本(x86_64、i686、go)至本地/tmp目录,完成后校验/tmp/x86_64的MD5值,如果正常则拷贝至/tmp/x86_643。
judge函数,判断网络连接中是否存在与134.122.17.13:8080的连接,如果不存在则执行如下操作:
中止所有CPU>30的进程;
执行downloadIfNeed函数;
从多个URL下载样本(x86_64、i686、go)至本地/tmp目录;
增加文件执行权限并运行go文件;
解密运行Base64加密的python脚本。
Judge2函数,判断进程中是否有dbused或dbusted名称的进程,如果没有则执行如下操作:
downloadIfNeed函数;
从多个URL下载样本(x86_64、i686、go)至本地/tmp目录;
增加文件执行权限并运行go文件;
解密运行Base64加密的python脚本。
判断是否存在与134.122.17.13:8080的连接,如果不存在则执行judge函数,存在则执行judge2函数。
判断是否存在与104.244.75.25:443的连接,如果不存在则根据位数下载x64b/x32b样本;保存到/tmp,提升文件权限并执行。
恶意定时任务,查询Crontab中是否存在107.189.11.170字符串,如果不存在则先清空Crontab并写入恶意定时任务,以定期下载执行2start.jpg。2start.jpg的所有逻辑执行完毕后,删除/tmp/2start.jpg。
Go.sh分析
新建一个bash文件/tmp/dbusted,用于拷贝x86_64至/tmp/.dbusted/dbusted,执行并删除。
D.py分析
D.py根据位数下载对应样本,并执行d.py、b.py和go2.sh。
B.py分析
B.py下载并执行x64b或x32b样本,内容为Tsunami僵尸后门程序,亚信安全近期曾披露过关于该僵尸后门的相关情报。
ELF文件
X86_64和i686为Pwnrig挖矿程序,x64b\x32b为Tsunami僵尸网络木马,均已在之前的病毒通告中做过分析,在此不再重复。
手动清除方案
保存并执行以下bash:
#!/bin/bash
rm -f /etc/cron.d/apache 2>/dev/null
rm -f /etc/cron.d/nginx 2>/dev/null
rm -f /etc/cron.d/root 2>/dev/null
rm -f /etc/cron.hourly/oanacroner1 2>/dev/null
cp /var/spool/cron/crontabs/root /root/root.crontab.bak 2>/dev/null
cp /var/spool/cron/root /root/cron.bak 2>/dev/null
cat /dev/null >/var/spool/cron/crontabs/root 2>/dev/null
cat /dev/null >/var/spool/cron/root 2>/dev/null
rm -f /var/tmp/.xo 2>/dev/null
rm -f /var/tmp/x64b 2>/dev/null
rm -f /tmp/x86_64 2>/dev/null
rm -f /tmp/dbusted 2>/dev/null
rm -f /tmp/i686 2>/dev/null
rm -f /var/tmp/hxx 2>/dev/null
rm -f /var/tmp/scan.log 2>/dev/null
rm -f /tmp/hxx 2>/dev/null
rm -f /var/tmp/dbusetd 2>/dev/null
rm -f /var/tmp/p 2>/dev/null
rm -f /var/tmp/.sh/x86_64 2>/dev/null
rm -f /var/tmp/x86_64 2>/dev/null
rm -f /var/tmp/i686 2>/dev/null
rm -f /var/tmp/go 2>/dev/null
rm -f /var/tmp/x86_643 2>/dev/null
rm -f /var/tmp/x32b 2>/dev/null
rm -f /var/tmp/ip.sh 2>/dev/null
rm -f /tmp/.sh/x86_64 2>/dev/null
rm -f /tmp/go 2>/dev/null
rm -f /tmp/x86_643 2>/dev/null
rm -f /tmp/x64b 2>/dev/null
rm -f /tmp/x32b 2>/dev/null
rm -f /tmp/ip.sh 2>/dev/null
rm -f /var/tmp/d.py 2>/dev/null
rm -f /var/tmp/2start.jpg 2>/dev/null
rm -f /tmp/d.py 2>/dev/null
rm -f /tmp/2start.jpg 2>/dev/null
rm -f /tmp/p 2>/dev/null
rm -f /tmp/masscan 2>/dev/null
rm -f /tmp/ips.sh 2>/dev/null
rm -f /var/tmp/sparte 2>/dev/null
rm -f /tmp/scan.log 2>/dev/null
chattr -ia /bin/bprofr 2>/dev/null
chattr -ia /bin/crondr 2>/dev/null
chattr -ia /bin/initdr 2>/dev/null
rm -f /bin/initdr 2>/dev/null
rm -f /bin/crondr 2>/dev/null
rm -f /bin/bprofr 2>/dev/null
chattr -ia ~/.bash_profile 2>/dev/null
cp ~/.bash_profile ~/.bash_profile.bak 2>/dev/null
sed -i '/dbused/d' ~/.bash_profile 2>/dev/null
ps aux|grep dbused|grep -v grep|awk '{print $2}'|xargs kill -19 2>/dev/null
ps aux|grep hxx|grep -v grep|awk '{print $2}'|xargs kill -19 2>/dev/null
ps aux|grep "107.189"|grep -v grep|awk '{print $2}'|xargs kill -19 2>/dev/null
ps aux|grep "104.244"|grep -v grep|awk '{print $2}'|xargs kill -19 2>/dev/null
ps aux|grep "/tmp/go"|grep -v grep|awk '{print $2}'|xargs kill -19 2>/dev/null
ps aux|grep "/tmp/.xo"|grep -v grep|awk '{print $2}'|xargs kill -19 2>/dev/null
ps aux|grep "107.189"|grep -v grep|awk '{print $2}'|xargs kill -9 2>/dev/null
ps aux|grep "104.244"|grep -v grep|awk '{print $2}'|xargs kill -9 2>/dev/null
ps aux|grep "/tmp/go"|grep -v grep|awk '{print $2}'|xargs kill -9 2>/dev/null
ps aux|grep "/tmp/.xo"|grep -v grep|awk '{print $2}'|xargs kill -9 2>/dev/null
ps aux|grep dbused|grep -v grep|awk '{print $2}'|xargs kill -9 2>/dev/null
ps aux|grep hxx|grep -v grep|awk '{print $2}'|xargs kill -9 2>/dev/null
亚信安全教你如何防范
亚信安全病毒码版本15.985.60,云病毒码版本15.985.71,全球码版本15.985.00已经可以检测,请用户及时升级病毒码版本。
亚信安全深度威胁发现设备TDA可以侦测到此威胁相关内容:
IOCs
hxxp[:]//107[.]189[.]11[.]170/go
hxxp[:]//107[.]189[.]11[.]170/go2
hxxp[:]//107[.]189[.]11[.]170/d.py
Hxxp[:]//107[.]189[.]11[.]170/b.py
hxxp[:]//107[.]189[.]11[.]170/2start.jpg
hxxp[:]//104[.]244[.]74[.]248/x86_64
hxxp[:]//104[.]244[.]75[.]25/i686
hxxp[:]//107[.]189[.]11[.]170/x64b
hxxp[:]//107[.]189[.]11[.]170/x32b
hxxp[:]//205[.]185[.]113[.]151/go
Hxxp[:]//205[.]185[.]113[.]151/i686
Hxxp[:]//205[.]185[.]113[.]151/x86_64
Hxxp[:]//205[.]185[.]113[.]151/x64b
Hxxp[:]//205[.]185[.]113[.]151/x32b
Hxxp[:]//205[.]185[.]113[.]151/xmi
Hxxp[:]//205[.]185[.]113[.]151/d.py
IDC最新报告:亚信安全持续领跑中国IT安全软件市场,身份和数字信任市场份额第一
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
收藏
0
相关帖子
•
「粉丝问答6」子进程进程的父进程关系
•
长文|花了两天时间整理了STM32中的一些C语言知识点
•
Shell是什么?它的发展前景如何?
•
深入理解高性能网络开发路上的绊脚石-同步阻塞网络IO
•
干货|深度剖析C语言的main函数
•
红帽linux[基础命令]特殊变量列表
•
如何在内核中操作某个文件?
•
利用BATS测试Bash脚本和库|Linux中国
•
第40天.计算机病毒
•
《Linux内核编码风格》官方手册最新中译本
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
表情
@朋友
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
vxWorks
ARM
快速回复
返回顶部
返回列表