【应急响应】Windows应急响应手册(准备阶段、挖矿病毒)


前言

本篇文章主要以WIndows系统为例围绕红蓝对抗和攻防角度实施应急响应的技术手段,以多方面、多维度进行展开,对于常见的应急事件所采取的应对措施进行阐述,希望对从事网安工作的小伙伴们有所帮助!

一、事前准备

操作系统基本配置

1、开启显示隐藏文件和文件后缀
(1)Windows Server 2016:文件资源管理器=>查看=>勾选文件扩展名、隐藏的项目
在这里插入图片描述
(2)Windows 10:文件夹(文件资源管理器)=>查看=>勾选文件扩展名,隐藏的项目
在这里插入图片描述
(3)Windows 7:文件夹=>工具=>文件夹选项=>查看=>勾选显示隐藏的文件=>取消勾选隐藏已知文件类型的扩展名
在这里插入图片描述

工具准备

  • 写保护 U 盘
  • 数据盘
  • 启动 U 盘
  • Windows Server 系列虚拟机或镜像
  • 建议同时准备 32 位工具,以应对 32 位操作系统

1、排查工具

  • System Informer
  • OpenArk
  • 火绒剑
  • D盾
  • Sysinternals Suite
  • Windows 调试工具集
    https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugger-dow
    nload-tools
  • 编程语言解析环境
    如果你的检查工具依赖于解释器,自行准备好,尽量避免使用受害主机上的环境
  • ⼀套基本功能的小工具,类似于 busybox
  • 日志分析工具 (例如 FullEventLogView)
  • LastActivityView 最近活动记录查看器
  • Netsh (系统自带) 流量监控⼯具
  • Wireshark 流量分析工具

2、杀毒工具

  • 360
  • 火绒
  • 腾讯安全管家
  • webshell 查杀⼯具
  • D盾
  • 安全狗
  • 深信服-僵尸网络查杀⼯具

3、漏洞验证工具

  • Fscan
  • Goby
  • Nuclei

4、编解码与文本对比工具

  • 编解码&文本对比
    He3

5、内网文件传输工具

  • Localsend

6、日常使用小工具

  • Everything
  • bandzip 或 360 压缩
  • Edge 或 Chrome 浏览器
  • 代码编辑器
    VSCode
    Sublime
    Editplus

二、挖矿病毒

确定IOC信息

ioc 主要以域名、IP地址、文件md5 为主,通过内网dns服务器、dns防⽕墙、流量审计设备、主机安全等设备获取

根据IOC信息确定挖矿程序具体家族类型

  • Virustotal – https://www.virustotal.com/gui/
  • 深信服威胁情报中心 – https://ti.sangfor.com/analysis-platform?lang=ZH-CN
  • 微步在线 – https://x.threatbook.com/
  • venuseye – https://www.venuseye.com.cn/
  • 安恒威胁情报中心 – https://ti.dbappsecurity.com.cn/
  • 360威胁情报中心 – https://ti.360.cn/
  • 绿盟威胁情报中心 – https://ti.nsfocus.com/
  • AlienVault – https://otx.alienvault.com/
  • RedQueen安全智能服务平台 – https://redqueen.tj-un.com/IntelHome.html
  • IBM X-Force Exchange – https://exchange.xforce.ibmcloud.com/
  • ThreatMiner – https://www.threatminer.org/
  • 腾讯威胁情报中心 – https://tix.qq.com/
  • 安天威胁情报中心 – https://www.antiycloud.com/#/antiy/index

获取异常进程的pid

1、CPU占用
(1)任务管理器

Ctrl+Shift+Esc 或图形化在下边栏右键,打开任务管理器,点击详细信息标签
在这里插入图片描述
可以通过点击 CPU 标题列来按照 CPU 占用降序排序,这样就可以获取到异常进程的
pid

(2)PowerShell

Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First
5 ProcessName,Id,CPU

在这里插入图片描述
这里列出了 CPU 占用前 5 的进程以及 PID ,但是不是很直观显示占用率

(3)Process Explorer

https://learn.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
https://download.sysinternals.com/files/ProcessExplorer.zip

在这里插入图片描述
这个工具现在已经是微软官方的工具,界面看起来和任务管理器差不多,实质上它还有⼀个功能,就是替换系统的任务管理器

(4)Process Hacker

