常见被挖矿的原因
为了追求高效率,现在的黑客一般都是通过自动化脚本去扫描互联网上所有机器,寻找漏洞然后部署挖矿进程。所以大部分的挖矿都是由于受害者的主机上存在常见的漏洞。比如
未授权访问或弱口令:Redis未授权访问、Docker API未授权访问,Hadoop Yarn 未授权访问、NFS未授权访问、Rsync弱口令、PostgreSQL弱口令、Tomcat弱口令、SSH弱口令、Telnet弱口令、Windows远程桌面弱口令;
远程命令执行漏洞:WebLogic XML 反序列化漏洞、Jenkins反序列化、Jboss远程代码执行、Spring远程代码执行、ElasticSearch命令执行、永恒之蓝、Struts2系列漏洞、常见CMS的远程命令执行漏洞;
新爆的高危漏洞:一般每次爆发新的高危漏洞,都会紧跟一波大规模的全网扫描利用和挖矿。
1. 排查思路
1. 确定挖矿进程
- 用top命令查看CPU使用率,找到异常进程的pid。
- 使用
ls -l /proc/pid/exe
或者ll /proc/pid/
查看进程执行的命令,或者使用lsof -p pid
查看进程打开的文件。
如果木马有隐藏进程的功能,我们可以从以下几个点进行排查:
- 是否替换了系统命令,使用rpm -Va命令,红框标记处的命令被替换掉了。
- 使用busybox查看被隐藏的进程
- 查看是否修改了动态链接库,ldd `which top`
2. 确定木马程序后清除木马
3. 确定受害用户
一般挖矿进程为自动化攻击脚本,所以很少有提权的过程,那么很大可能挖矿进程所属用户即为攻击进入系统的用户。后续的排查过程可根据此寻找攻击者的入侵途径。
4. 查看用户进程排查其他风险点
确定已失陷用户后,可查询该用户所属其他进程,判断其他进程是否有已知漏洞(Weblogic反序列化、Struts2系列漏洞、Jenkins RCE)或弱口令(Redis未授权、Hadoop yarn未授权、SSH弱口令)等问题。
5. 确定原因
排查出挖矿木马后对木马类型进行分析,根据木马的传播特征和传播方式,初步判断本次入侵的原因。然后结合应用日志以及漏洞利用残留文件确定本次攻击是否利用了该漏洞。
2. 整体操作流程
- 确定挖矿进程
- 执行ps aux查看是否有其它可疑进程全部杀死并删除pid(删除pid的前提要杀掉进程),在实际的清除工作中,应找到本机上运行的挖矿脚本,根据脚本的执行流程确定木马的驻留方式,并按照顺序进行清除,避免清除不彻底。:
killall 进程名
rm -fr /proc/pid
#第一步最关键,一定要在ps aux仔细查找可疑进程并要和pid一并杀掉删除
- 及时隔离主机
部分带有蠕虫功能的挖矿木马在取得本机的控制权后,会以本机为跳板机,对同一局域网内的其他主机进行已知漏洞的扫描和进一步利用,所以发现挖矿现象后,在不影响业务的前提下应该及时隔离受感染主机,然后进行下一步分析。 - 阻断与矿池的通信
iptables -A INPUT -s xmr.crypto-pool.fr -j DROP
iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP
- 清除定时任务
tail /var/log/cron #查看定时任务日志
ls /var/spool/cron #查看不同用户的定时任务
rm -rf /var/spool/cron/* #删除所有用户级的定时任务
- 清除启动项
rm -f /etc/init.d/muma(开机自启动的)
- 清除公钥文件
- 查看是否有不该存在的特权用户
- 修改root密码且修改sshd端口
- 禁ping
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
-
如果有不明用户异常登录,先看有谁在线,然后杀死其他人的进程,这里以tty1为例:
[root@iZ2zeiyfk6wfvd1w69gyaeZ logs]# w
11:45:58 up 7 days, 19:32, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 17Sep20 7days 0.00s 0.00s -bash
root pts/0 114.255.193.227 11:38 6.00s 0.00s 0.00s w
[root@iZ2zeiyfk6wfvd1w69gyaeZ logs]# pkill -kill -t tty1
[root@iZ2zeiyfk6wfvd1w69gyaeZ logs]# w
11:48:33 up 7 days, 19:35, 1 user, load average: 0.01, 0.02, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 114.255.193.227 11:38 1.00s 0.00s 0.00s w -
查杀完成后重启服务器,然后分别持续观察下面两个位置的日志:
tail -f /var/log/cron
tail -f /var/log/messages #包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。
参考文章
如何排查常见挖矿木马
Linux /proc/pid目录下相应文件的信息说明和含义
转载:https://blog.csdn.net/qq_41874930/article/details/115901488