应急响应思路初步


应急响应思路整理

一、整体思路

应急响应核心思路:

确认事件 → 隔离止损 → 判断入口 → 排查持久化 → 定位恶意进程/文件 → 分析网络行为 → 横向排查 → 清除恢复 → 复盘加固

前面都是AI给的一个方法,但是好像是少了一步,就是可以先查看用户等等

截图

二、Windows 进程排查

查看进程:

1
2
tasklist
tasklist /v

查看进程路径、PID、PPID 和命令行:

1
wmic process get Name,ProcessId,ParentProcessId,ExecutablePath,CommandLine

PowerShell:

1
2
Get-CimInstance Win32_Process |
Select-Object ProcessId,ParentProcessId,Name,ExecutablePath,CommandLine

重点关注:

  • powershell.exe
  • cmd.exe
  • wscript.exe
  • cscript.exe
  • mshta.exe
  • rundll32.exe
  • regsvr32.exe
  • certutil.exe

重点不是这些进程本身,而是父子进程关系和命令行参数

例如:

1
2
3
4
5
6
7
8
9
WINWORD.EXE

powershell.exe

下载 Payload

abc.exe

外联 C2

三、网络连接排查

1
netstat -ano

只看已建立连接:

jietu

1
netstat -ano | findstr ESTABLISHED

根据 PID 查进程:

1
tasklist | findstr 1234

重点关注:

  • 陌生公网 IP
  • VPS / 云服务器 IP
  • 异常高位端口
  • AppDataTemp 下程序外联
  • 随机文件名进程长期外联

四、注册表持久化

1
2
3
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run"
reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Run"
reg query "HKLM\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run"

RunOnce:

1
2
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce"
reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce"

重点关注:

  • AppData
  • Temp
  • ProgramData
  • Users\Public
  • 随机 exe
  • powershell
  • cmd
  • wscript
  • mshta

五、计划任务

1
schtasks /query /fo LIST /v

PowerShell:

1
Get-ScheduledTask

重点关注:

  • 登录触发
  • 开机触发
  • 高频执行
  • 名称伪装 Update
  • PowerShell 隐藏执行
  • AppData 下的程序

六、服务排查

1
wmic service get Name,DisplayName,PathName,StartMode,State

PowerShell:

1
2
Get-CimInstance Win32_Service |
Select-Object Name,State,StartMode,PathName

重点关注:

  • AppData
  • Temp
  • Users\Public
  • 随机服务名
  • Auto 自动启动
  • 服务名称正常但文件路径异常

七、异常文件排查

最近一天文件:

1
2
3
4
Get-ChildItem C:\Users -Recurse -ErrorAction SilentlyContinue |
Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-1)} |
Sort-Object LastWriteTime -Descending |
Select-Object LastWriteTime,FullName

重点文件类型:

1
2
Get-ChildItem C:\Users -Recurse -Include *.exe,*.dll,*.ps1,*.bat,*.vbs,*.js -ErrorAction SilentlyContinue |
Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-1)}

重点目录:

1
2
3
4
5
6
7
%TEMP%
%APPDATA%
%LOCALAPPDATA%
C:\ProgramData
C:\Users\Public
Downloads
Desktop

八、Hash 和签名

计算 SHA256:

1
Get-FileHash .\suspicious.exe -Algorithm SHA256

查看数字签名:

1
Get-AuthenticodeSignature .\suspicious.exe

需要提取的 IOC:

  • 文件名
  • 文件路径
  • SHA256
  • 创建时间
  • 修改时间
  • 父进程
  • 命令行
  • IP
  • 域名
  • 端口

九、Windows 日志

重点事件 ID:

Event ID 含义
4624 登录成功
4625 登录失败
4688 进程创建
4698 创建计划任务
7045 安装服务
1102 清除安全日志

例如查看 4624:

1
2
3
4
Get-WinEvent -FilterHashtable @{
LogName='Security'
Id=4624
} -MaxEvents 50

十、银狐木马实战思路

银狐场景可以按照:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
确认告警

隔离主机

查异常进程

查网络连接

定位 C2

查 Run 注册表

查计划任务

查服务

查最近落地文件

计算 Hash

向前追溯初始入口

横向 IOC 排查

清除恢复

可能还原出的攻击链:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
用户收到微信 / QQ 文件

下载 财务通知.zip

执行 通知.exe

释放 AppData\Roaming\update.exe

写入 Run 注册表

创建计划任务

update.exe 外联 C2

下载第二阶段 Payload

远控 / 信息窃取

这里其实就是还有一个思路:比如在计划任务注册表中呀,又或者在电脑上有各种问题呀,又比如做了免杀呀

这里就是可以火绒和360两个一起用,基本上就没有太多问题了

至少能解决很多实战中真实的应急情况了

十一、面试回答

我一般先确认告警时间、主机和异常现象,保留现场并根据情况隔离主机。

然后从进程和网络连接入手,通过 tasklistwmic processnetstat -ano 定位异常进程、父子进程以及 C2。

接着排查注册表 Run、计划任务、服务和启动目录这些持久化点,再根据异常文件路径和创建时间向前追溯攻击入口,同时提取 Hash、IP、域名等 IOC。

Windows 我还会重点结合 4688、4624、7045、1102 等日志判断进程执行、异常登录、服务创建以及清日志行为。

最后根据 IOC 在其他主机做横向排查,确认影响范围,再进行清除、恢复和漏洞加固。

十二、核心思维

不要只记:

1
2
3
4
5
查进程
查端口
查注册表
查计划任务
查服务

真正应该一直追:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
攻击者怎么进来的?

谁执行了 Payload?

Payload 落在哪里?

启动了什么进程?

连接了哪个 C2?

怎么持久化?

有没有提权?

有没有横向?

有没有数据窃取?

影响了多少机器?

文章作者: wuk0Ng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wuk0Ng !
评论
  目录