Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Raccine — A Simple Ransomware Vaccine | Kitploit
Tools/GitHubGitHub/neo23x0/raccine
Defensive ToolsThreat IntelligenceIntrusion DetectionIncident ResponseAnomaly DetectionLog Analysis
GitHubneo23x0/raccine

Raccine

A Simple Ransomware Vaccine

Repository anzeigen
982126vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Inactively Maintained

Raccine

Raccine

Ein einfacher Ransomware-Schutz

Warum

Wir sehen ziemlich oft, wie Ransomware mit vssadmin alle Schattenkopien löscht. Was wäre, wenn wir diese Anfrage einfach abfangen und den aufrufenden Prozess beenden könnten? Versuchen wir, einen einfachen Impfstoff zu erstellen.

Prozessbaum der Ransomware

Wie es funktioniert

Wir registrieren einen Debugger für vssadmin.exe (und wmic.exe), nämlich unser kompiliertes raccine.exe. Raccine ist eine Binärdatei, die zunächst alle PIDs der übergeordneten Prozesse sammelt und dann versucht, alle übergeordneten Prozesse zu beenden.

Vorteile:

  • Die Methode ist recht generisch
  • Wir müssen keine Systemdatei (vssadmin.exe oder wmic.exe) ersetzen, was zu Integritätsproblemen führen und unsere Raccination an jedem Patchday zerstören könnte
  • Flexibles Scannen von Befehlszeilenparametern anhand von YARA-Regeln auf schädliche Aktivitäten
  • Die Änderungen lassen sich leicht rückgängig machen
  • Läuft unter Windows 7 / Windows 2008 R2 oder höher
  • Kein laufendes Programm oder zusätzlicher Dienst erforderlich (agentenlos)

Nachteile / blinde Flecken:

  • Die legitime Nutzung von vssadmin.exe delete shadows (oder jeder anderen blockierten Kombination) ist nicht mehr möglich
  • Es beendet sogar die Prozesse, die versucht haben, vssadmin.exe delete shadows aufzurufen, was ein Backup-Prozess sein könnte
  • Dies erfasst keine Methoden, bei denen der schädliche Prozess nicht einer der Prozesse im Baum ist, der vssadmin.exe aufgerufen hat (z. B. über schtasks)

Der Ablauf

  1. Der Aufruf von vssadmin.exe (und wmic.exe) wird abgefangen und als Debugger an raccine.exe übergeben (vssadmin.exe delete shadows wird zu raccine.exe vssadmin.exe delete shadows)
  2. Anschließend verarbeiten wir die Befehlszeilenargumente und suchen mithilfe von YARA-Regeln nach schädlichen Kombinationen.
  3. Wenn keine schädliche Kombination gefunden wird, erstellen wir einen neuen Prozess mit den ursprünglichen Befehlszeilenparametern.
  4. Wenn eine schädliche Kombination gefunden wird, sammeln wir alle PIDs der übergeordneten Prozesse und beginnen, sie zu beenden (das sollten die Malware-Prozesse sein, wie in den obigen Screenshots gezeigt). Raccine zeigt ein Befehlszeilenfenster mit den beendeten PIDs für 5 Sekunden an, protokolliert es im Windows-Ereignisprotokoll und beendet sich dann selbst.

Schädliche Kombinationen:

  • delete und shadows (vssadmin, diskshadow)
  • resize und shadowstorage (vssadmin)
  • delete und shadowstorage (vssadmin)
  • delete und shadowcopy (wmic)
  • delete und catalog und -quiet (wbadmin)
  • win32_shadowcopy oder ein Element aus einer Liste codierter Befehle (powershell)
  • recoveryenabled (bcedit)
  • ignoreallfailures (bcedit)

^ veraltete Liste: siehe die entsprechende YARA-Regel

PowerShell-Liste codierter Befehle: JAB, SQBFAF, SQBuAH, SUVYI, cwBhA, aWV4I, aQBlAHgA und viele mehr

Beispiel

Emotet ohne Raccine – Link

Emotet ohne Raccine

Emotet mit Raccine – Link (ignorieren Sie die Prozessaktivität, die mit der Raccine-Installation zusammenhängt)

Emotet mit Raccine

Die Infektion wird im Keim erstickt.

Warnung !!!

VERWENDUNG AUF EIGENE GEFAHR!

