Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
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
Ferramentas/GitHubGitHub/bhassani/eternalbluec
Frameworks de ExploraçãoAnálise de VulnerabilidadesExploraçãoShellcodeAnálise de MalwareTestes de PenetraçãoAprendizado e EducaçãoGeração de ShellcodeDesenvolvimento de PayloadsExploração de Binários
GitHub
61313875há 21 diasRevisado pelo Kitploit
bhassani/eternalbluec

EternalBlueC

EternalBlue suíte refeita em C/C++ que inclui: Exploit MS17-010, detector de vulnerabilidade EternalBlue, detector DoublePulsar e carregador de Shellcode & DLL do DoublePulsar

Ver Repositório

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

License: GPL v3

EternalBlueC

Suite EternalBlue refeita em C/C++ que inclui:

  • MS17-010 Exploit ( Contains DoublePulsar )
  • EternalBlue/MS17-010 vulnerability detector
  • DoublePulsar detector
  • DoublePulsar Upload DLL
  • Doublepulsar Upload Shellcode
  • DoublePulsar Upload DLL with SMB Structure
  • Doublepulsar Upload Shellcode with SMB Structure
  • Doublepulsar Upload Exe inside a DLL

Conquistas do Projeto

  • Upload Shellcode - concluído e funcionando, injete seu shellcode em qualquer processo desejado
  • Upload DLL - concluído e funcionando, injete sua DLL em qualquer processo desejado
  • Upload DLL with an embedded exe - concluído, injete sua DLL em qualquer processo desejado e extrai o executável como "mssecsvc.exe"

Objetivos do Projeto

  • Permitir que os pacotes de negociação, configuração de sessão, conexão de árvore, TransNamedPipe e Transaction2 do DoublePulsar sejam gerados dinamicamente com estruturas SMB e capturas hexadecimais
  • Permitir a edição do payload do exploit EternalBlue para remover o implante DoublePulsar e permitir o envio de shellcodes personalizados
  • Permitir que os pacotes do EternalBlue sejam gerados dinamicamente
  • Solicitar entrada do usuário para todos os endereços IP, payloads como shellcode ou caminhos de arquivo e autorização para continuar
  • Ser mais verboso
  • Adicionar a versão do Windows a partir da resposta SMB na tela
  • Adicionar suporte a parâmetros de linha de comando (DoublepulsarExecute.exe -h 192.168.0.8 -f PopCalculatorShellcode.bin )
  • Adicionar mais verificação de erros, como timeout de socket

Suite EternalBlue e DoublePulsar

  • ms17_vuln_status.cpp - Este programa envia 4 pacotes SMB. 1 negociação, 1 configuração de sessão, 1 conexão de árvore e 1 requisição TransNamedPipe. Este programa então lê a resposta NT_STATUS da requisição TransNamedPipe (requisição PeekNamedPipe) e determina se o NT_STATUS no pacote SMB é igual a 0xC0000205 (STATUS_INSUFF_SERVER_RESOURCES). Se estiver correto, o alvo é vulnerável ao MS17-010. Testado no Windows 7 x64 bit sem patch.

ms17vulnstatus

  • doublepulsar_check.cpp - Este programa envia 4 pacotes SMB. 1 negociação, 1 configuração de sessão, 1 conexão de árvore e 1 pacote Trans2 SESSION_SETUP. Ao enviar o pacote Trans2 SESSION_SETUP, o ID de multiplexação enviado pode ser comparado no pacote de resposta Trans2 com o ID de multiplexação: 0x51 ou 81. O DoublePulsar lê o ID de multiplexação enviado e, após o comando ping ser bem-sucedido, retorna um +10 em hexadecimal para o ID de multiplexação na resposta Trans2 SESSION_SETUP. Em seguida, comandos são enviados para queimar o backdoor DoublePulsar. O comando de queima do DoublePulsar está nos parâmetros de timeout do pacote SMB. Depois disso, o DoublePulsar se torna dormente e não é removido do sistema. Testado no Windows 7 x64 bit.

