外链论坛

 找回密码
 立即注册
搜索
查看: 41|回复: 1

九维团队-青队(处置)| WorkMiner挖矿木马应急处置手册

[复制链接]

2621

主题

348

回帖

9914万

积分

论坛元老

Rank: 8Rank: 8

积分
99140658
发表于 2024-8-22 14:49:50 | 显示全部楼层 |阅读模式

文/章/导/览

1、木马介绍

2、怎样发掘

3、处置流程

    3.1 定位挖坑木马进程

    3.2 定位挖矿木马的执行文件

    3.3 结束挖矿进程

4、沙箱分析

定位挖矿源文件

    4.1 查看进程详情

    4.2 查看网络行径

    4.3 查看释放文件

5、清除残余文件

    5.1 删除挖矿木马关联文件

    5.2 清除恶意程序系统文件中添加的恶意代码

5.3 恢复系统命令

    5.4 恢复防火墙规则

6、总结

    6.1 开机起步文件

    6.2 SSH存放公钥文件

    6.3 计划任务文件

    6.4 /usr/目录

    6.5 防火墙开放端口

    6.6 系统命令

7、拓展知识点

    7.1 系统命令被劫持

8、防护意见

01

木马介绍

该挖矿木马采用go语言编译,重点针对Linux系统,在入侵终端后会占用主机资源进行挖矿,影响其他正常业务进程的运转,传播过程中会修改防火墙规则,开放关联端口,探测同网段其他终端并进行SSH暴力破解,若不可即时阻断,容易导致大面积污染。

02

怎样发掘

1、安全设备检测到挖矿关联告警。

2、主机运用过程中出现卡顿现象,CPU占用率过高。

03

处置流程

3.1 定位挖矿木马进程

查看进程以及进程所占用的资源体积

top #运用top命令能够表示系统中各个进程的资源占用状况,若系统中存在挖矿木马能够经过top命令即时发掘

#上下滑动查看更加多

1、能够看到PID为42101,名为xmr的进程CPU运用率为81.1%;

2、按照进程名xmr能够判断该挖矿木马大概率为WorkMiner挖矿木马(不可做为独一判断依据,仅做为一个思路,由于进程名能够被改变)。

3.2 定位挖矿木马的执行文件

按照PID查询挖矿木马的起步目录。

ls -lai /proc/42101 | grep exe #查看PID为42101进程的执行文件的所在目录,并列出仔细信息。################ls -lai #将当前目录下所有文件的仔细信息包含inode号所有列出来。/proc/PID #在/proc/目录下每一个进程都有一个相应的文件,包括重要信息。ls -lai /proc/PID #可查看该PID下的所有仔细信息。ls -lai /proc/PID | grep exe #查看链接到进程的执行命令文件,并列出仔细信息。################/proc/PID/cmdline #用于起始进程的命令/proc/PID/cwd #当前进程工作目录的一个链接/proc/PID/environ #可用进程环境变量的列表/proc/PID/exe #正在进程中运行的程序的执行文件/proc/PID/fd #进程打开的每一个文件的链接/proc/PID/mem #进程在内存中的内容/proc/PID/stat #进程的状态信息/proc/PID/statm #进程的内存运用信息

#上下滑动查看更加多

按照以上命令找到xmr进程的执行文件是/tmp/xmr。

3.3 结束挖矿进程

kill -9 42101 #强制杀死该挖矿进程

再次运用top命令查看,CPU已恢复正常

top

04

沙箱分析

定位挖矿源文文件

经过查看计划任务,找到挖矿木马所在文件目录。将挖矿木马文件压缩打包上传至云沙箱进行分析。

cat /etc/crontab

4.1、查看进程详情。

经过沙箱分析,查看进程详情,咱们能够看到该挖矿木马共释放了以下进程。

4.1.1 修改系统命令

sh -c mv /usr/bin/wget /usr/bin/wget1& #将wget命令重命名为wget1sh -c mv /usr/bin/curl /usr/bin/curl1& #将curl命令重命名为curl1

#上下滑动查看更加多

4.1.2 执行挖矿程序

chmod +x /tmp/xmr #给xmr添加执行权限xmr #运行xmr

#上下滑动查看更加多

4.1.3 创建隐匿文件夹

sh -c mkdir -p /usr/.work

4.1.4 实现SSH免密登录

sh -c echo >> /root/.ssh/authorized_keys #创建/root/.ssh/authorized_keyssh 600 /root/.ssh/authorized_keys #赋予600权限sh -c echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDc3BlbiQaznPT8TScrs9YIzmrpI9Lpa4LtCjB5z0LuQ4o6XwvzomxAixn2F1jaUl175Cxcg3PmUsPOLE+WeWicKqL2YZ46SotjZgnS6JjXpuZVi7V0DSiXu0itlwWDC9m8huBvUBSIsDCsgb9OeG6rlrCyZgTW+qZciK+KZ8rwlFp3CFyxoF2122ueOnl5pAUCy1iHqGun03dMdUxA1d3KnxSZ3NQrYiH69dc8/YhV4SriOW9psc0pv9KeBLF0OXHtEAdbnSlwfk2uTjjBMK0nDidl7wS52Ygi/H4+P+4EXkSzf4Jj4/L6P3c5rLC3/l3RFdo1T7EQ8fH6NsTYJNZ7 root@u911" >> /root/.ssh/authorized_keys#将公钥写入/root/.ssh/authorized_keys实现免密登录