https://processhacker.sourceforge.io/

在这里插入图片描述
看起来和 process explorer 看起来差不多,功能选项也差不多,功能项数似乎少⼀些,
也是通过点击就可以看到进程 CPU 占用信息

(5)System Informer

应该是 process hacker 开发者的新项目,支持多种cpu架构
https://systeminformer.sourceforge.io/
在这里插入图片描述
这个项目还在不断更新,可以考虑使用

2、内存占用

(1)任务管理器
在这里插入图片描述
点击内存标题列,降序排序

(2)PowerShell

Get-Process | Sort-Object -Property WorkingSet -Descending | Select-Object -Property Id, ProcessName, WorkingSet -First 5

在这里插入图片描述
(3)Process Explorer

https://learn.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
https://download.sysinternals.com/files/ProcessExplorer.zip

在这里插入图片描述
通过点击 Working Set 降序排序获取内存占用较高的进程 pid

(4)Process Hacker

https://processhacker.sourceforge.io/

在这里插入图片描述
通过点击 Private bytes 降序排序获取内存占用较高的进程 pid

(5)System Informer

应该是 Process hacker 开发者的新项目,支持多种CPU架构
https://systeminformer.sourceforge.io/
在这里插入图片描述
使用方法与 Process hacker 基本⼀致

3、网络占用

(1)资源监视器

任务管理器 -> 性能 -> 点击下方 打开资源管理器 或可以通过搜索 resmon 启动
在这里插入图片描述
点击网络标签
在这里插入图片描述
在这里可以看到网络占用较高的进程,也可以通过点击列标题进行排序

(2)Process Hacker

https://processhacker.sourceforge.io/

在这里插入图片描述
标题栏右键,选择显示的栏
在这里插入图片描述
根据实际需要,找到添加显示的栏,这里以 Network total rate 为例
在这里插入图片描述
按照 Network total rate 降序排列,就可以找到流量占用较大的进程 pid

(3)System Informer

应该是 Process Hacker 开发者的新项目,支持多种CPU架构

https://systeminformer.sourceforge.io/

在这里插入图片描述
在标题栏右键,点击 Choose columns
在这里插入图片描述
这⾥可以通过搜索 network 可以快速筛选出与网络相关的栏,这里就是按照实际需求选择了,这里以总的网络速度为例 ( Network total rate )
在这里插入图片描述
这里按照选择的栏进行降序排序就好

(4)内存搜索关键字

将已获取的域名、IP等作为关键字,使用僵尸网络查杀工具在内存中进行搜索
在这里插入图片描述
在这里插入图片描述
成功发现恶意程序

(具体使用方法见 小技巧->0x03内存中搜索字符串)

寻找恶意样本

经过以上步骤,已经确定了恶意进程的pid,接下来我们通过pid找到恶意文件位置以及恶意文件启动时的参数

1、任务管理器

任务管理器默认情况显示的列里没有文件位置以及启动参数,可以通过调整显示列来显示
在这里插入图片描述
在这里插入图片描述
勾选 路径名称命令行
在这里插入图片描述至于其他与任务管理器类似的程序也是⼀样的逻辑

2、PowerShell

将以下内容保存为 Powershell 脚本 file.ps1 ,之后在 Powershell 终端中执行就可
以了

$maliciousPid = <恶意进程的PID>
$process = Get-WmiObject -Class Win32_Process -Filter "ProcessId =$maliciousPid"
$processName = $process.Name
$processPath = $process.ExecutablePath
$commandLine = $process.CommandLine

Write-Host "进程名称:" -NoNewline -ForegroundColor Green
Write-Host $processName
Write-Host "进程文件位置:" -NoNewline -ForegroundColor Green
Write-Host $processPath
Write-Host "命令行参数:" -NoNewline -ForegroundColor Green
Write-Host $commandLine

在这里插入图片描述
当然,也可以变成一行

$maliciousPid=7592; $process=Get-WmiObject -Class Win32_Process -Filter "ProcessId = $maliciousPid"; $processName=$process.Name;
$processPath=$process.ExecutablePath; $commandLine=$process.CommandLine;Write-Host "进程名称:" -NoNewline -ForegroundColor Green; Write-Host $processName; Write-Host "进程文件位置:" -NoNewline -ForegroundColor Green; Write-Host $processPath; Write-Host "命令行参数:" -NoNewline -ForegroundColor Green; Write-Host $commandLine

