本文已参与「新人创作礼」活动,一起开启掘金创作之路。
挖矿木马排查思路
常见被挖矿的原因
为了追求高效率,现在的黑客一般都是通过自动化脚本去扫描互联网上所有机器,寻找漏洞然后部署挖矿进程。所以大部分的挖矿都是由于受害者的主机上存在常见的漏洞。比如
未授权访问或弱口令:Redis未授权访问、Docker API未授权访问,Hadoop Yarn 未授权访问、NFS未授权访问、Rsync弱口令、PostgreSQL弱口令、Tomcat弱口令、SSH弱口令、Telnet弱口令、Windows远程桌面弱口令;
远程命令执行漏洞:WebLogic XML 反序列化漏洞、Jenkins反序列化、Jboss远程代码执行、Spring远程代码执行、ElasticSearch命令执行、永恒之蓝、Struts2系列漏洞、常见CMS的远程命令执行漏洞;
排查思路
确定挖矿进程
1、用top命令查看CPU使用率,找到异常进程的pid。
2、使用ls -l /proc/pid/exe或者ll /proc/pid/查看进程执行的命令,或者使用lsof -p pid查看进程打开的文件。
如果木马有隐藏进程的功能,我们可以从以下几个点进行排查:
是否替换了系统命令,使用rpm -Va命令,红框标记处的命令被替换掉了。
使用busybox查看被隐藏的进程
3、确定受害用户
一般挖矿进程为自动化攻击脚本,所以很少有提权的过程,那么很大可能挖矿进程所属用户即为攻击进入系统的用户。后续的排查过程可根据此寻找攻击者的入侵途径。
4、查看用户进程排查其他风险点
确定已失陷用户后,可查询该用户所属其他进程,判断其他进程是否有已知漏洞(Weblogic反序列化、Struts2系列漏洞、Jenkins RCE)或弱口令(Redis未授权、Hadoop yarn未授权、SSH弱口令)等问题。
5、确定原因
排查出挖矿木马后对木马类型进行分析,根据木马的传播特征和传播方式,初步判断本次入侵的原因。然后结合应用日志以及漏洞利用残留文件确定本次攻击是否利用了该漏洞。