Sysmon: Das Schweizer Sackmesser des System-Monitorings
Windows-Security-Experte und Digicomp-Trainer Rinon Belegu zeigt, wie Sie das mächtige Monitoring-Tool Sysmon richtig installieren und konfigurieren.
Geht es um das Monitoring von Windows-Systemen, so gibt es zahlreiche Tools. Ein sehr gute und leider zum Teil immer noch unbekannte Möglichkeit ist Sysmon.
Sysmon wurde ursprünglich von Winternals entwickelt und zwar von Mark Russinovich und Thomas Garnier, die die bekannte Community-Site Sysinternals.com betrieben. 2006 hat Microsoft Winternals gekauft und pflegt die dazugehörige Produkt-Suite weiterhin.
Anleitung: Sysmon installieren und in Betrieb nehmen
1. Der Download
Hinweis: Das Runterladen und einsetzen dieser Tools geschieht auf eigene Verantwortung.
PS: Ein weiteres Tool von Windows Systernals, das ich seit Jahren einsetze, ist Zoomit. 😊 Damit zoome ich in Schulungen und Webinaren bestimmte Bereiche meines Screens.
Jetzt kommen wir auf die Detail-Seite, dort laden wir die Software runter (siehe Bild).
2. Die Installation
Jetzt entpacken wir das Ganze und führen es in der Eingabeaufforderung aus.
Jetzt wird uns schnell klar, dass wir Optionen für die installation haben und sehen auch, dass es für uns einen Service erstellt.
Mit der Option «-c» können wir Konfigurationen importieren oder exportieren. Sehr hilfreich, wenn man z.B. die Installation automatisieren will.
Fürs erste installieren wir Sysmon jedoch «ziemlich» default und gehen später noch ein wenig auf die Optionen ein.
Parameter | Beschreibung |
«-i» | Installiert einen Service |
«-h» | definiert den verwendenten Hash-Algo |
«-n» | aktiviert das loggen von Netzwerkverbindungen |
«-l» | logt das Laden von Modulen |
«-accepteula» | Akzeptiert die EULA bei der Installation (kein Pop-Up) |
3. Die Überprüfung der Installation
Jetzt kontrollieren wir, ob wir jetzt in unserem Server 2019 die «Operational Logs» nach der Installation sehen:
Weiter sehen wir in den Services einen neuen Dienst: Sysmon64, der auf «Automatic» steht.
Erste Schritte:
Obwohl wir noch nicht alles mitschreiben, empfehle ich zu planen, wie man mit den Logs umgeht!
Der erste Schritt, sollte sein, die Grösse im Event-Viewer anzupassen und allenfalls zu definieren, dass diese nicht überschrieben werden:
Die Integration in eine Security-Information and Event-Management-Lösung (SIEM) kann ich durchaus auch empfehlen.
Im Moment ist es so, dass wir nicht «alles» mitschreiben, was auf dem System geschieht.
Nichts desto trotz, sehen wir bereits, wenn z.B. ein Prozess startet oder beendet wird. Und wir sehen den Hash in MD5. So können wir allenfalls sehen, ob die ausführbare Datei verändert wurde. 😊
Um das zu veranschaulichen, habe ich den alt bewährten «Rechner» gestartet:
Wir sehen auch «wer» den Prozess gestartet hat: «ParentImage»
4. Die Konfiguration
Eine der grössten Herausforderungen, bestehen darin, Sysmon richtig zu konfigurieren und auf die Meldungen zu reagieren. Dafür braucht es viel Erfahrung. Wir werden hier einige wichtige Schritte angehen.
Als erstes, müssen wir die Schemaversion herausfinden. Eine Option ist, Sysmon mit dem Parameter «-S» zu starten.
Hier sehen wir die Version «4.23». Das ist wichtig, da der Syntax der Configuration-Files varriieren kann.
Ich habe eine simple Config-Datei vorbereitet:
Ich aktiviere mit der Datei das «alle» Netzwerkereignisse und Systemereigniesse mitgeschrieben werden. Weiter erweitere ich die Hash-Werte, welche mitprotokolliert werden.
Die Config-Datei wird nun geladen.
Mit «Sysmon64 -c» überprüfen wir nun, ob die Konfiguration richtig gegriffen hat.
Jetzt sehen wir beim Ausführen die neuen Hashwerte.
5. Die Auswertung
Ok toll, jetzt haben wir die Hashes von Prozessen, die ausgeführt werden. Wunderschön wäre es, können wir diese im Event Viewer nachschlagen.
Wie mache wir uns das jetzt zunutze?
Wie wäre es, wenn wir z.B. die Hashes exportieren und mit einer Datenbank wie virustotal.com abgleichen?
Zuerst exportieren wir dafür die notwendigen Informationen:
«Get-WinEvent -FilterHashtable @{logname=”Microsoft-Windows-Sysmon/Operational”;id=1} | Get-WinEventData | Select-Object EventDataParentImage, EventDataHashes | Export-Csv C:\tools\sysmon_filtered.csv
Dann erstellen wir uns bei Virustotal einen Community Account.
Jetzt laden wir uns das Lookuper Tool runter.
Mit Hilfe des Community Accounts, erhalten wir Zugriff auf einen API-Key, den wir für unsere Lookuper Configuration benötigen:
Jetzt lassen wir das Lookuper-Tool die Hashes überprüfen.
In unserem Virustotal Account sehen wir die Requests steigen.
Der kostenlose Community Account hat Restriktionen. Wir können jedoch bei Bedarf natürlich einen Pro Account lösen.
Und wir hatten Glück, keine der ausgeführten Prozesse ist Virustotal bekannt.
Ist das jetzt eine 100% Sicherheit? Natürlich nicht, es ist immer ein Wettlauf zwischen Anti-Viren-Herstellern und Angreifern. 😊
Ich hoffe Ihnen, hat dieser kleine Einblick in das mächtige Tool gefallen. Im nächsten Beitrag werden wir auf die Netzwerk-Möglichkeiten eingehen. Falls Sie Interesse an den Beispiel-Config-Files haben, melden Sie sich per Comment. 😊
Workshop: Windows Security Advanced |