Sie können auf einer mit Raccine geschützten Maschine keine Befehle mehr ausführen, die die blockierten Befehle verwenden, bis Sie den Deinstallations-Patch raccine-reg-patch-uninstall.reg anwenden. Dies könnte verschiedene Backup-Lösungen beeinträchtigen, die diesen speziellen Befehl während ihrer Arbeit ausführen. Es blockiert nicht nur die Anfrage, sondern beendet auch alle Prozesse in diesem Baum, einschließlich der Backup-Lösung und des aufrufenden Prozesses.

Wenn Sie ein solides Sicherheitsmonitoring haben, das alle Prozessausführungen protokolliert, können Sie Ihre Protokolle prüfen, ob vssadmin.exe delete shadows, vssadmin.exe resize shadowstorage ... oder die anderen blockierten Befehlszeilen häufig oder gelegentlich für legitime Zwecke verwendet werden. In diesem Fall sollten Sie die Verwendung von Raccine unterlassen.

Versionshistorie

  • 0.1.0 – Erste Version, die alle vssadmin.exe-Ausführungen abfing und blockierte
  • 0.2.0 – Version, die nur vssadmin.exe-Ausführungen blockiert, die delete und shadows in ihrer Befehlszeile enthalten, und andernfalls alle Parameter an einen neuen Prozess übergibt, der vssadmin mit seinen ursprünglichen Parametern aufruft
  • 0.2.1 – explorer.exe aus der Whitelist entfernt
  • 0.3.0 – Unterstützt die wmic-Methode mit Aufruf von delete shadowcopy, keine Ausgaben für Whitelist-Prozessstarts (vermeidet Probleme mit der wmic-Ausgabeverarbeitung)
  • 0.4.0 – Unterstützt das Protokollieren jedes blockierten Versuchs im Windows-Ereignisprotokoll, sucht nach weiteren schädlichen Parameterkombinationen
  • 0.4.1 – Statisch gelinkte Binärdateien
  • 0.4.2 – Fehlerkorrekturen von John Lambert
  • 0.5.0 – Ereignisprotokollierung entfernt (grundlegende Informationen waren unnötig; verursachte höhere Komplexität; kann auch durch Prozesserstellungsprotokollierung erreicht werden), Unterstützung für wbadmin-Filterung
  • 0.5.1 – Verbesserungen von @JohnLaTwC
  • 0.5.2 – Zusätzliche Prüfung auf delete shadowstorage von @JohnLaTwC, Code-Review von @_hillu, Anwendungssymbol
  • 0.5.3 – Batch-Installer
  • 0.6.0 – Zusätzliche Prüfungen für bcdedit.exe /set {default} bootstatuspolicy ignoreallfailures und bcdedit.exe /set {default} recoveryenabled no

Installation

