Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2018-6574 — Exploit para execução remota de comandos no comando go get do Golang. | Kitploit
Ferramentas/GitHubGitHub/devang-solanki/cve-2018-6574
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança da Cadeia de SuprimentosDesenvolvimento de PayloadsExploração de Binários
GitHubdevang-solanki/cve-2018-6574

CVE-2018-6574

Exploit para execução remota de comandos no comando go get do Golang.

Ver Repositório
11há 4 anosAinda não revisado

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

CVE-2018-6574

Exploit para execução remota de comandos no comando go get do Golang.

Introdução

Quando você faz go get de um pacote, o Go é projetado para construir e instalar o pacote sem executar nenhum código dele. A intenção é que você possa obter, construir e até mesmo instalar pacotes Go de forma segura, sem confiar neles. Em teoria, parece que isso deveria ser uma tarefa simples para a ferramenta Go, mas na prática, é um verdadeiro desafio. O go get faz muitas coisas internamente, incluindo invocar ferramentas de terceiros como git e clang de maneiras que são fortemente influenciadas pelas configurações do pacote. Garantir que essas invocações sejam seguras é uma batalha difícil que o Go ainda não venceu completamente.

Quando o cgo está habilitado, a etapa de compilação durante o go get invoca o compilador C do host, gcc ou clang, adicionando flags do compilador especificadas nos arquivos fonte do Go. Tanto o gcc quanto o clang suportam um mecanismo de plugins no qual um plugin de biblioteca compartilhada é carregado no compilador, conforme direcionado pelas flags do compilador. Isso significa que um repositório de pacotes Go pode conter um arquivo exploit.so junto com um arquivo fonte Go que diz (por exemplo) // #cgo CFLAGS: -fplugin=exploit.so, fazendo com que o plugin de ataque seja carregado no compilador C do host durante a compilação. Os plugins do gcc e clang são completamente irrestritos em seu acesso ao sistema host.

Go antes de 1.8.7, Go 1.9.x antes de 1.9.4 e pré-lançamentos do Go 1.10 antes do Go 1.10rc2 permitem execução remota de comandos pelo go get durante a compilação do código fonte, aproveitando o recurso de plugin do gcc ou clang, porque os argumentos -fplugin= e -plugin= não foram bloqueados.

Construindo o Exploit

Para o Exploit, precisaremos hospedar nosso pacote malicioso. Precisamos de um site com TLS e uma cadeia de certificados válida. Uma maneira fácil de fazer isso é usar o github

Em seguida, você precisará de um arquivo malicioso de plugin/.so. O código em exploit.c deve ajudar com isso.

Nota: Altere o seguinte código em exploit.c para o seu comando

root@kitploit:~
void exploit() {
    system("<Seu Comando>");
}

Nota: Compile este arquivo de acordo com a arquitetura da máquina/pc da vítima

Você pode compilar o exploit.so usando o seguinte comando:

root@kitploit:~
gcc -shared -o exploit.so -fPIC exploit.c

Depois de hospedar seu payload completo no Github, você deve conseguir passar o link do pacote para a vítima.

Baixar ferramenta