doublepulsar_check

  • DoublePulsarXORKeyCalculator.cpp - Este programa envia 4 pacotes SMB. 1 pacote de negociação e 3 requisições. A última requisição é uma requisição Trans2 SESSION_SETUP. Uma resposta Trans2 SESSION_SETUP é recebida e a assinatura SMB é extraída de (Recvbuff[18] -> Recvbuff[22]). Recvbuff[22] indica o tipo de arquitetura. Se 1, o alvo é x64 bits; se 0, o alvo é x86/32 bits. A assinatura SMB é convertida dos caracteres unsigned char para um inteiro unsigned.

SMBSignatureWireshark

Esses valores de Recvbuff[18] -> Recvbuff[22] são então processados pela função calculadora de chave XOR do DoublePulsar, que gera uma chave XOR inteira unsigned que pode ser usada para criptografar o shellcode ou payload DLL que será carregado no DoublePulsar. Testado no Windows 7 x64 bit.

Captura de tela de exemplo:

XORCalculator

Mesma chave do binário original da NSA no FUZZBUNCH XORCalculatorFromNSAbinary

  • DoublePulsar_structure_ping.cpp - Este programa envia 4 pacotes SMB. 1 negociação, 1 configuração de sessão, 1 conexão de árvore e 1 pacote Trans2 SESSION_SETUP. A diferença entre este e o doublepulsar_check.cpp é que este gera o pacote PING DoublePulsar Trans2 usando uma estrutura, em vez de uma string hexadecimal SMB fixa que obtive de uma amostra do Wannacry. Outra diferença é que este programa gera dinamicamente o pacote TreeConnect, em vez de usar o fixo presente na amostra do Wannacry. O pacote ping gerado neste programa informará se o DoublePulsar está instalado na máquina remota.

  • DoublePulsar_structure_exec.cpp - Este programa envia 5 pacotes SMB. 1 negociação SMB, 1 configuração de sessão, 1 conexão de árvore, 1 pacote Ping DoublePulsar Trans2 SESSION_SETUP e 1 pacote de Execução DoublePulsar Trans2 SESSION_SETUP. A diferença entre este e o Doublepulsar_UploadShellcode.cpp é que este gera o pacote de Execução DoublePulsar Trans2 usando uma estrutura, em vez de uma string hexadecimal SMB fixa que obtive de uma amostra do Wannacry.

  • Doublepulsar_UploadDLL.cpp - Este programa é destinado a DLLs. Ele envia 4 pacotes SMB junto com os dados da DLL em pacotes Trans2 SMB. 1 negociação, 1 configuração de sessão, 1 conexão de árvore, 1 requisição Ping Trans2 SESSION_SETUP e um pacote de Execução Trans2 SESSION_SETUP. O pacote de requisição Ping Trans2 SESSION_SETUP é enviado para obter a assinatura SMB no pacote de resposta Trans2 SESSION_SETUP. Esta assinatura é processada pela calculadora de chave XOR do DoublePulsar. O programa então lê um arquivo DLL e o combina com shellcode de kernel e userland de 64 bits para executar a DLL e aplica XOR no buffer com a chave XOR do DoublePulsar que calculamos a partir da assinatura SMB. Um pacote é gerado alocando memória, copiando o pacote Trans2, editando os valores necessários para a transação SMB funcionar (UserID, TreeID, TotalDataCount, DataCount, ByteCount), depois copia os dados com XOR (shellcode de kernel + DLL) para o final e o percorre enviando-o em um comprimento total de pacote de 4096 bytes por vez para o DoublePulsar. Comprimento total do pacote = 4178. 4096 é para os dados criptografados com XOR. Também implementarei o uso de estruturas SMB & TRANSACTION2 em versões futuras.

Baixar ferramenta