Prozess Monitor – Programmen auf die Finger geschaut !

Title ProcMon

Prozess Spionage ! Welche Dateien ändert ein Programm ? Welche Einträge macht es in der Registry ? Wohin verbindet es sich ?

All diese Ereignisse lassen sich mit Monitoring Tools feststellen und protokollieren. Vergleichbar mit einem Aufnahmegerät. Alle I/O ( Eingabe / Ausgabe ) Operationen die ein Programm, genauer ein Prozess, durchführt werden aufgezeichnet.

Eines der besten Monitoring Tools seiner Art ist „Der Prozess Monitor“. Und das Beste: Es kommt von Microsoft und das auch noch gratis !

Der „Prozess Monitor“ oder kurz: ProcMon

ProcMon stammt aus der bekannten SysInternals Tool Serie.

ProcMon wuchs bereits 2006 aus den beiden Tools FileMon und RegMon zusammen und vereinigt die Funktionen beider Programme in Einem. Zusätzlich wurden noch zwei weitere Monitoring Funktionen spendiert: Prozess und Netzwerk Überwachung.

Was kann ProcMon ?

Procmon zeichnet die wichtigsten I/O Operationen auf und das schon ist eine ganze Menge !

  • Datei und Verzeichnis Zugriffe:
    Wann, wie und von wem wurde auf Dateien und Verzeichnisse zugegriffen ?
  • Registry Zugriffe:
    Wer griff wann und wie auf die Registry zu ?
  • Netzwerk Aktivität:
    Welcher Prozess verbindet sich wann mit welchen Netzwerkdiensten ?
  • Starten und beenden von Prozessen und Threads:
    Wann wurde welcher Prozess oder Thread gestartet / beendet ?
  • Profiling:
    Periodisch wird die Leistung der Prozesse / Threads aufgezeichnet. Auslastung, Speicherverbrauch, …

 Technet: Process Monitor

Wo kann ich ProcMon einsetzen ?

  • Unbekannte Programme einschätzen:
    Welche Änderungen nimmt das Programm vor ?
  • Low Privilegs – Rechte einschränken:
    Wo benötigt das Programm Schreibrechte ?
  • Fehler Analyse:
    Warum startet das Programm nicht ? Kann eine Datei nicht geladen werden ?
  • Sicherheit:
    Wohin verbindet sich das Programm ?
  • Leistungs Profiling:
    Wann benötigt ein Programm besonders viel Speicher oder Prozessorzeit ?

Wie funktioniert ProcMon ?

ProcMon installiert temporär einen Treiber und registriert Hooks und System Callbacks. Dadurch wird ProcMon jedesmal benachrichtet, wenn ein Prozess auf das Dateisystem, die Registry oder das Netzwerk zugreift. Ausserdem wenn ein Prozess oder Thread gestartet oder beendet wird.

Diese Ereignisse speichert ProcMon jeweils ab, inklusive Process ID und Zeitstempel. Es wird allerdings nicht gespeichert was gelesen / geschrieben wurde, sondern dass ein Zugriff passierte.

Zudem misst ProcMon periodisch von jedem Prozess / Thread die Leistungsdaten, wie Speicherverbrauch oder Prozessorzeit, und protokolliert diese ebenso –  inklusive Uhrzeit.

Los geht’s !

  Gestartet wird der Prozess Monitor als Administrator, da eben temporär ein Treiber installiert wird.

start

Danach legt ProcMon auch gleich los und protokolliert alle laufenden Prozesse – ( fast ) uneingeschränkt und ( fast ) ungefiltert ! Da kommen dann schnell ein paar millionen Events zusammen ! Events oder auch Ereignisse, so nennt man die einzelnen Einträge.

Standardmässig protokolliert ProcMon alle Prozesse und Ereignisse. Unabhängig der eingestellten Filter. Dadurch muss man nicht befürchten etwas vergessen zu haben und die Protokollierung später ev. nochmals durchführen zu müssen. Will man das nicht, kann man mit dem Menü Eintrag: „Filter -> Drop filtered events“ die Filter schon bei der Protokollierung anwenden lassen.

Start / Stop Start / Stop
Hiermit kann die Protokollierung gestartet und auch wieder angehalten werden.

