SysinternalsSuite工具使用之Procmon

文章目录
  1. 1. 通过堆栈查看功能查看某个功能API调用
  • SysinternalsSuite工具使用索引
  • SysinternalsSuite工具箱是windows系统上强大的系统辅助套装,Procmon是其中最常用的工具之一,是Windows系统下最好用的实时监控工具,功能强大、稳定、兼容性好。可用于监控文件系统、进程线程活动、网络、注册表活动,能够对Windows系统全局事件进行监控,并提供强大的过滤功能,我认为就是监控Windows系统的wireshake。主要用途如下:

    • 注册表:监控注册表的创建、读取、删除或查询操作。
    • 文件系统:监控本地磁盘或网络驱动器中文件的创建、写入、删除等操作。
    • 网络:监控进程的 TCP/UDP 源和目标及流量。
    • 进程:可以被动监控进程和线程的活动,包括线程的启动或退出等。不过通常情况下我们都使用 Process Explorer 来监控进程。
    • 性能分析:Process Monitor 还可以捕获进程的 CPU 时间和内存使用,通常情况下这些信息我们也主要依赖 Process Explorer 来监控分析 ##原理
      ProcMon是由FileMon、Regmon等几个程序功能集合发展而来的,在之前的版本中系统工具中一般是采取hook一些内核关键函数的方式,通过hook函数获得系统调用信息(恶意软件的Rootkit实现方式也基本这样),各个监控软件都有不同的实现,导致软件兼容性不好,不同的hook实现效果也不一样。在Windows vista之后的x64系统,为了系统稳定性防止内核代码被patch而引入了PatchGuard技术,这样之前的hook方式就不能用了,但是微软提供了一个过滤框架方便安全软件及一些系统监控软件(其实之前就有了,但是能用为什么要改呢),Procmon实现方式就是利用这些过滤函数,兼容性相当好。
      大概如下:
      进程线程:
      PsSetCreateProcessNotifyRoutine、PsSetLoadImageNotifyRoutine(Ex)、PsSetCreateThreadNotifyRoutine、PsSetLoadImageNotifyRoutine等
      文件:
      FltRegisterFilter等
      注册表:
      CmRegisterCallback(Ex)、DbgkLkmdRegisterCallback

    ##用法

    具体用法参考Procmon参考文档,英文看起来比较麻烦的可以看中文【翻译】Process Monitor中文手册

    ##使用情景

    ###辅助分析病毒
    【原创】纯小白系列之病毒分析(一)

    ###分析系统启动记录
    利用ProcMon的boot
    logging功能先创建监控记录,然后可以通过一些过滤条件得到系统启动记录。
    进程启动


    进程启动

    进程启动监控过滤条件:operation is Process Create
    启动过程

    Win10x64具体启动过程

    dll劫持
    具体内容看这深入解析DLL劫持漏洞


    DLL劫持

    ###溯源追踪
    找出一些设置的注册表值
    1.先分析某个操作的具体动作,设置过滤条件
    2.开始动作,抓取行为信息,分析PML抓取结果

    通过堆栈查看功能查看某个功能API调用

    不显示对话框格式化磁盘的方法

    ##可能不足的地方
    1.不能看到每个操作的具体具体数据
    2.不能直接像wireshake一样Follow一个事件,需要自己设置filter条件

    SysinternalsSuite工具使用索引

    DebugView—使用DebugView实时显示Log

    上一篇: Ubuntu Boost使用小记
    下一篇: Hello 2016