背景:总结一下遇到挖矿时应该如何做应急响应与溯源分析。
1. 挖矿特征分析
当服务器或PC处于什么样的状态时,我们可以判定为被挖矿。通常来说,当我们的服务器或PC资源(CPU)使用率接近或超过100%,并持续高居不下导致服务器或PC操作延缓,我们就可以判定被挖矿。常见挖矿其它特征如下:
- 服务器或PC访问[过]不受信任的地址,这些地址包括:主机、IP、域名。这是由于大部分挖矿都需要从一个不受信任的地址下载初始化程序,而不受信任的来源主要是:第三方情报结构,企业内部历史数据沉淀。
- 服务器或PC新增异常或恶意文件、进程或服务,并且大部分异常文件保存在服务器或PC的TMP目录中。
- 服务器或PC的定时任务发生变更。
2. 挖矿应急响应流程
PS:在整个处理挖矿的应急响应过程中,我们应该严格执行做好记录与备份工作。包括对分析过程中的命令、分析的文件都做好记录与备份。
这里的流程是一个最简化的流程,通常对于小B来说完整的流程包括:
2.1 确认告警是否属于挖矿
通常我们都是通过告警的形式得知服务器或PC被挖矿。这个时候我们首先需要判断告警是否属于误报,如果不是误报那么需要确认告警是否真的属于恶意挖矿,如果不属于需要丢到其它的应急响应流程中,如果属于挖矿就需要进行后续的处理。
下面是一些常见的确认挖矿方法:
2.1.1 Windows确认挖矿
- 使用图形化界面分析确认
a. 打开任务管理器
:Ctrl + Alt + Delete
快捷键 或者 win + r
快捷键,输入 taskmgr
;
b. 在任务管理器
中找到资源管理器
;
c. 通过资源管理器
找到占用CPU资源较高的服务或进程,获取其PID信息;
d. 利用获取的PID信息在任务管理器
中的详细信息
一栏中找到对应的程序,右键打开文件位置
,获取异常文件目录;
e. 进入到异常文件目录中,对文件进行分析,确认是否属于挖矿程序;
- 使用命令分析确认:打开终端或powershell:
win + r
快捷键,输入cmd
# 获取所有进程详情并将结果输出到tmp.txt文件
wmic process get caption,commandline /value >> tmp.txt
# 获取单一进程详情
wmic process where caption=”svchost.exe” get caption,commandline /value
# 获取子进程的父进程信息
wmic process where Name="svchost.exe" get ParentProcessID
- 使用第三方工具分析确认:各有千秋,大家自己选择。
- Process Monitor:无需安装