[知识小节]Process Monitor介绍(上)

Process Monitor

1、工具基本介绍

2、使用场景

3、常见用法

4、实例分析


1、工具基本介绍

Process Monitor是微软推荐的一款系统监视攻击,能供实时显示文件系统、注册表、网络连接于进程活动的攻击工具。它整合了一些工具,其中Folemon专门用来监视系统中的任何文件操作过程,Regmon用来监视注册表的读写操作过程。


  • Filemon:文件监视器
  • Regmon:注册表监视器


同时。Process Monitor增加了进程ID、用户、进程可靠度等监视项。它的强大功能足以使Process Monitor成为您系统中的核心组件以及病毒探测工具。

[知识小节]Process Monitor介绍(上)

Process Monitor可以帮助使用者对系统中的任何文件、注册表操作进行监视和记录,通过注册表和文件读写的变化。有效帮助诊断系统故障或者发现恶意软件、病毒及木马。

2、使用场景

运行Process Monitor建议使用管理员模式,当你启动Process Monitor后,它就开始监听三类操作,包括:文件系统、注册表、进程。


文件系统

Process Monitor显示所有的Windows文件系统活动,包括本地磁盘和远程文件系统。它会自动探测到新的文件系统设备并监听它们。所有的系统路径都会被显示为相对于在用户会话中的一个文件系统操作的执行。想在列表中清除文件系统的操作,在Process Monitor工具栏上反选“文件系统”按钮,再按下可以增加对文件系统的监听。


注册表

Process Monitor记录所有的注册表操作并显示使用常见的注册表根键缩写来显示注册表路径(如HEKY_LOCAL_MACHINE 缩写为HKLM)。想在列表中清除注册表的操作,在Process Monitor工具栏上反选“注册表”按钮,再次按下可以增加对注册表的监听。


进程

在Process Monitor的进程/线程监听子系统中,它将跟踪所有进程/线程的创建和退出操作,包括DLL和设备驱动程序的加载操作。想在列表中清除进程的操作,在Process Monitor工具栏上反选“进程”按钮,再次按下可以增加对进程的监听。


网络

Process Monitor使用“Windows事件跟踪(ETW)”来跟踪并记录TCP和UDP活动。每个网络操作包括源地址和目标地址,还有发送和接受到的一些数量的数据,但不包括真实的数据。想在列表中清除网络的操作,在Process Monitor工具栏上反选“网络”按钮,再次按下可以增加对网络的监听。


性能分析

这个事件类可以在“选项”菜单中启用。当处于“启用”状态,Process Monitor扫描系统中所有活动的线程并为每个线程生成一个性能分析事件,记录了内核模式和用户模式的CPU时间消耗,还有许多在上个性能分析事件后已被线程执行的环境开关。

3、常见用法

下载Procmon.exe软件后,双击直接启动,Procmon会自动扫描分析系统当前程序的运行情况。其中,下图中四个常用按钮作用分别为:捕获开关、清屏、设置过滤条件、查找。最后5个并排的按钮,使用来设置捕获那些类型的时间,分别表示注册表的读写、文件的读写、网络的连接、进程和线程的调用和配置事件。一般使用前面两个。分别是注册表和文件操作。

[知识小节]Process Monitor介绍(上)

输出结果包括序号、时间点、进程名称、PID、操作、路径、结果、描述等,监控项通常包括:

1、文件系统

2、注册表

3、进程:跟踪所有进程和线程的创建和退出操作

4、刨析事件:扫描系统中所有活动线程,为每个线程创建一个刨析事件,记录它耗费的核心和用户CPU的时间,以及线程自上次刨析事件以来执行了多少次上下文转换。


[知识小节]Process Monitor介绍(上)

为了更好地定制选择,也可以在Options菜单中选择Select Columns选项,然后通过弹出的列选择对话框来定制列的显示。常用列的选择包括:


1、Application Details

– Process Name:产生事件的那个进程的名字

– Image Path:进程镜像的完整路径

– Command Line:命令行,用于启动进程

– Company Name:进程镜像文件中的企业名称。这个文本是由应用程序的开发者来定义的

– Description:进程镜像文件中的产品描述信息。这个文本是由应用程序的开发者定义的

– Version:进程镜像文件中的产品版本号。这个文本是由应用程序的开发者定义的


2、Event Details

– Sequence Number:操作在全体事件中的相对位置,也包括当前的过滤

– Event Class:事件的类别(文件,注册表,进程)

– Operation:特殊事件操作,比如Read、RegQueryValue等

– Date & Time:操作的日期和时间

– Time of Day:只是操作的时间

– Path:一个事件引用资源的路径

– Detail:事件的附加信息

– Result:一个完成了的操作的状态码

– Relative Time:一个操作相对于Process Monitor的启动后的时间,或者相对于Process Monitor的信息清除后的时间

– Duration:一个已经完成了的操作所持续的时间


3、Process Management

– User Name:正在执行操作的进程的用户账户名

– Session ID:正在执行操作的进程的Windows会话ID

– Authentication ID:正在执行操作的进程的登录会话ID

– Process ID:执行了操作的进程的进程ID

– Thread ID:执行了操作的线程的线程ID

– Integrity Level:正在运行的进程执行操作时的可信级别(仅支持Vista以上系统)

– Virtualized:执行了操作的进程的虚拟化状态

4、实例分析

下面这个链接是我分析的程序piolt.exe, 大家可以下载使用


链接:https://pan.baidu.com/s/1RLkF1-LZlByGLpDzmbHVtA

提取码:8189


自启动目录:


Win 7/10:C:\Users\xxxx\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup


Win XP:C:\Documents and Settings\Administrator\「开始」菜单\程序\启动

[知识小节]Process Monitor介绍(上)

第一步,打开过滤器

打开软件Procmon,点击filter-> filter


在弹出的对话框中Architecture下拉框,选择Process Name填写要分析的应用程序名字,点击Add添加,最后点击右下角的Apply。

[知识小节]Process Monitor介绍(上)

第二步,执行被分析的应用


双击exe程序弹出”计算器“

[知识小节]Process Monitor介绍(上)

可以看到Process Mointor监控到应用的行为。

[知识小节]Process Monitor介绍(上)

第三步,查看可执行文件的位置

点击查找按钮,然后输入“CreateFile”

[知识小节]Process Monitor介绍(上)

找到该选项之后,我们右键点击“Jump To”。

[知识小节]Process Monitor介绍(上)

我们可以去到该文件所在的文件夹下,即:

[知识小节]Process Monitor介绍(上)

上一篇:CentOS 7部署Kafka和Kafka集群


下一篇:c++ Factor泛型编程示例