#上下滑动查看更加多

4.1.5 修改防火墙规则,开放UDP和TCP端口

iptables -I INPUT -p tcp --dport 8012 -j ACCEPT iptables -I OUTPUT -p tcp --sport 8012 -j ACCEPTiptables -I PREROUTING -t nat -p tcp --dport 8012 -j ACCEPT iptables -I INPUT -p udp --dport 2051 -j ACCEPT iptables -I OUTPUT -p udp --sport 2051 -j ACCEPTiptables -I PREROUTING -t nat -p udp --dport 2051 -j ACCEPT iptables -I POSTROUTING -t nat -p udp --sport 2051 -j ACCEPT

#上下滑动查看更加多

4.2 查看网络行径

以下为该挖矿木马连接的矿池以及境外恶意IP:

xmr.crypto-pool.fr #矿池171.7.XXX.XX            #境外恶意IP194.58.XXX.XX #境外恶意IP41.88.XXX.XX #境外恶意IP84.54.XXX.XX             #境外恶意IP#上下滑动查看更加多

4.3 查看释放文件

经过查看释放文件,可分析出该挖矿木马都释放了那些文件,经过这些文件来确定咱们的排查思路。

按照沙箱表示的内容共释放了以下8个文件。

/etc/rc.d/rc.local /root/.ssh/authorized_keys /tmp/config.json /tmp/xmr /tmp/secure.sh/tmp/auth.sh /var/spool/cron/root /etc/crontab

对照以上释放的8个恶意文件进行上机重点排查,排查结果如下:

4.3.1 开机自起步

/etc/rc.d/rc.local #/etc/rc.d/init.d/目录下的脚本就类似于windows中的注册表,在系统起步的时候某些指定脚本将被执行。

#上下滑动查看更加多

4.3.2 ssh实现免密登录

/root/.ssh/authorized_keys #经过/root/.ssh/authorized_keys文件可实现ssh免密登录

#上下滑动查看更加多

4.3.3 添加计划任务/var/spool/cron/root #计划任务:这个目录是以账号来区分每一个用户自己的执行计划/etc/crontab #计划任务:系统执行计划,需要在五个*后面加上用户 #上下滑动查看更加多

4.3.4 挖矿木马配置文件

/tmp/config.json #xmrig挖矿配置文件

#上下滑动查看更加多

4.3.5 封禁爆破IP

/tmp/secure.sh #封禁爆破IP/tmp/auth.sh          #封禁爆破IP

4.3.6 xmrig挖矿程序

xmr

05

清理残余文件

注:在删除任何程序前必定要获取客户的同意,而后做好备份,再做删除操作。

5.1 删除挖矿木马关联文件

/tmp/config.json      #挖矿配置文件/tmp/xmr #挖矿程序 /tmp/secure.sh #挖矿木马创建的恶意脚本文件/tmp/auth.sh #挖矿木马创建的恶意脚本文件/usr/.work #由恶意程序创建的文件夹,文件夹中均为挖矿木马关联的程序

#上下滑动查看更加多

 5.2 清除恶意程序系统文件中添加的恶意代码

/root/.ssh/authorized_keys    #删除挖矿木马添加的ssh公钥/etc/rc.d/rc.local#删除挖矿木马添加的开机起步/var/spool/cron/root #删除挖矿木马添加的计划任务 /etc/crontab #删除挖矿木马添加的计划任务

#上下滑动查看更加多

5.3 恢复系统命令

mv /usr/bin/wget1 /usr/bin/wgetmv /usr/bin/curl1 /usr/bin/curl

5.4 恢复防火墙规则

iptables -I INPUT -p tcp --dport 8012 -j DROP iptables -I OUTPUT -p tcp --sport 8012 -j DROP iptables -I INPUT -p udp --dport 2051 -j DROPiptables -I OUTPUT -p udp --sport 2051 -j DROP

#上下滑动查看更加多

06

总结

按照沙箱分析可知,在遇到WorkMiner挖矿木马,做应急时咱们需重点排查以下几点,另一此挖矿木马会对同网段内的其他主机进行ssh爆破来进行传播。

6.1 开机起步文件

WorkMiner挖矿木马在/etc/rc.d/rc.local 文件中写入了开机自起步脚本,以实现持久化。

/etc/rc.d/rc.local       #该文件类似于Windows中的注册表,在系统起步的时候该文件下的脚本将被执行。

#上下滑动查看更加多

6.2 SSH存放公钥文件

WorkMiner挖矿木马/root/.ssh/authorized_keys中写入了公钥,以实现免密登录。

/root/.ssh/authorized_keys  #authorized_keys 是linux 操作系统下,专门用来存放公钥的地区,只要公钥放到了服务器的正确位置,并且持有正确的权限,就可私钥,免密登录linux服务器。