Löschen Löschen
Ein Klick auf diesen Button löscht alle bisher gespeicherten Ereignisse.

Autoscroll Autoscroll
Aktiviert / deaktiviert Autoscroll. Ist Autoscroll aktiviert, scrollt die Liste mit jedem Ereignis mit.

Auswertung

Nach der Protokollierung kommt der eigentlich interessante Teil. Die Auswertung der aufgezeichneten Events. Wir können die Events gleich, oder zu einem späteren Zeitpunkt auswerten.

Speichern Speichern
ProcMon erlaubt es, die Events gesamt oder gefiltert in verschiedenen Formaten abzuspeichern.

Save Dialog

Möchten wir die Events zu einem späteren Zeitpunkt auswerten, empfiehlt es sich, alle Events im nativen PML Format zu speichern. Denn nur das PML Format kann wieder in ProcMon importiert werden.

Dies ist auch sehr praktisch um Protokolle zur Auswertung an andere weiterzugeben.

Öffnen Öffnen
Gespeicherte .pml Protokolle wieder importieren.

Bei einer Liste mit hunderttausenden oder gar millionen Events, geht die Übersicht ganz schnell verloren. Daher bietet ProcMon ein ganzes Arsenal an Filtermöglichkeiten. Das geniale an den Filtern ist, dass diese nach belieben aktiviert und deaktiviert werden können. Die protokollierten Events bleiben unbeeinflusst.

Dies gilt allerdings nicht, wenn der Menüpunkt: „Drop filtered events“ aktiviert wurde !

Ereignis Klassen

Will man nur bestimmte Ereignisse wie z.B.: Registry Aktivitäten anzeigen lassen, kann man nach Ereignis Klassen filtern. Profiling wird standardmässig beispielsweise immer weggefiltert.

Registry Aktivitäten anzeigen

Datei und Verzeichnis Aktivitäten anzeigen

Netzwerk Aktivitäten anzeigen

Prozess / Thread – Erzeugung / Beendigung anzeigen

Profiling Events anzeigen

Filter

Wer Ereignisse granularer filtern möchte, wird am Filter Dialog seine wahre Freude haben ! Hier können die Events nach unterschiedlichsten Kriterien und Operatoren gefiltert werden.

Filter Dialog

  • Attribute
  • Operator
  • Wert
  • Include / Exclude

ProcMon benutzt für die Verknüpfung der Attribute eine einfache aber geniale Logik:

  • Gleiche Attribute werden mit einem ODER verknüpft
  • Unterschiedliche Attribute hingegen mit einem UND

Beispiel: 2 Einträge mit unterschiedlichen Prozessnamen ->  Zumindest einer der Beiden muss zutreffen.

Angelegte Filter können gespeichert, geladen, und auf Standard zurückgesetzt werden.

ProcMon kennt zwei Standard Filter Modi, die mit dem Menüpunkt „Enable Advanced Output“ umgeschaltet werden können.

  • „Normal“
    Filtert einige Sysinternals Tools, System Zugriffe und einige Operationen. Standardmässig auch Profiling Informationen
  • Advanced
    Schränkt die Ausgabe nicht ein. Standardmässig werden jedoch die Profiling Informationen gefiltert.

Oft möchte man die Ausgabe auf einen bestimmten Prozess einschränken. Praktischerweise bietet ProcMon dafür zwei Schnellfilter an:

Process Tree Process Tree
Aus dem Baum kann ein beliebiger Prozess ausgewählt werden. Der Filterliste wird dann die PID des Prozesses hinzugefügt.

Ziel Fenster Ziel Fenster
Sehr komfortabel ! Einfach das Fadenkreuz auf ein Fenster ziehen. ProcMon trägt die PID des Prozesses in die Filterliste ein.

Event / Ereignis

Darum geht es letztendlich ! Um die einzelnen protokollierten Ereignisse.

Die Liste der Events ist in folgende Spalten unterteilt:

header

  • Time of day
    Zeitstempel des Events.
  • Process Name
    Name des Programms welches das Ereignis auslöste.
  • PID
    Process ID des Programms.
  • Operation
    Ereignis: RegOpenKey, Create File, Read File, …
  • Path
    Dateipfad / Registry Key / Verbindung der Operation.
  • Result
    Ergebnis: SUCCESS, LOCKED, NOT FOUND, …
  • Detail
    Detailierte Informationen zur Operation.

