资讯专栏INFORMATION COLUMN

[系统安全] 三十五.Procmon工具基本用法及文件进程、注册表查看

kk_miles / 1975人阅读

摘要:本文将分享软件基本用法及文件进程注册表查看,这是一款微软推荐的系统监视工具,功能非常强大可用来检测恶意软件。可以帮助使用者对系统中的任何文件注册表操作进行监视和记录,通过注册表和文件读写的变化,有效帮助诊断系统故障或发现恶意软件病毒及木马。

您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。换专业确实挺难的,逆向分析也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~

前文尝试了软件来源分析,结合APT攻击中常见的判断方法,利用Python调用扩展包进行溯源,但也存在局限性。本文将分享Procmon软件基本用法及文件进程、注册表查看,这是一款微软推荐的系统监视工具,功能非常强大可用来检测恶意软件。基础性文章,希望对您有所帮助~

作者作为网络安全的小白,分享一些自学基础教程给大家,主要是在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔!

作者的github资源:

从2019年7月开始,我来到了一个陌生的专业——网络空间安全。初入安全领域,是非常痛苦和难受的,要学的东西太多、涉及面太广,但好在自己通过分享100篇“网络安全自学”系列文章,艰难前行着。感恩这一年相识、相知、相趣的安全大佬和朋友们,如果写得不好或不足之处,还请大家海涵!

接下来我将开启新的安全系列,叫“系统安全”,也是免费的100篇文章,作者将更加深入的去研究恶意样本分析、逆向分析、内网渗透、网络攻防实战等,也将通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步,加油~

前文分析:

声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。


一.Process Monitor

1.基本介绍

Process Monitor是微软推荐的一款系统监视工具,能够实时显示文件系统、注册表(读写)、网络连接与进程活动的高级工具。它整合了旧的Sysinternals工具、Filemon与Regmon,其中Filemon专门用来监视系统中的任何文件操作过程,Regmon用来监视注册表的读写操作过程。

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

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

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

Github下载地址:https://github.com/eastmountyxz/Security-Software-Based
CSDN下载链接:https://download.csdn.net/download/lxiao428/10711509


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软件的传闻:曾经360隐私保护器曝出腾讯“窥私门”事件。当年的QQ聊天工具在暗中密集扫描电脑硬盘、窥视用户的隐私文件,另两款聊天工具MSN和阿里旺旺则没有类似行为。随即有网友曝料称,早有人通过微软Procmon(进程监视工具)发现QQ窥私的秘密。

据悉,微软这款Windows系统进程监视工具Procmon,通过对系统中的任何文件和注册表操作进行监视和记录,也能帮助用户判断软件是否存在“越轨”行为。与360隐私保护器相比,Procmon采用了类似的原理,但是监测对象更广泛,适合具备一定电脑知识的用户使用。

Procmon监测记录表明,当时的QQ会自动访问许多与聊天无关的程序和文档,例如“我的文档”等敏感位置,上网记录等。随后,QQ还会产生大量网络通讯,很可能是将数据上传到腾讯服务器。短短10分钟内,它访问的无关文件和网络通讯数量多达近万项!正常的聊天工具行为是只访问自身文件和必要的系统文件。



二.Procmon分析可执行文件

1.常见用法

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

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

  • 文件系统
  • 注册表
  • 进程:跟踪所有进程和线程的创建和退出操作
  • 剖析事件:扫描系统中所有活动线程,为每个线程创建一个剖析事件,记录它耗费的核心和用户CPU时间,以及该线程自上次剖析事件以来执行了多少次上下文转换

为了更好地定制选择,可以在过滤器中进行设置(见上图),也可以在Options菜单中选择Select Columns选项,然后通过弹出的列选择对话框来定制列的显示。常用列的选择包括:

  • Application Details
    – Process Name:产生事件的那个进程的名字
    – Image Path:进程镜像的完整路径
    – Command Line:命令行,用于启动进程
    – Company Name:进程镜像文件中的企业名称。这个文本是由应用程序的开发者来定义的
    – Description:进程镜像文件中的产品描述信息。这个文本是由应用程序的开发者定义的
    – Version:进程镜像文件中的产品版本号。这个文本是由应用程序的开发者定义的

  • Event Details
    – Sequence Number:操作在全体事件中的相对位置,也包括当前的过滤
    – Event Class:事件的类别(文件,注册表,进程)
    – Operation:特殊事件操作,比如Read、RegQueryValue等
    – Date & Time:操作的日期和时间
    – Time of Day:只是操作的时间
    – Path:一个事件引用资源的路径
    – Detail:事件的附加信息
    – Result:一个完成了的操作的状态码
    – Relative Time:一个操作相对于Process Monitor的启动后的时间,或者相对于Process Monitor的信息清除后的时间
    – Duration:一个已经完成了的操作所持续的时间

  • Process Management
    – User Name:正在执行操作的进程的用户账户名
    – Session ID:正在执行操作的进程的Windows会话ID
    – Authentication ID:正在执行操作的进程的登录会话ID
    – Process ID:执行了操作的进程的进程ID
    – Thread ID:执行了操作的线程的线程ID
    – Integrity Level:正在运行的进程执行操作时的可信级别(仅支持Vista以上系统)
    – Virtualized:执行了操作的进程的虚拟化状态



2.实例分析

下面我们采用分析开机自启动的某个“hi.exe”程序。注意,作者之前第36篇文章CVE漏洞复现文章中,将“hi.exe”恶意加载至自启动目录,这里分析它。

C:/Users/xxxx/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup

第一步,设置过滤器。
打开软件Process Moniter,并点击filter->filter。

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


第二步,执行被分析的应用。
双击应用程序会弹出“计算器”。

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


第三步,查看可执行文件的位置。
点击查找按钮,然后输入“CreateFile”。

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

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

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

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


