Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
  [TuT] How to make you own custom C++ runPE crypter
#1
Thumbs Up 
Da es eigentlich keine Tutorials zum Erstellen von nativen C ++ - Cryptern gab, dachte ich, ich würde meine eigenes machen.

Info:
Dies ist ein sehr grundlegender Cryptierer, das Minimum, das ein Cryptierer benötigt, um zu funktionieren, und ich habe diesen Lehrgang erstellt, um die Leute dazu zu bringen, Cryptierer herzustellen. Ich habe keine Verschlüsselung hinzugefügt (da du diese möglicherweise selbst erstellen möchten), Antidebugger, AV-Bypässe oder zusätzliche Funktionen. Dieser Crypter verwendet die runPE-Technologie und legt keine Dateien auf der Festplatte ab.
Ich habe die Gnu-Compiler verwendet, um dies zu kompilieren, aber du kannst jeden beliebigen Compiler verwenden. Es gibt auch ein paar Batch-Dateien, die das Kompilieren vereinfachen. Sie funktionieren jedoch nur, wenn Sie das MinGW-Terminal oder gcc / g ++ in Ihren Umgebungsvariablen enthalten haben.

So funktioniert dieser Crypter:
Es ist ziemlich einfach, wie dieser Crypter funktioniert. Speichert zuerst die Bytes des
Datei, die wir in sich selbst verschlüsseln möchten (genauer gesagt im Abschnitt .data) und die Bytes im Speicher über eine Methode namens runPE ausführt.

Speichermethode:
Shellcode besteht im Grunde genommen nur aus den Bytes einer ausführbaren Datei, die irgendwo gespeichert ist. In diesem Fall speichern wir den Shellcode in einer Header-Datei namens shellcode.h, die wir später in den Crypter aufnehmen werden. Kompilieren Sie dazu ShellcodeGenerator.c (führen Sie make.bat aus, wenn Sie mingw haben) und Sie erhalten ShellcodeGenerator.exe. Legen Sie nun die zu verschlüsselnde Datei (z. B. unsere MessageBox.exe) in dasselbe Verzeichnis und führen Sie "generate shellcode.bat" aus. Nachdem Sie dies getan haben, sehen Sie eine Datei namens shellcode.h, die ein Array der Bytes unserer ausführbaren Datei enthält, die wir verschlüsseln wollten. Verschieben Sie nun die Datei shellcode.h in das Crypter-Verzeichnis.


Bau des Krypters:
Nachdem wir nun shellcode.h haben, müssen wir nur noch den Crypter kompilieren. Führen Sie einfach make.bat aus und Sie erhalten eine Ausgabe mit dem Namen crypted.exe, die unser Endprodukt sein wird. Wenn Sie es ausführen, wird unsere Nachrichtenbox (oder welche Datei auch immer Sie verschlüsselt haben) im Speicher ausgeführt.

Wahlweise:
Wenn du wissen möchten, wie das runPE funktioniert, finden Sie hier eine kurze Erklärung:
Spoiler!
Bevor ich erkläre, möchte ich sagen, dass runPE nicht der einzige Weg ist, Code im Speicher auszuführen, und es ist sicherlich nicht der beste Weg (es ist nur der häufigste). Grundsätzlich bewirkt ein runPE, dass ein angehaltener Prozess erstellt wird, der unsere Plattform für das Einfügen / Zuordnen unseres Codes ist, da wir unseren Code nicht einfach von jedem beliebigen Ort aus ausführen können. Da dieser Prozess jedoch immer noch den ursprünglichen Code und die ursprünglichen Daten des Prozesses enthält, müssen wir diesen entfernen. Dazu rufen wir NtUnmapViewofSections auf. Sobald es gelöscht ist, können wir unseren Code in den Prozessraum abbilden. Wir schreiben zuerst einige Überschriften, dann die Abschnitte. Jetzt sollte die Speicheransicht des Adressraums des Prozesses genau so aussehen, als ob unser Code von der Festplatte ausgeführt wurde. In diesem Fall müssen einige Variablen in einer bestimmten Struktur (CONTEXT) geändert werden, um den Stapelzeiger und den Einstiegspunkt des Prozesses anzugeben. Denken Sie daran, dass der Prozess währenddessen angehalten wurde (nicht ausgeführt wurde). Jetzt müssen wir nur noch den Prozess fortsetzen, und es wird mit der Ausführung unseres eingefügten Codes begonnen. Ich hoffe, Sie haben das verstanden, da es ohne Diagramme und Tools ziemlich schwer zu erklären ist.


.zip   Basic Crypter source (C++).zip (Größe: 3,88 KB / Downloads: 1)
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
www.D3n1s.Net