Anforderungen

  • VC++-Laufzeit für das YARA-Scanning (Der Installer enthält das Setup-Paket von https://aka.ms/vs/16/release/VC_redist.x64.exe)
  • .NET Framework 4.5
  • Internetzugriff für die YARA-Regel-Updates
  • Windows 7 / Windows 2008 R2 oder höher

Sowohl das Visual-C++-Redistributable-Paket als auch das .NET Framework werden beim Ausführen von install-raccine.bat automatisch installiert.

Automatische Installation

  1. Laden Sie Raccine.zip aus dem Release-Bereich herunter
  2. Entpacken Sie es
  3. Führen Sie raccine-installer.bat als Administrator aus

Windows-Batch-Installer

Der Batch-Installer enthält eine Option zum „Deinstallieren" (Uninstall).

Manuelle Deinstallation

Als Administrator:

  1. Führen Sie raccine-reg-patch-uninstall.reg aus
  2. Entfernen Sie die Ordner %ProgramFiles%\Raccine und %ProgramData%\Raccine
  3. Führen Sie reg delete HKCU\Software\Raccine /F aus
  4. Führen Sie taskkill /F /IM RaccineSettings.exe aus
  5. Führen Sie reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "Raccine Tray" /F aus
  6. Führen Sie schtasks /DELETE /TN "Raccine Rules Updater" /F aus

Aktualisierungen

Programmaktualisierung

Wir empfehlen für ein Upgrade eine Deinstallation und Neuinstallation. Eine Deinstallation entfernt alle Registrierungsschlüssel mit Konfigurationen.

Signaturaktualisierung

Raccine verfügt seit Version 1.2 über einen integrierten Signatur-Update-Mechanismus. Dieses Programm namens RaccineRulesSync.exe ist so konfiguriert, dass es einmal täglich über eine geplante Aufgabe ausgeführt wird. Sie können eine Signaturaktualisierung manuell über die Option im Tray-Icon-Menü ausführen.

YARA-Abgleich

Seit Version 1.0 verwendet Raccine zusätzlich YARA-Regeln, um festzustellen, ob eine Prozessbefehlszeile oder ein übergeordneter Prozess schädlich ist oder nicht. Raccine verwendet 2 Regelsätze für zwei verschiedene Zwecke.

  1. ./yara – Regeln, die auf die Befehlszeile mit allen Parametern angewendet werden, z. B. WMIC.exe delete justatest
  2. ./yara/in-memory – Regeln, die auf den Prozessspeicher des übergeordneten Prozesses unseres abgefangenen Prozesses angewendet werden, z. B. ransomware.exe, das unseren abgefangenen Prozess vssadmin.exe ausführt

YARA-externe Variablen

Seit Version 1.1 übergeben wir eine Liste externer Variablen an den YARA-Abgleichprozess, um wesentlich komplexere und intelligentere YARA-Regeln zu ermöglichen, die Attribute des Prozesses und seines übergeordneten Prozesses berücksichtigen.

Der Abgleichprozess sieht in der Befehlszeile wie folgt aus:

root@kitploit:~
"C:\Program Files\Raccine\yara64.exe" -d FromRaccine="true" -d Name="WMIC.exe" -d ExecutablePath="C:\Windows\System32\wbem\WMIC.exe" -d CommandLine="WMIC.exe delete justatest" -d  Priority=32 -d FromRaccine="true" -d ParentName="cmd.exe" -d ParentExecutablePath="C:\Windows\System32\cmd.exe" -d ParentCommandLine="'C:\WINDOWS\system32\cmd.exe' " -d ParentPriority=32 C:\ProgramData\Raccine\yarayara\mal_emotet.yar C:\ProgramData\Raccine\yara\Rac1C6A.tmp

Das folgende Listing zeigt eine Beispiel-YARA-Regel, die die externen Variablen in ihrer Bedingung verwendet.

root@kitploit:~
rule env_vars_test {
    condition:
        Name contains "WMIC.exe"
        and CommandLine contains "delete justatest"
        and ParentPriority >= 8
        and (
            ParentCommandLine contains "cmd"
            or ParentCommandLine contains "powershell"
        )
}

Konfigurationsbereitstellung per GPO

Der Ordner GPO enthält Raccine.ADMX und Raccine.ADML. Bei der Bereitstellung kommt die Datei Raccine.ADMX nach C:\Windows\PolicyDefinitions. Die zugehörigen Raccine.ADML-Dateien kommen nach C:\Windows\PolicyDefinitions\en-US.

Zur Verwendung: Öffnen Sie GPEDIT.MSC > Computerkonfiguration > Administrative Vorlagen > System > Raccine

Nach dem Konfigurieren der Änderungen müssen Sie die GPO möglicherweise durch Ausführen von gpupdate.exe aktualisieren.

Protokolldatei

Eine Protokolldatei mit allen Abfangvorgängen und ausgeführten Aktionen wird unter C:\ProgramData\Raccine\Raccine_log.txt geschrieben.

Protokolldatei

Windows-Ereignisprotokoll

Für jedes Blockierungsereignis wird ein Eintrag im Application-Ereignisprotokoll erzeugt.

Ereignisprotokoll

Die IDs, die Raccine erzeugt

  • EventId 1 – Setup-Aktivität
  • EventId 2 – Schädliche Aktivität erkannt
  • EventId 3 – Gutartige Aktivität erkannt

Simulationsmodus

Seit Version 0.10.0 kann Raccine im „Simulationsmodus" installiert werden, der alle Auslöser aktiviert, alle Aktionen protokolliert, aber nichts beendet. Dieser Modus sollte in Umgebungen verwendet werden, in denen Backup-Lösungen oder andere legitime Software für einen angemessenen Zeitraum verwendet werden, um zu prüfen, ob Raccine andere Software beeinträchtigen würde. Die Idee ist, Raccine im Simulationsmodus zu installieren, es eine Woche oder einen Monat lang protokollieren zu lassen und dann die Protokolle zu prüfen, ob es legitime Software, die in der Organisation verwendet wird, blockiert hätte.

Beenden der Prozesse

Screenshot

Führen Sie raccine.exe aus und beobachten Sie, wie der übergeordnete Prozessbaum stirbt (Screenshot von v0.1)

Beenden der Prozesse

GUI

Verfügbar und erforderlich seit Version 1.

GUI

GUI

GUI

Pivot

Falls die Ransomware, mit der Sie gerade umgehen, einen bestimmten Prozessnamen verwendet, z. B. taskdl.exe, können Sie einfach den .reg-Patch ändern, um Aufrufe dieses Namens abzufangen und Raccine alle übergeordneten Prozesse des aufrufenden Prozessbaums beenden zu lassen.

Hilfe gesucht

Ich würde Raccine gerne erweitern, aber mir fehlen die C++-Kenntnisse, insbesondere auf der Windows-Plattform.

Hilfe – Mein System ist defekt

Falls etwas mit Ihrer Installation passiert, z. B. plötzliche Fehlermeldungen, defekte Dienste oder Programme, die nicht mehr starten, führen Sie die Datei raccine-reg-patch-uninstall.reg im Unterordner reg-patches aus. Das sollte alles wieder in den Normalzustand versetzen.

Danach sollten Sie auch in der Lage sein, eine vollständige Deinstallation mit install-raccine.bat durchzuführen.

Sonstige Informationen

Die richtige Aussprache ist „Rax-Een".

Danksagungen

  • Florian Roth @cyb3rops
  • John Lambert @JohnLaTwC
  • Eran Yom-Tov @eran_yom_tov
  • Ollie Whitehouse @ollieatnccgroup
  • Branislav Đalić @LordOfThePies4
  • Hilko Bengen @hillu
Tool herunterladen
  • 0.7.0 – Zusätzliche Prüfungen für powershell.exe und win32_shadowcopy oder eine Liste codierter Befehle
  • 0.7.1 – Verbesserungen von @JohnLaTwC
  • 0.7.2 – Verwendung absoluter Pfade in Registry-Patches
  • 0.8.0 – Erstellt eine Protokolldatei mit allen abgefangenen Anfragen und ausgeführten Aktionen C:\ProgramData\Raccine_log.txt
  • 0.9.0 – Protokolliert in das Windows-Ereignisprotokoll, von @JohnLaTwC
  • 0.10.0 – Nur Simulationsmodus
  • 0.10.1 – Korrektur für den Simulationsmodus
  • 0.10.2 – Enthält den Befehl diskshadow.exe delete shadows
  • 0.10.3-5 – Kleinere Korrekturen und Ergänzungen
  • 1.0 BETA – GUI-Elemente und YARA-Regelprüfung von Befehlszeilenparametern
  • 1.1 BETA – YARA-Regelabgleich mit externen Variablen, Fehlerbehebungsfunktionen
  • 1.2 BETA – Signatur-Updater
  • 1.3 BETA – In-Memory-YARA-Scanning des aufrufenden übergeordneten Prozesses
  • 1.4 BETA – Volle x86-Unterstützung, statische Zeichenfolgen in YARA-Regeln verschoben, um AV-Erkennungen zu vermeiden, Protokoll akzeptierter Ausführungen, .NET-Framework-Setup im Installer
  • 1.4.2 BETA – Exit-Code-Korrektur (Durchreichen des vom abgefangenen Programm zurückgegebenen Exit-Codes), Abfangen von taskkill.exe
  • VariableBeschreibungBeispielwert
    FromRaccinetrue
    NameName der ImagedateiWMIC.exe
    ExecutablePathVollständiger Pfad zur BinärdateiC:\Windows\System32\wbem\WMIC.exe
    CommandLineVollständige Befehlszeile mit ParameternWMIC.exe delete justatest
    PriorityProzesspriorität32
    ParentNameName der Imagedatei des übergeordneten Prozessescmd.exe
    ParentExecutablePathVollständiger Pfad zur ausführbaren Datei des übergeordneten ProzessesC:\Windows\System32\cmd.exe
    ParentCommandLineVollständige Befehlszeile des übergeordneten Prozesses mit ParameternC:\WINDOWS\system32\cmd.exe
    ParentPriorityPriorität des übergeordneten Prozesses32