Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
SigFlip — SigFlip ist ein Tool zum Patchen von mit Authenticode signierten PE-Dateien (exe, dll, sys, usw.), ohne die bestehende Signatur zu ungültig zu machen oder zu beschädigen. | Kitploit
Tools/GitHubGitHub/med0x2e/sigflip
DefensivwerkzeugePersistenzmechanismenCode-AnalyseExploitationLaterale BewegungBinäranalyseRed TeamingPayload-Entwicklung
GitHubmed0x2e/sigflip

SigFlip

SigFlip ist ein Tool zum Patchen von mit Authenticode signierten PE-Dateien (exe, dll, sys, usw.), ohne die bestehende Signatur zu ungültig zu machen oder zu beschädigen.

Repository anzeigen
1.3k20992vor 3 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

Was ist das?

SigFlip ist ein Tool zum Patchen von mit Authenticode signierten PE-Dateien (exe, dll, sys usw.), ohne die vorhandene Authenticode-Signatur zu beeinträchtigen oder zu brechen. Mit anderen Worten: Sie können die Prüfsumme/den Hash einer PE-Datei ändern, indem Sie Daten (z. B. Shellcode) einbetten, ohne die Dateisignatur, Integritätsprüfungen oder die Funktionalität der PE-Datei zu beeinträchtigen.

SigInject verschlüsselt Shellcode und injiziert ihn in die [WIN_CERTIFICATE]-Zertifikatstabelle einer PE-Datei. Der Verschlüsselungsschlüssel wird zur Verwendung mit einem einfachen BOF/C/C#-Loader (SigLoader) ausgegeben. SigInject speichert die Änderungen in einer modifizierten PE-Datei und bewahrt ihre Signatur und Zertifikatsgültigkeit.

SigLoader ist ein einfacher Loader, der als Parameter den Pfad einer modifizierten PE-Datei (erstellt von SigInject) und den Entschlüsselungsschlüssel nimmt, dann den eingebetteten Shellcode extrahiert und entschlüsselt, um ihn mit einer beliebigen Shellcode-Injection zu verwenden.

SigFlip prüft, ob der PE-Hash erfolgreich geändert wurde, und beendet sich bei Endpunkten, die gegen solche häufigen Fehlkonfigurationen gehärtet sind, ordnungsgemäß (siehe Abschnitt „Details“).

Kurzer Hinweis: SigFlip, SigInject und SigLoader sind als BOF-Skripte und .NET-Assemblys verfügbar. Der einzige Unterschied besteht darin, dass die SigInject-Funktionalität als Teil von SigFlip (-i) implementiert ist, falls Sie sich für .NET-Artefakte anstelle von BOFs entscheiden.

Warum?

Es kann hauptsächlich für Persistenz, laterale Bewegung oder Code-/Befehlsausführung verwendet werden und kann helfen bei:

  • Umgehung von Anwendungs-Whitelisting, Ändern des PE-Datei-Hashs (z. B. msbuild.exe), ohne die Signatur zu brechen.
  • Umgehung von EDRs, die zur Erkennung von schädlichem Code/Befehlsausführung auf Hashes bestimmter LOLBINs angewiesen sind.
  • Laden signierter Treiber mit einem anderen Hash; könnte helfen, EDRs zu umgehen, die mit einer vordefinierten Hash-Liste nach häufigen anfälligen signierten Treibern suchen.
  • Einbetten verschlüsselten Shellcodes in eine signierte PE-Datei und Verwendung eines von Ihnen bevorzugten Stagers (SigLoader) zum Parsen, Entschlüsseln, Laden und Ausführen.
  • Sicherheitsanbieter von Endpunkten neigen dazu, signierte PE-Dateien meist als gutartig einzustufen; das Einbetten Ihres unsignierten Codes (Shellcode usw.) in eine signierte PE-Datei erschwert die Erkennung/Kennzeichnung.
  • Umgehung von Sicherheitsanbietern, die sich hauptsächlich auf die standardmäßige WinVerifyTrust zur Signaturvalidierung verlassen.
  • Verbesserung der OPSEC und Herausforderung von Verteidigern, die sich allein auf typische Signaturverifizierungsprogramme wie signtool, sigcheck, Get-AuthenticodeSignature usw. verlassen, um die Authenticode-Signatur von PE-Dateien zu validieren.

Verwendung & Beispiele:

Kompilieren/Bauen:

Vorkompilierte BOFs werden in diesem Projekt nicht bereitgestellt. Sie können mit Mingw-w64 kompiliert werden. Für .NET verwenden Sie VS oder csc.exe zum Kompilieren der .NET-Projekte (SigFlip, SigLoader). Für BOF führen Sie die folgenden Schritte aus:

  • ➜ i686-w64-mingw32-gcc -c sigflip.c -o sigflip.x86.o
  • ➜ x86_64-w64-mingw32-gcc -c sigflip.c -o sigflip.x64.o
  • ➜ x86_64-w64-mingw32-gcc -c SigLoader/sigloader.c -o sigloader.x64.o
  • ➜ i686-w64-mingw32-gcc -c SigLoader/sigloader.c -o sigloader.x86.o

Stellen Sie sicher, dass sich alle Objektdateien im selben Verzeichnis wie sigflip.cna befinden, und laden Sie dann das Skript sigflip.cna in Cobalt Strike.

Kurzer Hinweis: Vorkompilierte BOFs wurden getestet und sind kompatibel mit mingw-64 v8.0.0_3. Die Verwendung von mingw-64 >= v9 könnte funktionieren, aber aktive Beacons könnten abstürzen. Weitere Details finden Sie unter https://github.com/med0x2e/SigFlip/issues/2.

Cobalt Strike:

  1. Execute-Assembly

    • execute-assembly SigFlip.exe -h
    • execute-assembly SigLoader -h
  2. BOF

    • Zur Verwendung mit Cobalt Strike: Sobald Sie das SigFlip.cna-Skript geladen haben, werden zwei neue Befehle registriert: SigFlip und SigInject. Verwenden Sie sie wie folgt:
      • SigFlip: Ändert den Hash einer PE-Datei (DLL, EXE, SYS, OCX usw.), ohne die Signatur oder die Gültigkeit des Zertifikats zu brechen:

        • SigFlip "<PE\_FILE\_PATH>" "<OUTPUT\_PE\_FILE\_PATH (mit Erweiterung)>"
      • SigInject: Verschlüsselt Shellcode und injiziert ihn in die [WIN_CERTIFICATE]-Zertifikatstabelle einer PE-Datei. Der Verschlüsselungsschlüssel wird zur Verwendung mit einem einfachen C/C#-Loader ausgegeben. Signatur und Zertifikatsgültigkeit bleiben erhalten:

        • SigInject "<PE\_FILE\_PATH> <OUTPUT\_PE\_FILE\_PATH (mit Erweiterung)>" "<SHELLCODE\_FILE>"
      • SigLoader: Lädt verschlüsselten Shellcode aus von SigInject erstellten PE-Dateien und verwendet dann Early Bird QueueUserAPC, um Shellcode in einen Opferprozess zu injizieren. Die Shellcode-Injektionslogik kann angepasst oder durch eine beliebige andere Code-Injektionstechnik ersetzt werden:

        • SigLoader <PE_FILE_PATH_WITH_SH> <DECRYPTION_KEY> <SPAWNTO_PROCESS_PATH> <PARENT_PROCESS_ID>
  3. Beispiele

    • BOF:

      • Zufällige Daten in msbuild.exe injizieren (auch Bit-Flip von msbuild.exe):
        • SigFlip "C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe" "C:\lolbins\modified-msbuild.exe"
      • Shellcode in kernel32.dll injizieren (Argumentreihenfolge ist anders; notieren Sie sich den Entschlüsselungsschlüssel):
        • SigInject "C:\Windows\System32\kernel32.dll" "C:\random\modified-kernel32.dll" "C:\shellcode\cobaltstrike_or_msf_shellcode.bin"
        • Sigloader "C:\random\modified-kernel32.dll" "DECRYPTION_KEY" "C:\Windows\System32\werfault.exe" 6300
    • Execute-Assembly:

      • Zufällige Daten in msbuild.exe injizieren:
        • execute-assembly SigFlip.exe -b C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe -o C:\Temp\MSBuild.exe
      • Shellcode in kernel32.dll injizieren (Argumentreihenfolge ist anders; notieren Sie sich den Entschlüsselungsschlüssel):
        • execute-assembly SigFlip.exe -i C:\Windows\System32\kernel32.dll -s C:\Temp\x86shellcode.bin -o C:\Temp\kernel32.dll -e TestSecretKey
        • execute-assembly SigLoader.exe -f C:\Temp\modified-kernel32.dll -e TestSecretKey -pid 2354

Details:

Dies ist eine bekannte Technik, die von APT#10 in mehreren Kampagnen oder Angriffssets verwendet wird.

Authenticode-Digitale Signaturen?

Authenticode ist eine Microsoft-Technologie zur Code-Signierung, die den Herausgeber von mit Authenticode signierter Software identifiziert. Authenticode überprüft auch, ob die Software seit ihrer Signierung und Veröffentlichung nicht manipuliert wurde.

Wie funktioniert es?

Tool herunterladen