在这里插入图片描述
3、wmic

wmic process where ProcessId=17996 get Name, ExecutablePath, CommandLine /format:list

在这里插入图片描述
4、Process Explorer

在这里插入图片描述
在这里插入图片描述
当然,在 Process Explorer 中还可以在选中异常进程后,右键 Properties 看该进程的
详细信息
在这里插入图片描述
在这里插入图片描述
5、Process Hacker

在这里插入图片描述
在这里插入图片描述
也可以通过右键的方式来查看
在这里插入图片描述
6、System Informer

在这里插入图片描述
在这里插入图片描述
也可以通过右键进行查看
在这里插入图片描述
7、OpenArk

https://openark.blackint3.com/
https://github.com/BlackINT3/OpenArk

OpenArk 也是⼀款集成性的安全排查工具,用于对抗 Rootkit
在这里插入图片描述
在这里插入图片描述
可以查看属性
在这里插入图片描述

确定进程启动时间

这一步骤的主要意义在于对比进程启动时间与恶意文件的相关时间,确定在进程启动后,该文件是否修改过

根据上属信息简单判断一下启动该异常进程的文件是否为我们找到的文件

1、PowerShell

$maliciousPid = <恶意进程的PID>
$process = Get-Process -Id $maliciousPid
$startTime = $process.StartTime
Write-Host "startTime:" -NoNewline
Write-Host $startTime

以上代码放在start_time.ps1中,然后去运行
在这里插入图片描述
压缩成一条命令

$maliciousPid=<恶意进程的PID>; $startTime=(Get-Process -Id $maliciousPid).StartTime; Write-Host "进程启动时间:" -NoNewline; Write-Host $startTime

在这里插入图片描述
2、wmic

wmic process where ProcessId=<进程PID> get ProcessId, CreationDate

在这里插入图片描述
wmic 的显示格式不是很友好,但是依旧可读,而且更加详细。

3、Process Explorer
在这里插入图片描述
在这里插入图片描述
当然还是可以通过右键属性的方式查看
在这里插入图片描述
4、Process Hacker
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5、System Informer

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6、OpenArk

在这里插入图片描述
在这里插入图片描述
7、获取异常文件的时间信息

文件浏览器
在这里插入图片描述
Process Explorer
在这里插入图片描述
在这里插入图片描述

处理异常进程

1、恶意文件样本采样

在 Windows上这个就简单多了,可以直接通过网络或者U盘等介质进行取样

2、威胁分析

既然有了恶意样本,可以通过人工或在线平台进行分析
  • 微步云沙箱 – https://s.threatbook.com/
  • Virustotal – https://www.virustotal.com/gui/home/upload
  • virscan – https://www.virscan.org/
  • 哈勃 – https://habo.qq.com/
  • jotti – https://virusscan.jotti.org/
  • scanvir – http://www.scanvir.com/
  • 魔盾 – https://www.maldun.com/submit/submit_file/
  • HYBRID – https://www.hybrid-analysis.com/
  • 奇安信情报沙箱 – https://sandbox.ti.qianxin.com/sandbox/page
  • 大圣云沙箱检测系统 – https://sandbox.freebuf.com/
  • YOMI – https://yomi.yoroi.company/upload
  • 360沙箱云 – https://ata.360.net/
  • 安恒云沙箱 – https://sandbox.dbappsecurity.com.cn/

3、寻找病毒分析报告

  • 深信服EDR团队安全情报分析
  • 火绒安全最新资讯
  • 安全客
  • Freebuf
  • 微步在线 X 情报社区
  • 安天

4、进程查杀

我们不仅可以杀死进程及进程树,还可以让进程暂停(Suspend)或者进程重启。
进程查杀是一个危险操作,所以可以考虑先暂停,看看是否符合预期,再决定是否杀死进程。
需要注意的是,即使暂停了进程,该进程的网络连接不见得会断,一般情况下无法发送和接受数据。

(1)暂停进程

【资源监视器】
在这里插入图片描述
在这里插入图片描述
进程暂停后,ping的动作随即暂停

在这里插入图片描述
进程处于暂停状态时,可以恢复进程执行,也可以直接结束掉进程或进程树,我们尝试恢复
在这里插入图片描述
被暂停掉的进程继续执行,暂停和恢复前pid不会发生变化

