Gehen Sie zum Verteidiger
https://discord.gg/qeYaYK4JKq
GoDefender
Dieses Go-Paket bietet Funktionen zur Erkennung und Abwehr verschiedener Formen von Debugging-Tools und Virtualisierungsumgebungen. Für eine schnelle Einrichtung führen Sie übrigens install.bat
aus.
Anti-Virtualisierung
- Triage-Erkennung : Erkennt, ob das System in einer Triage- oder Analyseumgebung ausgeführt wird.
- Überwachungsmetriken : Überwacht Systemmetriken, um abnormales Verhalten zu identifizieren, das auf Virtualisierung hinweist.
- VirtualBox-Erkennung : Erkennt das Vorhandensein von Oracle VirtualBox.
- VMware-Erkennung : Erkennt das Vorhandensein von VMware-Virtualisierungssoftware.
- KVM-Prüfung : Prüft den Hypervisor für Kernel-basierte virtuelle Maschinen (KVM).
- Benutzernamenprüfung : Überprüft, ob der aktuelle Benutzer ein Standardvirtualisierungsbenutzer ist.
- Letzte Benutzeraktivität : Überprüft die Benutzeraktivität. Wenn weniger als 20 Dateien vorhanden sind, wird der Vorgang beendet.
- USB-Mount : Überprüft, ob jemals zuvor ein USB-Gerät an den Computer angeschlossen war.
- VM-Artefakte : Identifiziert von virtuellen Maschinen (VMs) hinterlassene Artefakte, die auf das Vorhandensein einer VM-Umgebung hinweisen können.
- Parallels Check : Erkennt Parallels Desktop, eine beliebte Virtualisierungssoftware für macOS, die zum Ausführen von Windows und anderen Gastbetriebssystemen verwendet wird.
- QEMU-Erkennung : Identifiziert das Vorhandensein von QEMU, einem Open-Source-Maschinenemulator und Virtualisierer, was möglicherweise auf die Erkennung einer virtuellen Maschine hinweist.
Anti-Debug
Dieses Modul umfasst Funktionen zur Erkennung und Verhinderung von Fehlern und zur Analyse des laufenden Prozesses.
- IsDebuggerPresent : Prüft, ob aktuell ein Debugger an den Prozess angehängt ist.
- Remote-Debugger : Erkennt, ob ein Remote-Debugger mit dem Prozess verbunden ist.
- PC-Betriebszeit : Überwacht die Systemverfügbarkeit, um Debugging-Versuche basierend auf Systemneustarts zu erkennen.
- Windows-Namen auf der schwarzen Liste prüfen : Überprüft, ob der Prozessname mit Namen auf der schwarzen Liste übereinstimmt, die üblicherweise von Debuggern verwendet werden.
- Laufende Prozesse : Ruft eine Liste laufender Prozesse ab und identifiziert potenziell bösartige Prozesse.
- Übergeordnetes Anti-Debug : Erkennt, ob der übergeordnete Prozess versucht, den aktuellen Prozess zu debuggen.
- Auf fehlerhafte Prozesse prüfen : Wenn sie auf dem System erkannt werden, führen Sie entsprechend Ihrer Option (bool) etwas aus.
- Erkennt Anti-Anti-Debugger im Benutzermodus : Erkennt Anti-Anti-Debugger im Benutzermodus wie ScyllaHide (BASIC / VMP-Plugin).
- Internetverbindungsprüfung : Überprüft, ob eine Internetverbindung vorhanden ist.
ProcessUtils
ProcessUtils, die Sie wahrscheinlich für Ihre App benötigen
- Kritischer Prozess : Implementiert Funktionen zur Verwaltung kritischer Prozesse, die für den Systembetrieb unerlässlich sind.
- Laufzeit festlegen : Legen Sie die Laufzeit der App auf die angegebene Laufzeit fest:
MacOS,Linux,Windows
- Alle Token aktivieren : Alle Token-Windows-Berechtigungen für den aktuellen Prozess aktivieren
- IsAdmin – Admin anfordern : Admin für den aktuellen Prozess anfordern und prüfen, ob der aktuelle Prozess Admin ist
Anti-DLL-Injection
- DLL-Patches : Nutzung der Binary Image Signature Mitigation Policy, um das Einschleusen von Nicht-Microsoft-Binärdateien zu verhindern.
Kurz gesagt
- Erkennt die meisten Anti-Anti-Debugging-Hooking-Methoden für gängige Anti-Debugging-Funktionen, indem es nach fehlerhaften Anweisungen für Funktionsadressen sucht (am effektivsten auf x64). Es erkennt auch Anti-Anti-Debugger im Benutzermodus wie ScyllaHide und kann einige Sandboxes erkennen, die Hooking verwenden, um das Verhalten/die Aktivität von Anwendungen zu überwachen (wie Tria.ge).
Credits
- https://github.com/AdvDebug: Hat mich dazu inspiriert, mit der Erstellung dieses Pakets zu beginnen. Ohne ihn gäbe es es nicht hier. Schauen Sie sich seinen GitHub an.
- https://github.com/MmCopyMemory: Ideen und vieles mehr. Schauen Sie sich seinen GitHub an.
- https://github.com/bytepulze: Hilfe bei Fehlern/Korrekturen, schauen Sie sich seinen Github an
- Ich habe dies gemacht, weil mir aufgefallen ist, dass jemand versucht hat, meine anderen Go-Programme zu knacken oder zu analysieren. Zuvor hatte ich viele Zeilen Anti-Debugging-Code (ich habe träge programmiert und alles in einem zusammengefasst), also wollte ich etwas Schnelles und Zuverlässiges erstellen, das einem Reverse Engineer das Leben schwerer machen würde. So habe ich GoDefender gemacht.