ویرگول
ورودثبت نام
سید عمید قائم مقامی
سید عمید قائم مقامیبرنامه نویسی سیستم ویندوز و مهندسی معکوس و علاقه مند به آموزش.
سید عمید قائم مقامی
سید عمید قائم مقامی
خواندن ۵ دقیقه·۱ ماه پیش

Process Monitor

لیست فیلدهای قابل فیلتر در ابزار Process Monitor (Procmon) است. این فیلدها مشخص می‌کنند که شما «بر اساس چه ویژگی‌ای» رویدادها (Eventها) را فیلتر کنید. در واقع هر کدام یک ستون یا خصوصیت از رویدادهای سیستم هستند که می‌توانند مبنای Include یا Exclude شدن قرار بگیرند.

در ادامه، تمام گزینه‌های این لیست را کامل و کاربردی توضیح می‌دهم:


۱. Architecture

معماری پردازشی برنامه‌ای که رویداد را ایجاد کرده است.
نمونه‌ها:

  • x86 (۳۲ بیتی)

  • x64 (۶۴ بیتی)

  • ARM
    کاربرد: تشخیص ۳۲ یا ۶۴ بیتی بودن برنامه یا بدافزار.

۲. Authentication ID

شناسه نشست احراز هویت کاربری که فرآیند تحت آن اجرا شده است.
کاربرد: تفکیک فعالیت‌ها بین نشست‌های مختلف کاربران.

۳. Category

دسته‌بندی کلی نوع رویداد.
نمونه‌ها:

  • File System

  • Registry

  • Network

  • Process
    کاربرد: محدود کردن خروجی به یک نوع فعالیت خاص.

۴. Command Line

دستور کامل اجرای فرآیند به همراه آرگومان‌ها.
نمونه:

cmd.exe /c powershell -nop -w hidden

کاربرد: بسیار مهم در تحلیل بدافزار، چون آرگومان‌ها اغلب رفتار مخرب را مشخص می‌کنند.

۵. Company

نام شرکت سازنده فایل اجرایی (از اطلاعات دیجیتال فایل).
نمونه:

  • Microsoft Corporation
    کاربرد: تشخیص فایل‌های معتبر از فایل‌های مشکوک.

۶. Completion Time

زمان پایان انجام یک عملیات خاص.
کاربرد: بررسی مدت اجرای عملیات‌ها.

۷. Date & Time

تاریخ و زمان دقیق وقوع رویداد.
کاربرد: تحلیل دقیق تایم‌لاین فعالیت‌ها.

۸. Description

توضیح متنی فایل اجرایی (File Description).
کاربرد: شناسایی سریع برنامه از طریق متادیتا.

۹. Image Path

مسیر کامل فایل اجرایی فرآیند.
نمونه:

C:\Users\User\AppData\Roaming\malware.exe

کاربرد: یکی از مهم‌ترین فیلترها برای کشف بدافزار.

۱۰. Integrity

سطح دسترسی امنیتی فرآیند.
نمونه‌ها:

  • Low

  • Medium

  • High

  • System
    کاربرد: تشخیص اجرای برنامه با دسترسی ادمین یا سیستمی.

۱۱.Operation

نوع عملیاتی که انجام شده است.
نمونه‌ها:

  • CreateFile

  • ReadFile

  • WriteFile

  • RegSetValue
    کاربرد: فهم دقیق رفتار برنامه در سیستم.

۱۲.Parent PID

شناسه فرآیند والد.
کاربرد: بررسی زنجیره اجرای فرآیندها و ارتباط آن‌ها.

۱۳.Path

مسیر فایل یا کلید رجیستری که روی آن عملیات انجام شده است.
نمونه:

HKCU\Software\Microsoft\Windows\CurrentVersion\Run

کاربرد: شناسایی Persistence و نقاط ماندگاری بدافزار.

۱۴. PID

شناسه یکتای فرآیند.
کاربرد: دنبال کردن تمام فعالیت‌های یک فرآیند مشخص.

۱۵. Process Name

