入侵途径
漏洞利用:利用系统漏洞快速获取相关服务器权限,植入挖矿木马是目前最为普遍的传播方式之一,较广的WannaMine挖矿家族,利用了永恒之蓝漏洞在内网蠕虫式传播,给不少公司和机构带来巨大损失。
弱口令:通过密码爆破成功后,尝试获取系统权限,植入挖矿木马并设置持久化。
伪装正常软件:攻击者将挖矿木马伪装为游戏软件、娱乐社交软件、安全软件、游戏外挂等进行传播,欺骗用户下载并执行。
行为特征
挖矿木马显著的行为特征就是极大的占用CPU及GPU资源主要包括:高 CPU 和 GPU 使用率、响应速度慢、 崩溃或频繁重新启动、系统过热、异常网络活动(例如,连接挖矿相关的网站或 IP 地址)。其次是在网络流量中,挖矿木马通信过程采用专门的通信协议,因此存在一定的网络通信特征。
处理流程
信息收集发现的挖矿木马相关文件和进程信息;
分析排查挖矿木马相关文件执行和依赖关系;
按顺序删除挖矿木马的挖矿程序、传播工具、释放的远控木马等文件。
a. 删除计划任务
b. 删除自启动项
c. 停止服务
d. 结束进程
e. 删除文件
恶意域名
从流量审计等设备日志中获取根据网络通信特征中的域名信息,可上传至威胁情报中心查询,由此可判断出木马类型,借由披露的安全信息可大幅度降低进一步排查工作量。
常用的在线威胁情报中心:
具体过程
木马检测
挖矿木马的主机侧检测主要依据的就是对应进程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地址、挖矿木马更新地址)