第四步,查看注册表选项。
查寻文件“RegSetValue”。

右键选择jump to跳转到注册表。

可以看到注册表的内容,如果自启动还能看到相关键对的设置。

Windows自动重启运行的程序可以注册在下列任一注册表的位置。

  • HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Run
  • HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/RunOnce
  • HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run
  • HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/RunOnce


三.Promon分析压缩包

接着我们分析该压缩包。

第一步,过滤器设置。
打开软件Process Moniter,并点击filter->filter。在弹出的对话框中Architecture下拉框,选择Process Name填写要分析的应用程序名字,点击Add添加、Apply应用。注意,也可以增加其他过滤规则。


第二步,打开压缩包及某个文件。
未打开压缩包前运行结果如下图所示:

打开该压缩包中的“2020-02-22-china.csv”文件,这是作者Python大数据分析武汉疫情的开源代码,也推荐感兴趣的读者阅读。

Procmon显示了与WinRAR相关的操作,如下图所示。我们可以查看运行的进程、注册表等信息。


第三步,查询“china.csv”相关的文件。

可以看到临时文件,其路径为:

C:/Users/xxxx/AppData/Local/Temp/Rar$DIa14092.24700


第四步,右键点击“Jump To”跳转查看文件。


跟踪这个目录,在C盘对应目录下找到了这个文件,打开之后和本来打开的文件内容相同。

AppData/Local/Temp
它是电脑Windows系统临时存储的文件夹,会把浏览者浏览过的网站或者其它记录保存在这里。如果下次打开相应的地址,电脑会更快提取文件,甚至在没有网络时也能查看到。这是不安全的,你保密的文件文件也可能存在该位置,建议及时删除。


第五步,WinRAR压缩包内文件直接打开后,有两种关闭方式:先关闭打开的文件,再关闭打开的压缩包。另外一种方式是先关闭打开的压缩包,再关闭打开的文件。建议大家利用Process Moniter分析上述两种方式的不同点。

打开压缩包时加载的文件个数如下图所示。

先关闭word文件,再关闭winrar。注意,关闭word文件后,Process Monitor监测到了事件;再关闭winrar,Process Monitor也监测到了事件。


这仅是一篇基础性用法文章,更多实例作者希望深入学习后分享出来。比如监控某个目录下文件的创建、修改、删除、访问操作,从而保存日志为文件,以便日后分析。

  • WriteFile:写操作,依照文件大小可能产生多条
  • ReadFile:读操作,一次读会产生很多条
  • SetAllocationInformationFile:改写文件时触发
  • SetEndOfFileInformationFile:改写文件时触发
  • SetRenameInformationFile:重命名时触发
  • SetDispositionInformationFile:删除文件时触发


四.总结

写到这里,这篇文章就介绍完毕,主要包括三部分内容:

  • Procmon软件介绍
  • Procmon分析可执行文件
  • Procmon分析压缩包文件加载项,包括进程和注册表

接下来,作者将采用该工具在虚拟机中分析恶意样本,涉及知识点包括:

  • 文件活动行为分析:Procmon监控木马客户端的文件行为
  • 注册表活动行为分析:Procmon监控木马客户端的注册表设置值行为
  • 网络活动行为分析:Wireshark监控网络行为、TCP三次握手连接、被控端与控制端之间的通信过程

希望这系列文章对您有所帮助,真的感觉自己技术好菜,要学的知识好多。这是第49篇原创的安全系列文章,从网络安全到系统安全,从木马病毒到后门劫持,从恶意代码到溯源分析,从渗透工具到二进制工具,还有Python安全、顶会论文、黑客比赛和漏洞分享。未知攻焉知防,人生漫漫其路远兮,作为初学者,自己真是爬着前行,感谢很多人的帮助,继续爬着,继续加油!

欢迎大家讨论,是否觉得这系列文章帮助到您!如果存在不足之处,还请海涵。任何建议都可以评论告知读者,共勉~

武汉加油!湖北加油!中国加油!!!

(By:Eastmount 2021-02-26 晚上12点写于贵阳 http://blog.csdn.net/eastmount )


参考文献:
[1] 《软件安全》实验之恶意样本行为分析
[2] https://github.com/eastmountyxz/Security-Software-Based
[3] Process Monitor分析某个应用行为 - cui0x01
[4] https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
[5] https://wenku.baidu.com/view/aaf324150b4e767f5acfcec4.html
[6] Process Monitor中文手册 - D_R_L_T
[7] ProcessMonitor文件以及注册表监视器的使用 - Amrecs
[8] Process Monitor监控目录 - 监控文件被哪个进程操作了 - kendyhj9999

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/118789.html

相关文章

  • #yyds干货盘点#安全管理制度管理办法范文

    摘要:第四章安全管理制度发布第十条安全管理制度必须以正式文件的形式发布施行。第十一条安全管理制度由信息安全管理小组制订,信息安全领导小组审批发布。第二十条安全管理制度的修改与废止须经信息安全领导组织审批确认,信息安全管理部门备案。 字数 3610阅读 760评论 0赞 3《xxxx安全管理制度汇编》****制度管理办法****文...

    duan199226 评论0 收藏0
  • 十五章:SpringBoot与单元测试的小秘密

    摘要:本章目的基于平台整合分别完成客户端服务端的单元测试。在测试控制器内添加了三个测试方法,我们接下来开始编写单元测试代码。总结本章主要介绍了基于平台的两种单元测试方式,一种是在服务端采用注入方式将需要测试的或者注入到测试类中,然后调用方法即可。 单元测试对于开发人员来说是非常熟悉的,我们每天的工作也都是围绕着开发与测试进行的,在最早的时候测试都是采用工具Debug模式进行调试程序,后来Ju...

    hikui 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<