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
monomorph — MD5-Monomorphic Shellcode Packer - alle Payloads haben denselben MD5-Hash | Kitploit
Tools/GitHubGitHub/davidbuchanan314/monomorph
Payload-GenerierungExploitationHash-AnalyseShellcodeKryptographieShellcode-GenerierungPayload-EntwicklungBinary-Exploitation
GitHubdavidbuchanan314/monomorph

monomorph

MD5-Monomorphic Shellcode Packer - alle Payloads haben denselben MD5-Hash

Repository anzeigen
79161vor 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

════════════════════════════════════╦═══
╔═╦═╗ ╔═╗ ╔═╗ ╔═╗ ╔═╦═╗ ╔═╗ ╔══╔═╗ ╠═╗
═╩ ╩ ╩═╚═╝═╩ ╩═╚═╝═╩ ╩ ╩═╚═╝═╩ ╠═╝═╩ ╩═
════════════════════════════════╩═══════
By Retr0id

root@kitploit:~
═══ MD5-Monomorphic Shellcode Packer ═══    
                                            
                                            

VERWENDUNG: python3 monomorph.py input_file output_file [payload_file]

Was macht es?

Es packt bis zu 4KB komprimierten Shellcode in eine ausführbare Binärdatei, fast augenblicklich. Die Ausgabedatei wird immer denselben MD5-Hash haben: 3cebbe60d91ce760409bbe513593e401

Derzeit wird nur Linux x86-64 unterstützt. Es wäre trivial, diese Technik auf andere Plattformen zu portieren, obwohl jede Version einen anderen MD5-Hash hätte. Es wäre auch möglich, eine plattformübergreifende Polyglot-Datei wie APE zu verwenden.

Beispielverwendung:

root@kitploit:~
$ python3 monomorph.py bin/monomorph.linux.x86-64.benign bin/monomorph.linux.x86-64.meterpreter sample_payloads/bin/linux.x64.meterpreter.bind_tcp.bin

Warum?

Leute haben zuvor einzelne Kollisionen verwendet, um eine Binärdatei zwischen "guten" und "bösen" Modi umzuschalten. Monomorph bringt dieses Konzept auf die nächste Stufe.

Einige Leute bestehen immer noch darauf, MD5 zu verwenden, um Dateibeispiele zu referenzieren, aus verschiedenen Gründen, die für mich keinen Sinn ergeben. Wenn einer dieser Leute irgendwann Code untersucht, der mit Monomorph gepackt wurde, werden sie sehr verwirrt sein.

Wie funktioniert es?

Für jedes Bit, das wir kodieren wollen, wurde ein kollidierender MD5-Block mit FastColl vorberechnet. Wie hier zusammengefasst, gibt uns jede Kollision ein Paar von Blöcken, die wir austauschen können, ohne den gesamten MD5-Hash zu ändern. Der Lader prüft zur Laufzeit, welcher Block ausgewählt wurde, um das Bit zu dekodieren.

Um 4KB Daten zu kodieren, müssen wir 4*1024*8 Kollisionen generieren (was einige Stunden dauert) und dabei 4MB Platz in der endgültigen Datei einnehmen.

Um dies zu beschleunigen, habe ich einige kleine Anpassungen an FastColl vorgenommen, um es in der Praxis noch schneller zu machen und die parallele Ausführung zu ermöglichen. Ich bin sicher, dass es intelligentere Möglichkeiten gibt, es zu parallelisieren, aber mein naiver Ansatz ist es, N Instanzen gleichzeitig zu starten und auf die erste zu warten, die fertig ist, und dann alle anderen zu beenden.

Da ich die Vorberechnung bereits durchgeführt habe, kann die Neukonfiguration des Payloads fast augenblicklich erfolgen. Das Austauschen des Zustands der vorberechneten Blöcke erfolgt mit einer Technik, die von Ange Albertini implementiert wurde.

Ist es erkennbar?

Ja. Es ist überhaupt nicht sehr heimlich, und es versucht auch nicht, es zu sein. Sie können die Kollisionsblöcke mit detectcoll erkennen.

Tool herunterladen