نام فایل اجرایی فرآیند.
نمونه:

  • powershell.exe

  • svchost.exe
    کاربرد: فیلتر سریع بر اساس نام فرآیند.

۱۶. Process Start

زمان شروع اجرای فرآیند.
کاربرد: تطبیق رویدادها با لحظه اجرای برنامه.

۱۷. Result

نتیجه نهایی عملیات.
نمونه‌ها:

  • SUCCESS

  • ACCESS DENIED

  • NAME NOT FOUND
    کاربرد: تشخیص موفق یا ناموفق بودن عملیات.

۱۸. Session

شماره Session ویندوز.
کاربرد: تفکیک فعالیت‌های کاربران مختلف.

۱۹. User

نام کاربری که فرآیند تحت آن اجرا شده است.
نمونه:

  • NT AUTHORITY\SYSTEM
    کاربرد: تشخیص اجرای فرآیند با سطح دسترسی سیستمی.

۲۰.Virtualized

نشان می‌دهد آیا عملیات تحت Virtualization ویندوز انجام شده است یا خیر.
کاربرد: تحلیل رفتار برنامه‌های بدون دسترسی Administrator.


برای هایلایت کردن ... باید روی آیکن مشخص شده کلیک و سپس ادامه کار رو انجام میدهیم:


این دکمه مربوط به "Process Tree" است. با کلیک روی این دکمه، نمای درختی از تمام فرآیندهای در حال اجرا و ارتباطات آنها نمایش داده می‌شود. این امکان به شما کمک می‌کند تا فرآیندهای مختلف و وابستگی‌های آنها را بهتر مشاهده کنید.


قسمت Event Properties که در بالای تصویر دیده می‌شود، جزئیات دقیق‌تری را در مورد هر رویداد (Event) که در Process Monitor ثبت می‌شود، نشان می‌دهد. این قسمت به شما اطلاعات کاملی از فعالیت‌های سیستم و فرآیندها در زمان واقعی می‌دهد.


قسمت Event:

این زبانه مشخصات خودِ رویداد را نمایش می‌دهد، مثل نوع عملیات، نتیجه و مسیر رجیستری.

​۱. Date (تاریخ و زمان رویداد)
فیلد Date زمان دقیق وقوع رویداد را به‌همراه تاریخ نمایش می‌دهد. این مقدار نشان می‌دهد عملیات رجیستری در چه لحظه‌ای توسط سیستم اجرا شده است و برای تطبیق رویداد با سایر لاگ‌ها یا خطاها بسیار کاربرد دارد.

۲. Thread (شناسه رشته اجرایی)
Thread شناسه‌ی رشته‌ای است که درون همان فرایند، عملیات مورد نظر را انجام داده است. درک Thread ID کمک می‌کند بفهمیم کدام بخش از برنامه مسئول اجرای این درخواست رجیستری بوده و در تحلیل‌های پیشرفته خطا یا کارایی به‌کار می‌آید.

۳. Class: Registry (کلاس رویداد: رجیستری)
فیلد Class نوع منبع درگیر در رویداد را مشخص می‌کند. وقتی مقدار آن Registry است، یعنی عملیات انجام‌شده مربوط به زیرسیستم رجیستری ویندوز است، نه فایل‌سیستم، شبکه یا سایر کلاس‌های منابع. این تمایز برای فیلتر کردن و تحلیل لاگ‌ها اهمیت دارد.

۴. Operation: RegQueryKey (نوع عملیات روی رجیستری)
Operation نوع عملی را که روی رجیستری انجام شده توصیف می‌کند. مقدار RegQueryKey به این معناست که فرایند در حال پرس‌وجو و خواندن اطلاعات یک کلید رجیستری بوده است، نه اینکه آن را ایجاد، حذف یا تغییر دهد. این نوع عملیات معمولاً برای خواندن تنظیمات و پیکربندی‌های نرم‌افزار استفاده می‌شود.

