---
title: Get A Handle On Indicators Of Compromise
description: Wie Handles eines Prozesses für das Finden und Entfernen von Indicators of Compromise genutzt werden können
image: https://avantguard.io/hubfs/Monitoring_File_Handles/PCRE_in_temp.png
---

[![avantguard](https://avantguard.io/hs-fs/hubfs/LogoInverted.png?width=254&height=120&name=LogoInverted.png "avantguard")](https://avantguard.io?hsLang=de)

- [Services](https://avantguard.io/services)
- [Über uns](https://avantguard.io/über-uns)
- [Erfahrungen](https://avantguard.io/de/erfahrung)
- [Karriere](https://avantguard.io/de/karriere)
- [Research](https://avantguard.io/blog)
- [Kontakt](https://avantguard.io/de/kontakt)

 De

- [Deutsch](https://avantguard.io/blog/get-a-handle-on-indicators-of-compromise)
- [Englisch](https://avantguard.io/en/blog/get-a-handle-on-indicators-of-compromise)

[![avantguard](https://avantguard.io/hs-fs/hubfs/LogoInverted.png?width=137&height=65&name=LogoInverted.png "avantguard")](https://avantguard.io?hsLang=de)

<https://avantguard.io/blog/get-a-handle-on-indicators-of-compromise#dark-header__mobile-nav__mmenu>

[![LogoInverted](https://avantguard.io/hs-fs/hubfs/LogoInverted.png?width=300&height=142&name=LogoInverted.png "LogoInverted")](https://avantguard.io?hsLang=de)

- [Services](https://avantguard.io/services)
- [Über uns](https://avantguard.io/über-uns)
- [Erfahrungen](https://avantguard.io/de/erfahrung)
- [Karriere](https://avantguard.io/de/karriere)
- [Research](https://avantguard.io/blog)
- [Kontakt](https://avantguard.io/de/kontakt)

 De

- [Deutsch](https://avantguard.io/blog/get-a-handle-on-indicators-of-compromise)
- [Englisch](https://avantguard.io/en/blog/get-a-handle-on-indicators-of-compromise)

[![avantguard](https://avantguard.io/hs-fs/hubfs/LogoInverted.png?width=137&height=65&name=LogoInverted.png "avantguard")](https://avantguard.io?hsLang=de)

<https://avantguard.io/blog/get-a-handle-on-indicators-of-compromise#dark-header__mobile-nav__mmenu>

- [Services](https://avantguard.io/services)
- [Über uns](https://avantguard.io/über-uns)
- [Erfahrungen](https://avantguard.io/de/erfahrung)
- [Karriere](https://avantguard.io/de/karriere)
- [Research](https://avantguard.io/blog)
- [Kontakt](https://avantguard.io/de/kontakt)

Current language: Deutsch

- [Deutsch](https://avantguard.io/blog/get-a-handle-on-indicators-of-compromise)
- [Englisch](https://avantguard.io/en/blog/get-a-handle-on-indicators-of-compromise)

## Forum am 1. Oktober ➡️[LINK](https://avantguard.io/forum-f%C3%BCr-effizientes-und-hochwertiges-pentesting?hsLang=de)

Offensive

# Get A Handle On Indicators Of Compromise

Wie Handles eines Prozesses für das Finden und Entfernen von Indicators of Compromise genutzt werden können

[Jann Lemm](https://avantguard.io/blog/author/jann-lemm)

 Juli 4, 2024

---

Es ist schon eine Weile her seit unserem letzten Blogbeitrag. Da wir mit Kundenprojekten und dem Wachstum unseres Unternehmens beschäftigt sind, kommt das Veröffentlichen unserer Research manchmal ein wenig zu knapp. Nichtsdestotrotz freue ich mich, diesen kurzen Blogbeitrag über ein Thema zu schreiben, das bei einem kürzlich erfolgten Einsatz aufkam. Dieser Blogbeitrag befasst sich mit der Frage, wie die Verwendung eines Tools zu Indicators Of Compromise (IoC) führen kann, indem Dateien auf die lokale Festplatte geschrieben werden, und wie ein Operator dies beim Testen des Tools in einem Lab feststellen kann.

In letzter Zeit hatten wir manchmal das Problem, dass SharpHound und SOAPHound nicht richtig ausgeführt wurden, wenn sie im Prozess unseres C2-Agenten liefen. Als Alternative wollten wir [SharpView](https://github.com/tevora-threat/SharpView), die C#-Implementierung von [PowerView](https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1), verwenden. Ich erinnerte mich jedoch daran, dass ich in diesem [MDSec-Blogbeitrag](https://www.mdsec.co.uk/2024/02/active-directory-enumeration-for-red-teams/) über Active Directory Enumeration für Red Teams über einen IoC in SharpView gelesen hatte. Während die ausführbare Datei im Speicher ausgeführt werden kann, wird aufgrund der Verwendung einer bestimmten Bibliothek ([PCRE.NET](https://github.com/ltrzesniewski/pcre-net)) ein Ordner im %TEMP%-Ordner des ausführenden Benutzers anlegt und eine DLL darin erstellt. Sicherheitsprodukte könnten dieses Ereignis entdecken und eine Warnung ausgeben, da die DLL immer denselben Namen hat. Siehe auch diesen [Tweet](https://x.com/rbmaslen/status/1321859647091970051) für den IoC.

Ein Blick darauf, wie SharpView PCRE.NET nutzt, zeigt, dass es nur in zwei Methoden verwendet wird, um Regex-Matches zu finden. Diese Funktionalität kann auch durch die Verwendung der Regex.Match-Funktion von .NET erreicht werden, wodurch die Notwendigkeit einer externen Bibliothek entfällt. Eine aktualisierte Version von SharpView (einschliesslich einiger Pull-Requests aus dem ursprünglichen Repo sowie weiterer kleiner Korrekturen und Ergänzungen) ist auf meinem [GitHub Fork](https://github.com/jannlemm0913/SharpView) zu finden.

Um zu prüfen, ob diese Änderungen die gewünschte Wirkung haben, habe ich zunächst den Ordner %TEMP% nach dem Ausführen der Version, die PCRE.NET verwendet, überprüft. Wie zu sehen ist, werden das Verzeichnis und die DLL erstellt.

![PCRE_in_temp](https://avantguard.io/hs-fs/hubfs/Monitoring_File_Handles/PCRE_in_temp.png?width=1554&height=815&name=PCRE_in_temp.png)

Ich habe die Datei und den Ordner wieder entfernt und die neue SharpView-Datei ausgeführt, die die externe Bibliothek nicht mehr verwendet.

![new_version_no_dll](https://avantguard.io/hs-fs/hubfs/Monitoring_File_Handles/new_version_no_dll.png?width=1554&height=798&name=new_version_no_dll.png)

Und tatsächlich wurden in dem Ordner keine neuen Ordner oder Dateien erstellt.

Das ist alles schön und gut, aber was wäre, wenn es keinen Tweet oder Blogbeitrag gäbe, der uns vor diesem IoC warnt? Könnten wir sehen, dass ein Prozess etwas auf die Festplatte schreibt, auch wenn wir versuchen, nur im Speicher zu bleiben? Eine Möglichkeit, die mir in den Sinn kam, war die Verwendung von [Process Hacker](https://processhacker.sourceforge.io/) (jetzt [System Informer](https://systeminformer.sourceforge.io/)), um zu sehen, welche Handles der Prozess geöffnet hat. Dies könnte uns einen Hinweis geben oder sogar direkt zeigen, dass eine Datei auf die Festplatte geschrieben wurde, einschliesslich ihres Pfads.

Ein Beispiel: Wenn man die PCRE.NET-Version von SharpView ausführt, werden die folgenden Handles angezeigt.

![PCRE_handle_to_dll](https://avantguard.io/hs-fs/hubfs/Monitoring_File_Handles/PCRE_handle_to_dll.png?width=1070&height=714&name=PCRE_handle_to_dll.png)

Der Pfad der DLL wird angezeigt, und es könnte durch Debugging sogar herausgefunden werden, welcher Befehl zur Erstellung dieser Datei geführt hat. Wird das Verzeichnis jetzt durchsucht, kann die DLL gesehen werden.

![PCRE_dll_in_temp](https://avantguard.io/hs-fs/hubfs/Monitoring_File_Handles/PCRE_dll_in_temp.png?width=673&height=127&name=PCRE_dll_in_temp.png)

Mit den Änderungen in SharpView gibt es keinen solchen Handle mehr.

![no_PCRE_no_handle](https://avantguard.io/hs-fs/hubfs/Monitoring_File_Handles/no_PCRE_no_handle.png?width=1116&height=495&name=no_PCRE_no_handle.png)

Dieses Beispiel funktioniert gut, wenn wir wissen, wonach wir suchen müssen und unseren Process Hacker zur Hand haben. Ich wollte die Möglichkeit haben, bestimmte Prozesse etwas programmatischer als mit Process Hacker und möglicherweise auch "in memory" zu überwachen, zum Beispiel wenn wir versuchen, einen Prozess auf einem kompromittierten Client statt in unserem Lab zu überwachen.

Daher habe ich [HandleMonitor](https://github.com/avantguard-cyber-security/HandleMonitor) zusammengestellt. Der Code basiert fast vollständig auf der Funktionalität in einem Fork von MceController  ([DetectOpenFiles.cs](https://github.com/urosjovanovic/MceController/blob/master/VmcServices/DetectOpenFiles.cs)) und fragt regelmässig einen Prozess nach seinen offenen Handles ab. Das Tool protokolliert diese Handles, so dass sie, selbst wenn sie wieder geschlossen werden, in der Ausgabe des Tools sichtbar sind.

![HandleMonitor_output_PCRE](https://avantguard.io/hs-fs/hubfs/Monitoring_File_Handles/HandleMonitor_output_PCRE.png?width=1246&height=673&name=HandleMonitor_output_PCRE.png)

Das Tool ist bisher nur ein Proof of Concept, wenn also Fehler auftauchen, darf sehr gerne ein GitHub Issue oder sogar ein Pull Request eröffnet werden! Ich überlege auch, HandleMonitor in Zukunft als Task zu Covenant (*we're so back...*) hinzuzufügen, wenn es sich als hilfreich für uns erweist.

Danke fürs Lesen und wie immer können Fragen oder Anmerkungen an [research@avantguard.io](mailto:research@avantguard.io) gesendet werden oder Kontakt mit mir via BloodHoundGang Slack (User @jannlemm0913) aufgenommen werden.

[Offensive](https://avantguard.io/blog/tag/offensive) [Red Team](https://avantguard.io/blog/tag/red-team)

## Similar posts

<https://avantguard.io/blog/overload-mapping-vs.-memory-scanner?hsLang=de>

Bypass

##### [Overload Mapping vs. Memory Scanner](https://avantguard.io/blog/overload-mapping-vs.-memory-scanner?hsLang=de)

Untersuchungen und weiterführende Gedanken zu In-Memory Execution und Detection.

 Jann Lemm  Feb. 18, 2022

<https://avantguard.io/blog/extending-the-covenant?hsLang=de>

Offensive

##### [Extending The Covenant](https://avantguard.io/blog/extending-the-covenant?hsLang=de)

Mehrere neue Tasks für Covenant, die sich für uns als hilfreich erwiesen haben.

 Jann Lemm  Nov. 4, 2022

<https://avantguard.io/blog/extending-the-covenant-part-3?hsLang=de>

Offensive

##### [Extending The Covenant: Part 3](https://avantguard.io/blog/extending-the-covenant-part-3?hsLang=de)

Der vorläufig letzte Blogpost über meine Arbeit am Open Source C2 Framework Covenant. Ein wichtiger neuer Task, zwei neue Grunt Templates und QoL...

 Jann Lemm  Mai 10, 2023

##### Menü

- [Home](https://avantguard.io)
- [Services](https://avantguard.io/services)
- [Über uns](https://avantguard.io/über-uns)
- [Erfahrungen](https://avantguard.io/de/erfahrung)
- [Research](https://avantguard.io/blog)
- [Kontakt](https://avantguard.io/de/kontakt)

##### Services

- [Penetration Testing](https://avantguard.io/penetration-test)
- [Red Teaming](https://avantguard.io/red-teaming)
- [FINMA reguliertes Penetration Testing](https://avantguard.io/finma-reguliertes-pentesting)
- [AD Security Improvement](https://avantguard.io/ad_improvement)
- [mesher](https://avantguard.io/mesher)
- [Weitere](https://avantguard.io/services)

##### Research

- [Analyse des npm-Supply-Chain-Angriffs](https://avantguard.io/blog/analyse-des-npm-supply-chain-angriffs)
- [Threadless Injection](https://avantguard.io/blog/threadless-ops)
- [Penetration Testing für KI-Anwendungen](https://avantguard.io/blog/penetration-testing-for-ai-applications)
- [Get A Handle On Indicators Of Compromise](https://avantguard.io/blog/get-a-handle-on-indicators-of-compromise)
- [Red Teaming](https://avantguard.io/blog/red-teaming)

© 2026 avantguard cyber security AG

##### avantguard cyber security AG

Neue Jonastrasse 52   
8640 Rapperswil-Jona  
Schweiz  
+41 55 253 30 30  
[info@avantguard.io](mailto:info@avantguard.io)

![flagge_schweiz](https://avantguard.io/hs-fs/hubfs/flagge_schweiz.png?width=40&height=40&name=flagge_schweiz.png)

[Datenschutzerklärung](https://avantguard.io/datenschutzerkl%C3%A4rung?hsLang=de)

[Follow us on LinkedIn](https://ch.linkedin.com/company/avantguard-cyber-security-ag) [Follow us on Twitter](https://twitter.com/avantguard_io) [Follow us on Twitter](https://www.youtube.com/@avantguardcybersecurity) 

![](https://f.hubspotusercontent00.net/hubfs/7712601/back-to-top.png)