入侵途径

  1. 漏洞利用:利用系统漏洞快速获取相关服务器权限,植入挖矿木马是目前最为普遍的传播方式之一,较广的WannaMine挖矿家族,利用了永恒之蓝漏洞在内网蠕虫式传播,给不少公司和机构带来巨大损失。

  2. 弱口令:通过密码爆破成功后,尝试获取系统权限,植入挖矿木马并设置持久化。

  3. 伪装正常软件:攻击者将挖矿木马伪装为游戏软件、娱乐社交软件、安全软件、游戏外挂等进行传播,欺骗用户下载并执行。

行为特征

挖矿木马显著的行为特征就是极大的占用CPU及GPU资源主要包括:高 CPU 和 GPU 使用率、响应速度慢、 崩溃或频繁重新启动、系统过热、异常网络活动(例如,连接挖矿相关的网站或 IP 地址)。其次是在网络流量中,挖矿木马通信过程采用专门的通信协议,因此存在一定的网络通信特征。

处理流程

  1. 信息收集发现的挖矿木马相关文件和进程信息;

  2. 分析排查挖矿木马相关文件执行和依赖关系;

  3. 按顺序删除挖矿木马的挖矿程序、传播工具、释放的远控木马等文件。

a. 删除计划任务

b. 删除自启动项

c. 停止服务

d. 结束进程

e. 删除文件

恶意域名

从流量审计等设备日志中获取根据网络通信特征中的域名信息,可上传至威胁情报中心查询,由此可判断出木马类型,借由披露的安全信息可大幅度降低进一步排查工作量。

常用的在线威胁情报中心:

Virustotal

venuseye

微步在线

深信服威胁情报中⼼

安恒威胁情报中⼼

360威胁情报中⼼

绿盟威胁情报中⼼

具体过程

木马检测

挖矿木马的主机侧检测主要依据的就是对应进程CPU使用率长时间居高不下,部分挖矿木马采用多方式隐藏进程,且具备多种持久化驻留方式。(以下以Linux环境为例)

获取异常进程pid

CPU占⽤

top -c -o %CPU

-c 参数显示进程的命令⾏参数

-p 参数指定进程的pid

ps -eo pid,ppid,%mem,%cpu,cmd —sort=-%cpu | head -n 5 #cpu占⽤前5的进程信息

内存占⽤

top -c -o %MEM

-c 参数显示进程的命令⾏参数

-p 参数指定进程的pid

ps -eo pid,ppid,%mem,%cpu,cmd —sort=-%mem | head -n 5 #内存占⽤前5的进程信息

⽹络占⽤

查询网络占用信息可借助专门的网络检测命令行工具nethogs

Debian/Ubuntu

apt-get install nethogs

Centos/RHEL

yum -y install epel-release yum -y install nethogs

寻找木马

样本经过以上步骤,我们基本上已经获取到进程pid或进程相关的命令⾏命令根据进程名字或者部分字符串获取pid

pidof “name”

ps -aux | grep “name”

ps -ef | grep “name” | grep -v grep | awk ‘{print $2}’

pgrep -f “name”

根据pid获取程序的详细信息

lsof -p pid

pwdx pid #获取该pid的进程启动的时候的⽬录

systemctl status pid #获取这个进程的status信息

cat /proc/pid/maps

ls -al /proc/pid/exe

根据pid查看由进程起的线程

ps H -T -p

pid ps -Lf pid

其中SPID就是线程ID,⽽CMD则是线程名称

top -H -p pid -H #选项可以显示线程

pstree -acU #可⾮常全⾯展示进程与线程间的关系

当攻击者为了隐藏挖矿木马而修改Linux系统常用命令的情况时,可安装busybox程序,使用内置的Linux常用命令(top、ps、ls等)对系统进行排查。

处理异常进程

进程恶意样本采样

1.scp

scp -P xxxxx remote@www.target.com:/usr/local/aaa /home/aaa

从远程服务器将aaa下载到本地的/home/aaa目录下(-P 指定SSH端⼝)

2.finalshell、xshell等集成⼯具

可使用沙箱工具分析木马执行过程的恶意操作。例如释放何种文件,篡改了哪些文件。

进程查杀

当可能存在子进程时可用如下命令查看

ps ajfx

systemctl status

杀死进程

kill -9 pid #杀死指定进程,但由这个进程产⽣的⼦进程不会被影响

kill -9 -pid #杀掉整个进程组

删除恶意⽂件

查看⽂件占⽤ lsof命令

如果存在进程占⽤,那么占⽤进程也可能是恶意进程,需要按照之前的步骤进⾏查看

痕迹根除

more /etc/cron./ #查看计划任务

crontab -l #查看当前用户计划任务

ls -al /var/spool/cron/ #查看所有用户计划任务

ls -alr /etc/init.d ls -alr /etc/rc* #自启动目录

chkconfig –list systemctl list-unit-files #排查服务

chkconfig 服务名 off systemctl disable #服务名 关闭服务

/tmp//root/ #敏感路径

另外还需拉黑相关域名(可疑地址包括矿池地址、C2地址、挖矿木马更新地址)