Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
go-shellcode — Um repositório de executores de Shellcode do Windows e utilitários de suporte. Os aplicativos carregam e executam Shellcode usando várias chamadas de API ou técnicas. | Kitploit
Ferramentas/GitHubGitHub/ne0nd0g/go-shellcode
Geração de PayloadsExploraçãoShellcodePós-ExploraçãoTestes de PenetraçãoRed TeamingDesenvolvimento de Payloads
GitHubne0nd0g/go-shellcode

go-shellcode

Um repositório de executores de Shellcode do Windows e utilitários de suporte. Os aplicativos carregam e executam Shellcode usando várias chamadas de API ou técnicas.

Ver Repositório
1.2k23920há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

go-shellcode

go-shellcode é um repositório de executores de Shellcode para Windows e utilitários de suporte. Os aplicativos carregam e executam Shellcode usando várias chamadas de API ou técnicas.

Os executores de Shellcode disponíveis incluem:

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

CreateFiber

Este aplicativo utiliza a função Windows CreateFiber da Kernel32.dll para executar shellcode no processo deste aplicativo. É útil quando se deseja evitar injeção em processo remoto e evitar chamar CreateThread. Este aplicativo NÃO utiliza funções do pacote golang.org/x/sys/windows. A diferença mais significativa é que este aplicativo carrega todas as DLLs e Procedures necessárias por conta própria e usa a função Call() da procedure.

NOTA: Ainda não descobri uma maneira de fazer o processo sair, e você terá que encerrá-lo manualmente.

O aplicativo pode ser compilado com o seguinte comando em um host Windows, a partir do diretório raiz do projeto:

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

CreateProcess

Este aplicativo utiliza a função Windows CreateProcess da Kernel32.dll. O processo é criado em estado suspenso, o AddressOfEntryPoint na estrutura IMAGE_OPTIONAL_HEADER é atualizado para executar shellcode no processo filho, e então o processo é retomado. Este é um tipo de processo oco (process hollowing), mas o PE existente NÃO é desmapeado e o ThreadContext NÃO é atualizado. A arquitetura do shellcode fornecido (ou seja, x86 ou x64) deve corresponder à arquitetura do processo filho.

O aplicativo pode ser compilado com o seguinte comando em um host Windows, a partir do diretório raiz do projeto:

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

CreateProcessWithPipe

Este aplicativo utiliza a função Windows CreateProcess da Kernel32.dll. O processo é criado em estado suspenso, o AddressOfEntryPoint na estrutura IMAGE_OPTIONAL_HEADER é atualizado para executar shellcode no processo filho, e então o processo é retomado. Este é um tipo de processo oco, mas o PE existente NÃO é desmapeado e o ThreadContext NÃO é atualizado. A arquitetura do shellcode fornecido (ou seja, x86 ou x64) deve corresponder à arquitetura do processo filho.

Este aplicativo difere do CreateProcess porque irá coletar quaisquer dados escritos para STDOUT ou STDERR no processo filho e retorná-los ao processo pai. Os dados são coletados usando a função CreatePipe para criar um pipe anônimo pelo qual o processo pai e o filho se comunicam. Isso é útil ao usar ferramentas como Donut para executar um assembly .NET em um processo filho como shellcode e recuperar a saída do programa executado. O seguinte comando pode ser usado para gerar shellcode independente de posição para executar Seatbelt com Donut v0.9.3:

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

O aplicativo pode ser compilado com o seguinte comando em um host Windows, a partir do diretório raiz do projeto:

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

CreateRemoteThread

Este aplicativo utiliza a função Windows CreateRemoteThread da Kernel32.dll para executar shellcode em um processo remoto. O aplicativo exige que o processo alvo a ser injetado já esteja em execução. O PID (Identificador de Processo) alvo pode ser fornecido em tempo de execução para teste usando a flag de linha de comando -pid. Hardcode o PID na seguinte linha de código para uso operacional, substituindo o 0 pelo PID alvo:

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

Este aplicativo utiliza funções do pacote golang.org/x/sys/windows, quando viável, como windows.OpenProcess(). O aplicativo pode ser compilado com o seguinte comando em um host Windows, a partir do diretório raiz do projeto:

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

CreateRemoteThreadNative

Este aplicativo utiliza a função Windows CreateRemoteThread da Kernel32.dll para executar shellcode em um processo remoto. O aplicativo exige que o processo alvo a ser injetado já esteja em execução. O PID (Identificador de Processo) alvo pode ser fornecido em tempo de execução para teste usando a flag de linha de comando -pid. Hardcode o PID na seguinte linha de código para uso operacional, substituindo o 0 pelo PID alvo:

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

Este aplicativo NÃO utiliza funções do pacote golang.org/x/sys/windows. A diferença mais significativa é que este aplicativo carrega todas as DLLs e Procedures necessárias por conta própria e usa a função Call() da procedure. O aplicativo pode ser compilado com o seguinte comando em um host Windows, a partir do diretório raiz do projeto:

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

CreateThread

Este aplicativo utiliza a função Windows CreateThread da Kernel32.dll para executar shellcode no processo deste aplicativo. É útil quando se deseja evitar injeção em processo remoto. Este aplicativo utiliza funções do pacote golang.org/x/sys/windows, quando viável, como windows.VirtualAlloc(). O aplicativo pode ser compilado com o seguinte comando em um host Windows, a partir do diretório raiz do projeto:

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

CreateThreadNative

Este aplicativo utiliza a função Windows CreateThread da Kernel32.dll para executar shellcode no processo deste aplicativo. É útil quando se deseja evitar injeção em processo remoto. Este aplicativo NÃO utiliza funções do pacote golang.org/x/sys/windows. A diferença mais significativa é que este aplicativo carrega todas as DLLs e Procedures necessárias por conta própria e usa a função Call() da procedure. O aplicativo pode ser compilado com o seguinte comando em um host Windows, a partir do diretório raiz do projeto:

Baixar ferramenta