Windows应急响应一般思路(二)

进程排查

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础

无论是在Windows系统还是Linux系统中,主机在感染恶意程序后,恶意程序都会启动相应的进程,来完成相关的恶意操作

Windows进程排查

对于Windows系统中的进程排查,主要是找到

  • 恶意进程的PID
  • 程序路径
  • PPID(PID的父进程)
  • 程序加载的DLL

对于进程的排查,一般有如下几种方法

任务管理器

比较直观的方法是通过【任务管理器】查看可疑程序,但是需要在打开【任务管理器】窗口后,添加【命令行】和【映射路径名称】等进程页列,以方便获取更多进程信息

tasklist

在命令行中输入【tasklist】命令,可显示运行在计算机中的所有进程,可查看进程的映像名称、PID、会话名等信息

【tasklist】命令添加特定参数,还可以查看每个进程提供的服务

  • 添加svc参数,可以显示每个进程和服务的对应情况
  • 输入【tasklist /m】命令查询进程加载的恶意进程
  • 如果要想查询特定DLL的调用情况,可以使用命令【tasklist /m DLL名称】

netstat

在命令行中输入【netstat】命令,可显示网络连接的信息,包括活动的TCP连接、路由器和网络接口信息,相关参数如下

  • -a:显示所有连接和侦听端口
  • -b:显示在创建每个连接或侦听端口时涉及的可执行程序
  • -n:以数字形式显示地址和端口号
  • -o:显示拥有的与每个连接关联的进程ID
  • -p proto:显示proto指定的协议的连接

常见的网络状态说明如下:

  • LISTENING:侦听状态
  • ESTABLISHED:建立连接
  • CLOSE WAIT:对方主动关闭连接或网络异常导致连接中断

在排查过程中,一般会使用【netstat -ano | findstr "ESTABLISHED"】命令查看目前的网络连接,定位可疑的ESTABLISHED

根据netstat里面的pid,可以再结合tasklist命令进行进程查询tasklist | findstr "PID"

注意如果攻击者做了进程迁移,这里可能搜不到对应进程

wmic

使用【wmic】命令进行查询

  • 获取系统进程信息: wmic process
  • 根据应用程序查找PID: wmic process where name="cmd.exe" get processid, executablepath, name
  • 根据PID查找应用程序: wmic process where processid="4296" get executablepath, name
  • 以 CSV格式来显示进程的名称、父进程ID、进程ID:wmic process get name,parentprocessid,processid/format :csv

其他类似命令如下:

  • wmic process get ExecutablePath,processid/format: csv
    • 以csv格式来显示进程路径、进程ID信息
  • wmic process get name,ExecutablePath,processid,parentprocessid/format: csv | findstr /I "appdata"
    • 以csv格式来显示进程的名称、进程路径、进程ID、父进程D信息
  • wmic process where processid=[PID] get parentprocessid
    • 以PID的值作为条件来获取其父进程的PID情况
  • wmic process where processid=[PID] get commandline
    • 以PID的值作为条件来获取其命令行
  • wmic process where name="malware.exe" call terminate
    • 删除"malware.exe"恶意程序的进程
  • wmic process where processid=[PID] delete
    • 删除PID为某值的进程

进程时间

WINDOWS可以借助第三方工具Process Explorer排查

进程资源管理器 - Sysinternals | Microsoft Learn

服务排查

服务可以理解为运行在后台的进程

这些服务可以在计算机启动时自动启动,也可以暂停和重新启动,而且不显示任何用户界面

服务非常适合在服务器上使用,通常在为了不影响在同一台计算机上工作的其他用户,且需要长时间运行功能时使用

在应急响应排查过程中,服务作为一种运行在后台的进程,是恶意软件常用的驻留方法

Windows服务排查

图形化方法

打开【运行】对话框,输入【services.msc】命令,可打开【服务】窗口,查看所有的服务项,包括服务的名称、描述、状态等

命令方法

  • 查看当前运行的服务: net start