sysmon中怎么检测进程篡改

发布时间:2021-08-03 16:04:55 作者:Leah
来源:亿速云 阅读:291
# Sysmon中怎么检测进程篡改

## 引言

在当今复杂的网络安全环境中,攻击者常通过**进程注入**、**进程替换**或**进程伪装**等技术篡改合法进程以绕过检测。Microsoft Sysmon(系统监视器)作为一款强大的轻量级工具,能够通过深度事件日志记录帮助安全团队识别此类恶意行为。本文将详细解析如何利用Sysmon检测进程篡改行为。

---

## 一、Sysmon基础配置

### 1.1 安装与基本配置
Sysmon需配合配置文件(XML格式)使用,以下为检测进程篡改的关键配置模块:

```xml
<Sysmon schemaversion="4.90">
  <EventFiltering>
    <!-- 进程创建事件 -->
    <ProcessCreate onmatch="exclude">
      <Image condition="end with">C:\Windows\explorer.exe</Image>
    </ProcessCreate>
    
    <!-- 进程篡改检测规则 -->
    <ProcessTampering onmatch="include">
      <TargetImage condition="contains">C:\Program Files</TargetImage>
    </ProcessTampering>
  </EventFiltering>
</Sysmon>

1.2 关键事件ID


二、检测进程篡改的核心技术

2.1 进程注入检测(事件ID 8)

攻击者常用CreateRemoteThread进行代码注入,Sysmon可记录以下特征:

<RuleGroup name="DLL Injection Detection">
  <RemoteThreadCreate onmatch="include">
    <SourceImage condition="contains">malware.exe</SourceImage>
    <TargetImage condition="is">C:\Windows\system32\lsass.exe</TargetImage>
  </RemoteThreadCreate>
</RuleGroup>

分析要点: - 异常源进程(如非管理员启动的进程调用lsass.exe) - 目标进程为敏感系统进程(svchost.exe, explorer.exe等)

2.2 进程空心化(Process Hollowing)

攻击者通过挂起合法进程→替换内存内容→恢复执行的方式实现伪装。检测规则:

<ProcessTampering onmatch="include">
  <Type condition="is">Hollowing</Type>
  <TargetImage condition="end with">chrome.exe</TargetImage>
</ProcessTampering>

关联事件: - 父进程与子进程路径不匹配 - 进程内存区域异常修改(需配合内存扫描工具)

2.3 进程替换攻击

通过覆盖合法二进制文件实现持久化,需监控:

<FileCreate onmatch="include">
  <TargetFilename condition="contains">C:\Windows\System32\</TargetFilename>
  <Hashes condition="not contains">SHA256=合法哈希值</Hashes>
</FileCreate>

三、高级检测策略

3.1 基线比对技术

  1. 建立合法进程行为基线:

    • 常见子进程关系(如winword.exe启动cmd.exe应告警)
    • 典型内存加载范围(通过Sysmon -m记录模块加载)
  2. 使用Sigma规则实现自动化检测:

title: Suspicious Process Hollowing
logsource:
  product: windows
  service: sysmon
detection:
  selection:
    EventID: 25
    Type: "Hollowing"
  condition: selection

3.2 线程上下文分析

通过GetThreadContext API检测异常线程属性: - 线程起始地址位于非镜像内存区域 - 线程调用栈包含非常规模块(如kernel32.dll直接调用敏感API)


四、实战案例分析

案例:Emotet恶意软件注入

  1. 攻击链

    • 钓鱼文档 → 宏代码启动powershell.exe
    • 注入到rundll32.exe进程
  2. Sysmon日志特征

EventID: 8
SourceProcess: powershell.exe
TargetProcess: rundll32.exe
StartAddress: 0x00007FFA12A80000 (非rundll32默认内存区域)
  1. 检测规则优化
<RemoteThreadCreate onmatch="include">
  <StartModule condition="is">UNKNOWN</StartModule>
</RemoteThreadCreate>

五、防御建议

  1. 配置强化

    • 启用ProcessTampering事件(需Windows 10 20H1+)
    • 监控敏感进程的线程创建行为
  2. 响应流程

    graph TD
     A[发现异常进程行为] --> B{验证父进程合法性}
     B -->|合法| C[基线比对]
     B -->|非法| D[立即终止进程]
     C --> E[内存取证分析]
    
  3. 补充工具

    • 使用Process Explorer验证进程签名
    • 通过Volatility进行内存分析

结语

Sysmon通过精细的事件日志为进程篡改检测提供了坚实基础,但需注意: - 需定期更新规则库以应对新型攻击技术 - 需与EDR、网络流量分析等方案联动 - 高精度检测可能产生误报,需人工验证

推荐扩展阅读: - MITRE ATT&CK T1055(进程注入技术矩阵) - Sysmon官方文档中的ProcessTampering事件说明 “`

(注:实际字数约1250字,可根据需要增减案例细节或配置示例)

推荐阅读:
  1. CentOS下自动发邮件检测某进程是否存在
  2. .NET代码混淆控件Dotfuscator检测篡改

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sysmon

上一篇:Activity中怎么实现页面切换效果

下一篇:如何解决某些HTML字符打不出来的问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》