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
go-shellcode — Un repository di esecutori di Windows Shellcode e utilità di supporto. Le applicazioni caricano ed eseguono Shellcode utilizzando varie chiamate API o tecniche. | Kitploit
Strumenti/GitHubGitHub/ne0nd0g/go-shellcode
Generazione di PayloadExploitShellcodePost-ExploitPenetration TestingRed TeamingSviluppo Payload
GitHubne0nd0g/go-shellcode

go-shellcode

Un repository di esecutori di Windows Shellcode e utilità di supporto. Le applicazioni caricano ed eseguono Shellcode utilizzando varie chiamate API o tecniche.

Vedi Repository
1.2k239304 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

go-shellcode

go-shellcode è un repository di runner di Shellcode per Windows e utility di supporto. Le applicazioni caricano ed eseguono Shellcode utilizzando varie chiamate API o tecniche.

I runner di Shellcode disponibili includono:

  • CreateFiber
  • CreateProcess
  • CreateProcessWithPipe
  • CreateRemoteThread
  • CreateRemoteThreadNative
  • CreateThread
  • CreateThreadNative
  • EarlyBird
  • EtwpCreateEtwThread
  • NtQueueApcThreadEx (local)
  • RtlCreateUserThread
  • Syscall
  • Shellcode Utils
  • UuidFromStringA

CreateFiber

Questa applicazione sfrutta la funzione Windows CreateFiber di Kernel32.dll per eseguire shellcode all'interno del processo di questa applicazione. È utile quando si vuole evitare l'iniezione in processi remoti e si vuole evitare di chiamare CreateThread. Questa applicazione NON utilizza funzioni del pacchetto golang.org/x/sys/windows. La differenza più significativa è che questa applicazione carica da sé tutte le DLL e le Procedure necessarie e utilizza la funzione Call() della procedura.

NOTA: Non ho ancora trovato un modo per far uscire il processo e sarà necessario terminarlo manualmente.

L'applicazione può essere compilata con il seguente comando su un host Windows dalla directory root del progetto:

set GOOS=windows GOARCH=amd64;go build -o CreateFiber.exe .\cmd\CreateFiber\main.go

CreateProcess

Questa applicazione sfrutta la funzione Windows CreateProcess di Kernel32.dll. Il processo viene creato in uno stato sospeso, l'AddressOfEntryPoint nella struttura IMAGE_OPTIONAL_HEADER viene aggiornato per eseguire shellcode nel processo figlio, e poi il processo viene ripreso. Questo è un tipo di process hollowing ma il PE esistente NON viene smappato e il ThreadContext NON viene aggiornato. L'architettura dello shellcode fornito (es. x86 o x64) deve corrispondere all'architettura del processo figlio.

L'applicazione può essere compilata con il seguente comando su un host Windows dalla directory root del progetto:

set GOOS=windows GOARCH=amd64;go build -o CreateProcess.exe .\cmd\CreateProcess\main.go

CreateProcessWithPipe

Questa applicazione sfrutta la funzione Windows CreateProcess di Kernel32.dll. Il processo viene creato in uno stato sospeso, l'AddressOfEntryPoint nella struttura IMAGE_OPTIONAL_HEADER viene aggiornato per eseguire shellcode nel processo figlio, e poi il processo viene ripreso. Questo è un tipo di process hollowing ma il PE esistente NON viene smappato e il ThreadContext NON viene aggiornato. L'architettura dello shellcode fornito (es. x86 o x64) deve corrispondere all'architettura del processo figlio.

Questa applicazione si differenzia da CreateProcess perché raccoglie tutti i dati scritti su STDOUT o STDERR nel processo figlio e li restituisce al processo padre. I dati vengono raccolti utilizzando la funzione CreatePipe per creare una pipe anonima tramite cui il processo padre e quello figlio comunicano. Ciò è utile quando si utilizzano strumenti come Donut per eseguire un assembly .NET in un processo figlio come shellcode e recuperare l'output del programma eseguito. Il seguente comando può essere utilizzato per generare shellcode indipendente dalla posizione per eseguire Seatbelt con Donut v0.9.3:

.\donut.exe -o donut_v0.9.3_Seatbelt.bin -x 2 -c Seatbelt.Program -m Main -p "ARPTable" Seatbelt.exe

L'applicazione può essere compilata con il seguente comando su un host Windows dalla directory root del progetto:

set GOOS=windows GOARCH=amd64;go build -o CreateProcessWithPipe.exe .\cmd\CreateProcessWithPipe\main.go

CreateRemoteThread

Questa applicazione sfrutta la funzione Windows CreateRemoteThread di Kernel32.dll per eseguire shellcode in un processo remoto. L'applicazione richiede che il processo di destinazione in cui iniettare sia già in esecuzione. L'identificativo del processo (PID) di destinazione può essere fornito in fase di esecuzione per i test utilizzando il flag -pid della riga di comando. Per l'uso operativo, codificare il PID nella seguente riga di codice sostituendo 0 con il PID di destinazione:

pid := flag.Int("pid", 0, "Process ID to inject shellcode into")

Questa applicazione utilizza funzioni del pacchetto golang.org/x/sys/windows, ove possibile, come windows.OpenProcess(). L'applicazione può essere compilata con il seguente comando su un host Windows dalla directory root del progetto:

set GOOS=windows GOARCH=amd64;go build -o CreateRemoteThread.exe .\cmd\CreateRemoteThread\main.go

CreateRemoteThreadNative

Questa applicazione sfrutta la funzione Windows CreateRemoteThread di Kernel32.dll per eseguire shellcode in un processo remoto. L'applicazione richiede che il processo di destinazione in cui iniettare sia già in esecuzione. L'identificativo del processo (PID) di destinazione può essere fornito in fase di esecuzione per i test utilizzando il flag -pid della riga di comando. Per l'uso operativo, codificare il PID nella seguente riga di codice sostituendo 0 con il PID di destinazione:

pid := flag.Int("pid", 0, "Process ID to inject shellcode into")

Questa applicazione NON utilizza funzioni del pacchetto golang.org/x/sys/windows. La differenza più significativa è che questa applicazione carica da sé tutte le DLL e le Procedure necessarie e utilizza la funzione Call() della procedura. L'applicazione può essere compilata con il seguente comando su un host Windows dalla directory root del progetto:

set GOOS=windows GOARCH=amd64;go build -o CreateRemoteThreadNative.exe .\cmd\CreateRemoteThreadNative\main.go

CreateThread

Questa applicazione sfrutta la funzione Windows CreateThread di Kernel32.dll per eseguire shellcode all'interno del processo di questa applicazione. È utile quando si vuole evitare l'iniezione in processi remoti. Questa applicazione utilizza funzioni del pacchetto golang.org/x/sys/windows, ove possibile, come windows.VirtualAlloc(). L'applicazione può essere compilata con il seguente comando su un host Windows dalla directory root del progetto:

set GOOS=windows GOARCH=amd64;go build -o CreateThread.exe .\cmd\CreateThread\main.go

CreateThreadNative

Scarica lo strumento