「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》
挖矿木马应急响应
- 一、什么是挖矿
- 二、被挖矿主机现象
- 三、挖矿木马处置思路
- 1)隔离
- 2)确认挖矿进程
- 3)清除木马
- 4)加固
- 四、挖矿木马处置步骤
- 1)Windows
- 0、挖矿木马现象
- 1、排查进程
- 2、排查账号
- 3、排查启动项
- 4、排查计划任务
- 5、日志分析
- 2)Linux
- 1、排查进程
- 2、排查账号
- 3、排查定时任务
- 4、排查启动项
- 五、挖矿木马应急实例
前段时间有个粉丝问我,说他买的云服务器最近特别卡,好像是中毒了,让我帮忙看看。
我远程了好几次,终于连上去,发现果然是被挖矿了,很蠢的那种Driver,连服务名都懒得改。
本来是个很简单的问题,但排查了半天竟没发现它是怎么进来的,啥漏洞也没有。
直到事后吃饭的时候才发现,她给我发的服务器密码,
是 1 2 3 4 5 6 7
趁此机会,跟大家分享一下挖矿木马的应急思路。
倒不是说能防住,起码在你被挖矿的时候,能知道自己是被挖矿了。
一、什么是挖矿
比特币系统每隔一段时间就会在节点上生成一个随机代码,互联网中的所有设备都可以寻找这个代码,谁先找到就能获得奖励。
而寻找代码的过程,就是挖矿。
设备通过计算来筛选出符合条件的随机代码,每找到一个随机代码往往需要上万亿次的哈希运算,CPU通常会被顶到100%。
为了降低成本,黑客往往会通过入侵的方式,控制别人的计算机来帮自己挖矿。
二、被挖矿主机现象
挖矿木马最大的特点就是CPU占用高,占用高以后,电脑温度就会升高、风扇噪音也会变大,服务器上的业务变得异常缓慢。
三、挖矿木马处置思路
1)隔离
非重要业务系统直接下线隔离再做排查。
重要业务系统:在不影响业务的前提下,及时隔离当前主机,如禁用非业务使用端口、服务、配置ACL白名单。
2)确认挖矿进程
挖矿程序的进程名称一般表现为两种形式:
一种是不规则的数字或字母,这种需要检查哪些不常见的名字。
另一种是伪装成常见的进程,这种就重点看CUP占用高的进程。
3)清除木马
网络层面阻断挖矿木马与矿池的通信。
清除挖矿定时任务,启动项等。
定位挖矿文件位置并删除。
4)加固
根据挖矿木马的传播方式,修复相应漏洞,防止再次感染。
四、挖矿木马处置步骤
首先根据CPU占用率确定确定挖矿进程,找到母体文件并清除。
而后是检查计划任务、启动项中,挖矿木马的持久化操作,杜绝复发。
最后通过账号、日志、母体文件等信息,溯源攻击路径。
1)Windows
0、挖矿木马现象
CPU占用高,主机卡顿
1、排查进程
思路:
通过网络连接定位进程PID,再通过PID定位具体程序,通过任务管理器定位进程文件位置。
排查CUP占用高的、进程名异常的进程。
相关命令:
netstat -ano 查看网络连接,最常见的就是大量445的连接。
tasklist | findstr “PID” 根据PID查看具体的进程。
wmic process | findstr “进程名称” 根据进程名获取进程位置。
attrib -H 文件名 取消隐藏属性,很多时候我们定位到文件位置时,发现文件夹是空的,这时候就需要取消文件的隐藏属性并显示文件的后缀名。
2、排查账号
思路:
检查弱口令、可疑账号,比如新建账号、隐藏账号、克隆账号
相关命令:
net user查看当前系统的账号,与用户确认,是否有新建的可疑账号;询问用户账号口令是什么,是否存在弱口令。
WIN + R,输入lusrmgr.msc,查看是否有隐藏账号。
3、排查启动项
WIN + R,输入 regedit,打开注册表,看开机启动项。
WIN + R,输入msconfig 或【任务管理器】-【启动】
4、排查计划任务
【控制面板】-【计划任务】
cmd 输入at或schtasks.exe。
5、日志分析
WIN + R,输入 eventvwr.msc
重点看登录日志,看登录类型,2(网络共享)和10(远程桌面)是挖矿木马出现最多的登录类型。
根据样本文件的创建时间,排查这个时间段的登录情况。
2)Linux
1、排查进程
top命令检查CUP占用高的进程,确定PID,定位文件位置
netstat -anp 查看网络连接
ps -ef 查看可疑进程
ps -aux 查看进程
ls -alh /proc/PID 根据PID查看进程对应的可执行程序
kill -9 PID 结束进程
2、排查账号
cat /etc/passwd 查看用户信息
last 用户最近登录的信息
lastlog 所有用户最后一次登录的信息
lastb 用户登录失败的信息
history 历史命令
3、排查定时任务
crontab -l 查看计划任务
cat /etc/crontab 查看计划任务
crontab -u root -l 查看root用户的计划任务
ls /etc/cron* 查看计划任务文件
4、排查启动项
/etc/rc*
/etc/rc.d/rc
/etc/rc
/etc/rc.local
/etc/rc.d/rc.local
/etc/rc.d/rc
/etc/init/*.conf
五、挖矿木马应急实例
驱动人生挖矿木马:
利用永恒之蓝传播。
存在大量445连接行为,netstat -ano | grep 445
服务名包含drivers(\windows\system32\drivers\svchost.exe)
母体文件设置为隐藏,会创建多个计划任务(Rsta或其他随机名称),调用PowerShell。