#上下滑动查看更加多

6.3 计划任务文件

WorkMiner挖矿木马在/var/spool/cron/root和/etc/crontab中分别写入了计划任务,以实现持久化。

/var/spool/cron/root #计划任务:这个目录是以账号来区分每一个用户自己的执行计划 /etc/crontab#计划任务:系统执行计划,需要在五个*后面加上用户

#上下滑动查看更加多

6.4 /usr/目录

WorkMiner挖矿木马创建了/usr/.work 文件夹,以实现持久化。

/usr/ #/usr/目录是linux系统核心所在,包括了所有的共享文件,涵盖了二进制文件,各样文档,各样头文件,还有各样库文件,还有许多程序等等/usr/.work #WorkMiner挖矿木马就在/usr/目录下创建了该隐匿文件夹,需重点排查。

#上下滑动查看更加多

6.5 防火墙开放端口

WorkMiner挖矿木马会修改防火墙规则分别开放TCP端口和UDP端口。

iptabels -nv -L #运用该命令可查看是不是有额外的TCP和UDP端口开放

#上下滑动查看更加多

6.6 系统命令

WorkMiner挖矿木马会把wegt命令修改为wget1,curl命令修改为curl1。

此处仅做为抛砖引玉,在排查该系统命令时不可仅局限于wget1和curl1,挖矿木马可能会将系统命令修改为任意字符,乃至是劫持系统命令,需要在排查时重视辨别。在扩展知识点中介绍了怎样运用工具排查系统命令被劫持,可供大众参考。

/usr/bin      #/usr/bin下存放有些用户的基本命令如wget,curl等/usr/bin/wget #查看wget命令是不是被修改为wget1,若被修改则可能是WorkMiner挖矿木马,仅做为参考不可做为独一依据。/usr/bin/curl#查看curl命令是不是被修改为curl1,若被修改则可能是WorkMiner挖矿木马,仅做为参考不可做为独一依据。

#上下滑动查看更加多

07

扩展知识点

7.1、系统命令被劫持

7.1.1 AIDE入侵监测

AIDE  是一款入侵检测工具,重点用途是检测文档的完整性。经过构建一个基准的数据库,保留文档的各样属性,一旦系统被入侵,能够经过对比基准数据库而获取文件变更记录。

1、安装配置:

#直接安装aide yum install aide -y #生产初始化数据库 sudo aide --init #按照配置文件命名规则生成新的数据库文件,需要重命名,以便AIDE读取。 sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

#上下滑动查看更加多

2、进行监测对比:

sudo aide --check

经过对比可快速发掘那些系统命令被篡改。

7.1.2 top命令被劫持

top命令被劫持没法正确表示出进程关联信息。

1、busybox

wget https://busybox.net/downloads/binaries/1.21.1/busybox-x86_64 --no-check-certificatechmod +x busybox-x86_64mv busybox-x86_64 /usr/local/bin/busybox top

#上下滑动查看更加多

若wget命令没法运用能够先将busybox文件下载后上传。

2、恢复top面板

恢复top面板的过程是将原top文件恢复。此刻,原top文件名为top.lanigiro,只要将此刻的top文件删除,再将top.lanigiro文件重命名为top就可

做好备份:

cp top top.bakcp top.lanigiro.bak

重命名:

mv top top.rm

没法重命名可能是文件被加锁运用lsattr命令查看:

lsattr top

运用chattr命令解锁:

chattr -i topchattr top.lanigiro

若chattr命令被删除能够重新安装。

1、先查看chattr命令,即查看e2fsprogs包。

rpm -qa|grep e2fsprogs #查看e2fsprogs包是不是存在(可能会表示存在,但还是依旧没法运用chattr命令)

#上下滑动查看更加多

2、下载chattr命令

yum install e2fsprogs #可能会表示e2fsprogs已然被安装了,然则依旧没法运用chattr命令

#上下滑动查看更加多

3、安装

yum install e2fsprogs-1.42.9-19.el7.x86_64 (若还是没法运用,可运用上一步查找到的详细e2fsprogs包名安装就可

#上下滑动查看更加多

恢复成功后删除刚才的备份文件:

mv top top.rmmv top.lanigiro top

08

防护意见

1、定时检测系统SSH服务的秘码,设置高强度秘码避免被暴力破解,并定时修改秘码

2、修改SSH服务22端口为非默认端口以降低被攻击的可能性。

—  往期回顾  —关于安恒信息安全服务团队安恒信息安全服务团队由九维安全能力专家形成,其职责分别为:红队连续突破、橙队擅于赋能、黄队致力建设、绿队跟踪改进、青队快速处置、蓝队实时防御,紫队持续优化、暗队专注情报和科研、白队运营管理,以体系化的安全人才及技术为客户赋能。
回复

使用道具 举报

0

主题

2万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-8-23 13:13:26 | 显示全部楼层
外链发布论坛学习网络优化SEO。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-9-17 04:36 , Processed in 0.253842 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.