۵. Result: SUCCESS (نتیجه اجرای عملیات)
فیلد Result وضعیت نهایی عملیات را نشان می‌دهد. مقدار SUCCESS یعنی درخواست بدون خطا انجام شده و سیستم توانسته به کلید رجیستری موردنظر دسترسی پیدا کند. در صورت بروز خطا، مقادیر دیگری مانند NAME NOT FOUND یا ACCESS DENIED در این قسمت دیده می‌شود.

۶. Path: HKCU (مسیر کلید رجیستری)
Path مسیر کامل کلید رجیستری‌ای را که روی آن عمل انجام شده مشخص می‌کند. HKCU مخفف HKEY_CURRENT_USER است و به شاخه‌ای از رجیستری اشاره دارد که تنظیمات مخصوص کاربر فعلی ویندوز را نگه می‌دارد. تحلیل این مسیر کمک می‌کند بفهمیم کدام بخش از تنظیمات کاربر درگیر شده است.

۷. Duration: 0.0000065 (مدت زمان اجرای عملیات)
Duration مدت زمانی است که از آغاز تا پایان اجرای عملیات صرف شده است. مقدار 0.0000065 ثانیه (چند میکروثانیه) نشان می‌دهد این پرس‌وجوی رجیستری بسیار سریع انجام شده است. بررسی Duration در تعداد زیاد رویداد می‌تواند برای شناسایی گلوگاه‌های کارایی در سیستم مفید باشد.


قسمت Process:

۱. Architecture / Virtualized / Integrity

Architecture نشان می‌دهد فرایند ۳۲ بیتی است یا ۶۴ بیتی، Virtualized مشخص می‌کند آیا مجازی‌سازی فایل/رجیستری روی آن فعال است یا خیر، و Integrity سطح یکپارچگی (مثل Medium) را نمایش می‌دهد. این ویژگی‌ها میزان دسترسی و نوع رفتار حفاظتی اعمال‌شده بر فرایند را نشان می‌دهند.

۲. Session ID / User / Auth ID

Session ID شماره نشست کاربری است که فرایند در آن اجرا می‌شود، User نام کاربری‌ای است که فرایند تحت آن حساب اجرا شده و Auth ID شناسه تأیید هویت آن نشست است. این بخش کمک می‌کند بدانیم فرایند متعلق به کدام کاربر است و در چه محیطی اجرا شده است.

۳.Modules (ماژول‌ها / DLLها)

جدول پایین لیست ماژول‌ها و DLLهای بارگذاری‌شده در فرایند را با ستون‌هایی مثل Module، Address، Size، Path، Company، Version و Timestamp نشان می‌دهد. بررسی این لیست کمک می‌کند کتابخانه‌های در حال استفاده، شرکت سازنده، نسخه‌ها و محل بارگذاری را ببینیم و ماژول‌های ناشناس یا مشکوک را شناسایی کنیم.


قسمت Stack:


این پنجره به‌طور خاص اطلاعات مربوط به پشته فراخوانی (Call Stack) را نمایش می‌دهد، یعنی لیستی از توابعی که به ترتیب اجرا شده‌اند تا به رویداد فعلی برسند.

در این جدول، ستون‌ها شامل اطلاعات زیر هستند:

  • Frame: شماره مرحله در پشته فراخوانی.

  • Module: نام فایل اجرایی یا کتابخانه‌ای (DLL) که تابع از آن آمده است.

  • Location: نام تابع و آفست آن در فایل مربوطه.

  • Address: آدرس حافظه‌ای که تابع در آن قرار دارد.

  • Path: مسیر کامل فایل اجرایی یا DLL در سیستم.

این اطلاعات معمولاً برای عیب‌یابی، تحلیل عملکرد، یا بررسی خطاها استفاده می‌شوند.

Telegram: @CaKeegan
Gmail : amidgm2020@gmail.com

ویندوزwindows
۱
۰
سید عمید قائم مقامی
سید عمید قائم مقامی
برنامه نویسی سیستم ویندوز و مهندسی معکوس و علاقه مند به آموزش.
شاید از این پست‌ها خوشتان بیاید