Process Monitor (ProcMon) pentru monitorizarea modificărilor aduse fișierelor și registrului

Configurare noua (How To)

Situatie

Instrumentul Process Monitor (ProcMon) este utilizat pentru a monitoriza activitatea diverselor procese din sistemul de operare Windows. Acest utilitar vă permite să vizualizați în timp real modul în care procesele accesează fișierele de pe disc, cheile de registru, activitatea de rețea etc.

Ce poți face cu ProcMon?

Urmăriți evenimentele de pornire și oprire ale proceselor și firelor de execuție, inclusiv informații despre codul de ieșire (utilitarul capturează evenimentul Process Exit, care furnizează starea de ieșire);
Colectați date despre parametrii operațiunilor de intrare și ieșire. Este important de reținut că acest instrument nu numai că afișează acești parametri, ci și rezultatul (de exemplu, SUCCESS, NAME NOT FOUND, ACCESS DENIED);
Setați filtre pentru a afișa numai informațiile necesare. De exemplu, despre acțiunile unui proces specific, accesul la un anumit fișier sau la o cheie de registru;
Înregistrați toate operațiunile din timpul pornirii sistemului (procesele de pornire, serviciile, încărcarea driverelor). Acest lucru este util pentru diagnosticarea pornirii lente a Windows.

Instalare ProcMon

ProcMon nu este un utilitar de sistem integrat, așa că trebuie să îl descărcați manual de pe site-ul Microsoft. Process Monitor nu necesită instalare. Dezarhivați fișierul și rulați fișierul executabil procmon.exe (procmon64.exe sau Procmon64a.exe pentru arhitectura ARM64) ca administrator.

Când porniți Process Monitor pentru prima dată, pe ecran apare un acord de licență (EULA) care necesită confirmarea utilizatorului (totuși, atunci când automatizați sau creați scripturi, utilizatorii pot ocoli fereastra EULA folosind comanda /AcceptEula).

La pornire, ProcMon instalează un driver de sistem special, PROCMON24.SYS. Acesta interceptează apelurile către funcțiile de sistem legate de operațiunile sistemului de fișiere, accesul la registru, ciclul de viață al proceselor și al firelor de execuție, precum și conectivitatea la rețea (TCP/UDP).

Instalare ProcMon folosind winget

1. Deschideți PowerShell sau Command Prompt ca administrator.
2. Executați următoarea comandă:

winget install Microsoft.Sysinternals.ProcessMonitor

3. Odată ce procesul se finalizează, puteți lansa instrumentul tastând „procmon” în terminal sau accesând meniul Start.

Solutie

Utilizare Process Monitor pentru monitorizarea modificărilor aduse fișierelor și registrului

Să presupunem că trebuie să urmăriți accesul la cheia de registru HKEY_CURRENT_USER\Software\test și la fișierul c:\ps\procmon_example.txt.

  • Când Process Monitor pornește, începe să captureze toate evenimentele conform filtrelor implicite.
  • Opriți capturarea evenimentelor debifând opțiunea File > Capture Events (Ctrl+E) și ștergeți jurnalul ProcMon curent (Edit > Clear Display).

Configurarea filtrelor din Process Monitor

Acum trebuie să configurați filtrele din Process Monitor (Filter > Filter). Filtrele vă permit să specificați diverse criterii pentru evenimentele care vor fi incluse sau excluse din monitorizare.

Filtrul implicit exclude deja evenimentele legate de activitatea standard a sistemului Windows și procesul procmon.exe în sine. În majoritatea cazurilor, nu este necesar să eliminați aceste filtre. Pot fi adăugate câteva filtre suplimentare.

  • Creați un filtru pentru monitorizarea accesului la cheia de registru: Path > contains > \SOFTWARE\test > Include. Faceți clic pe Add pentru a adăuga un nou filtru la listă.
  • Acum adăugați un filtru pentru evenimentele de acces la fișiere: Path > is > c:\ps\procmon_example.txt > Include.
  • Asigurați-vă că următoarele opțiuni sunt activate în bara de instrumente ProcMon: Show Registry Activity, Show File System Activity.. Opțiunile Afișare activitate rețea și Afișare activitate procese și fire de execuție pot fi dezactivate.
  • Porniți monitorizarea evenimentelor: File > Capture Event.

Exemplu

De exemplu, să creăm o valoare de registru în cheia de registru specificată folosind linia de comandă:

reg add hkcu\software\test /v MyEntry /t REG_EXPAND_SZ /d ^%systemroot^%

Atunci, să scriem câteva date în fișierul procmon_example.txt folosind linia de comandă:

echo %date%>>c:\ps\procmon_example.txt

Și folosind PowerShell:

Get-Process|out-file C:\ps\procmon_example.txt

Treceți la fereastra ProcMon. După cum puteți observa, ProcMon înregistrează operațiunile RegCreateKey și RegSetValue (Operation > RegCreateKey). De asemenea, conține evenimente de creare (Create File) și de scriere într-un fișier (WriteFile) efectuate de procesele cmd.exe și powershell.exe.

Lista de evenimente conține procesul de sistem msmpeng.exe (Antimalware Service Executable). Acesta este procesul principal al motorului de detectare a programelor malware din Windows Defender. Pentru a exclude evenimentele acestui proces din jurnalul ProcMon, apăsati click dreapta pe numele procesului msmpeng.exe și selectați Exclude „…“.

Acest proces va fi adăugat la filtrul ProcMon cu valoarea „Exclude”. Aceasta înseamnă că jurnalul ProcMon nu va afișa nicio activitate a acestui proces. În acest fel, excludeți orice alte procese de încredere care accesează fișierul sau cheia de registru. Acum, dacă vreun proces care rulează pe Windows încearcă să citească sau să scrie într-un fișier de monitorizare sau într-o cheie de registru, veți vedea acest eveniment în Process Monitor.

De exemplu, doriți să monitorizați numai evenimentele de scriere într-un fișier. Faceți clic în fereastra ProcMon pe linia cu tipul de operațiune WriteFile și adăugați acest eveniment la filtrul Include (acest lucru va ascunde toate celelalte operațiuni, cum ar fi CreateFile sau CloseFile).

Astfel, orice obiect sau eveniment din ProcMon poate fi adăugat la filtre, astfel încât să aveți în fața ochilor setul minim de evenimente necesare pentru a analiza accesul la un fișier sau la registru.

Nota Bene: Rularea procesului Monitor poate afecta negativ performanța computerului. Indiferent de filtrele configurate, acesta stochează toate evenimentele în memoria RAM (chiar dacă acestea nu sunt afișate în fereastră). Dacă ProcMon rulează de mult timp, este posibil să ocupe toată memoria RAM disponibilă. Puteți configura ProcMon să stocheze evenimentele nu în memoria virtuală, ci într-un fișier pe disc. Pentru a face acest lucru, selectați File > Backing Files > Use File named și specificați numele fișierului. Dacă doriți ca ProcMon să salveze doar evenimentele care corespund filtrelor dvs. și să elimine toate celelalte, activați opțiunea Filter > Drop Filtered Events.

Tip solutie

Permanent

Voteaza

(3 din 7 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?