Standardmässig ! Denn die Spalten können mit dem Menüpunkt: „Options -> Select Columns“ anders definiert und mit der Maus neu arrangiert werden.

Mit einem Doppelklick auf den Event oder „Kontextmenü -> Properties“ gelangt man zu den Eigenschaften des Events.

  • Event
    Detailierte Informationen zum Ereignis
  • Process
    Detailierte Informationen zum Prozess der das Ereignis auslöste
  • Stack
    Callstack des Ereignisses. ( Wird in der „Profi“ Sektion genauer erklärt )

Im Kontext Menü der Events bietet ProcMon weitere, sehr praktische Hilfsmittel:

Jump to …: Navigation zum Event Pfad – via Datei Explorer oder Regedit.
  • Online Suche
    Prozess Name wird im Suchfeld der eingestellten Suchmaschine eingetragen.
  • Include, Exclude, Highlight
    Angewählte Spalte wird dem Filter / Highlight hinzugefügt
  • Copy
    Angewählte Spalte wird in die Zwischenablage kopiert.
  • Edit Filter
    Angewählte Spalte wird dem Filter hinzugefügt, danach der Filterdialog geöffnet.
  • Exclude Events Before / After
    Events vor oder nach dem aktuellen Event werden herausgefiltert.
  • Include / Exclude
    Gewähltes Attribut wird mit dem Wert des aktuellen Events befüllt und dem Filter hinzugefügt.

  Mit der Tastenkombination [ Strg – C ] können wir die ganze ausgewählte Zeile in die Zwischenablage kopieren.

Weitere nützliche Funktionen

ProcMon bietet zudem weitere Funktionen um sich in der Masse der Events zurecht zu finden.

Suche

ProcMon bietet eine Suchfunktion mit dem „Standard“ Suchdialog an, in dem man sich schnell heimisch fühlt.

Highlights

Praktisch ist die Hightlight Funktion. Damit können Events nach definierten Kriterien und Operatoren optisch hervorgehoben werden. Die Definition erfolgt in einem Dialog der dem Filter Dialog entspricht.

Bookmarks

Das Tüpfelchen auf dem i ist die Bookmark Funktion. Pro Event kann ein Lesezeichen gesetzt werden, zwischen denen man dann mit der F6 Taste springen kann.

An die Arbeit !

Immer auf dem Laufenden !
Liken Sie uns jetzt auf Facebook
Keinen Artikel verpassen !
Folgen Sie uns jetzt auf Twitter

Fanden Sie den Artikel interessant ? Dann empfehlen Sie ihn doch gleich weiter !

2 Kommentare

  1. Sören 13. Dezember 2015

Sagen Sie uns Ihre Meinung !

Happy new year 2016 !
Happy New Year 2016 !
Google Tips
Die besten Google Tipps, Hacks, Games und Easter Eggs !
Registry Quiz
Sind Sie ein Windows Registry Experte ?
Coder Myths
14 hartnäckige Programmier(er) Mythen und Irrtümer
Password Sünden / Password Sins
13 gefährliche Passwort Sünden
Passwort Generator / password generator
Online Passwort Generator
Password Hacker
Passwort Hacker – Wie kommen Hacker an Ihre Passwörter ?
Leet
Leet – die Hacker Sprache
Spy++ Title
Windows Fenster Spionage mit Spy++
Registry Quiz
Sind Sie ein Windows Registry Experte ?
Title ProcMon
Prozess Monitor – Programmen auf die Finger geschaut !
Windows Construct
Fenster im Eigenbau !
Coder Myths
14 hartnäckige Programmier(er) Mythen und Irrtümer
Windows Construct
Fenster im Eigenbau !
Debug Messages
Programmierer Geflüster abhorchen
Registry timestamp / Registry Zeitstempel
Registry Keys haben einen Zeitstempel ?!
Title ProcMon
Prozess Monitor – Programmen auf die Finger geschaut !
WMI Code Creator
WMI Code Creator – WMI ganz komfortabel
Environment Variables / Umgebungs Variablen
Windows konfigurieren mit Umgebungsvariablen
Passwort Generator / password generator
Online Passwort Generator