通过暂停以及恢复,我们基本可以确定要被处理的进程是否为该进程,当然,如果有必要的话才这么做

【PsSuspend】

https://learn.microsoft.com/zh-cn/sysinternals/downloads/pssuspend
https://download.sysinternals.com/files/PSTools.zip

暂停进程

pssuspend.exe <进程id>

在这里插入图片描述
恢复进程

pssuspend.exe -r <进程id>

在这里插入图片描述
其他图形化工具基本上都是右键,点击选择就可以了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)杀死进程

【taskkill】

taskkill /F /PID <进程ID>

在这里插入图片描述
【PowerShell】

Stop-Process -Id <进程ID> -Force

在这里插入图片描述
【wmic】

wmic process where ProcessId=<进程ID> call Terminate

在这里插入图片描述
【pskill】

https://download.sysinternals.com/files/PSTools.zip

pskill64.exe <进程ID>

在这里插入图片描述

【资源监视器】

在这里插入图片描述

其他图形化工具也是类似的使用方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)杀死进程树

如果恶意进程所在的整个进程树都是恶意的,那就需要杀死整个进程树。在某个进程上杀死进程树就是杀死由该进程起的所有子孙进程。

!!!杀死进程树过程需谨慎操作!!!

查看进程树

这件事自带的工具并不直观,需要借助第三方工具,工具如下几种

【Process Explorer】

在这里插入图片描述
在这里插入图片描述
可以看到, PING.EXE 进程的父进程为 cmd.exe pid3252 , 再上⼀层父进程为
explorer.exe pid3140

如果此时在 PING.EXE 上右键,杀死进程和杀死进程树是没有大区别的,因为 PING.EXE 并没有子进程,但是如果在上⼀层 cmd.exe 上杀死进程树,那么 cmd.exe (pid: 3252)
以及其子进程 conhost.exePING.exe 也会被杀死

尝试在 PING.EXE 右键杀死进程树
在这里插入图片描述
在这里插入图片描述
可以看到,其实只有 PING.EXE(pid:6656)自己被杀死了

我们再启动 PING.EXE ,尝试在 conhost.exe (pid: 5240) 进程右键杀死进程树
在这里插入图片描述
在这里插入图片描述
虽然 cmd 的黑框框消失了,但是 PING.EXE 还在继续运行,如果仅在 cmd.exe (pid: 5272) 上右键,仅杀死进程
在这里插入图片描述
PING.EXE进程还是会继续运行下去,接下来尝试 “赶尽杀绝” ,尝试重新起一个 cmd
并且执行PING.EXE ,在 cmd 进程上右键杀死进程组
在这里插入图片描述
在这里插入图片描述
这回由该 cmd.exe (pid:5500) 其的进程以及子进程都被杀死了。

【Process Hacker】

Process Hacker 以进程树形式显示的话,没有找到相关选项,可能默认就是吧,如果你
的不是,可以通过以下方法实现
在这里插入图片描述
点击 Name 标题栏三次,其实就是我们之前排序,第三次正好是取消排序,之后就会以进程树的形式显示,剩下的使用方法和 Process Explorer ⼀样了

【System Informer】

基本与 Process Hacker ⼀样
在这里插入图片描述

这里需要提一点,可以看到,在PING.EXE上右键时,结束进程树的按钮是灰色的,这些小细节应该就是System InformerProcess Hacker相比进步的地方吧,所以现在比较建议用新工具,当然前提是你测试过没有蓝屏这种严重bug

(4)杀死线程

这是一个更加危险的操作,可能对操作系统的稳定性产生影响

【 System Informer 】

在这里插入图片描述
通过右键 -> 属性( Properties ) -> Threads 就可以看到该进程具体的线程信息了
在线程上右键就可以选择 Terminate 来杀死线程
在这里插入图片描述
在这里插入图片描述
可以看到,杀死 PING.exe 进程中的⼀个线程后, 原本的 ping 命令卡死了,不再输出
ping 命令的信息,但是并没有退出(结束进程),进程依旧活着,⽽且剩余两个线程也没有退出

过了几秒

在这里插入图片描述

整个进程就死掉了

Process Explorer 会提示下载一个其他程序,但是不下载也能显示,System Informer 没有这个提示

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李火火安全阁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值