Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
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
EternalBlueC — Suite EternalBlue rifatta in C/C++ che include: MS17-010 Exploit, rilevatore di vulnerabilità EternalBlue, rilevatore DoublePulsar e caricatore di Shellcode e DLL DoublePulsar | Kitploit
Strumenti/GitHubGitHub/bhassani/eternalbluec
Framework di ExploitAnalisi delle VulnerabilitàExploitShellcodeAnalisi MalwarePenetration TestingApprendimento e FormazioneGenerazione di ShellcodeSviluppo PayloadBinary Exploitation
GitHub
6131387521 giorni faRevisionato da Kitploit
bhassani/eternalbluec

EternalBlueC

Suite EternalBlue rifatta in C/C++ che include: MS17-010 Exploit, rilevatore di vulnerabilità EternalBlue, rilevatore DoublePulsar e caricatore di Shellcode e DLL DoublePulsar

Vedi Repository

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

License: GPL v3

EternalBlueC

La suite EternalBlue rifatta in C/C++ che include:

  • Exploit MS17-010 (include DoublePulsar)
  • Rilevatore di vulnerabilità EternalBlue/MS17-010
  • Rilevatore di DoublePulsar
  • Caricamento DLL con DoublePulsar
  • Caricamento shellcode con DoublePulsar
  • Caricamento DLL con struttura SMB con DoublePulsar
  • Caricamento shellcode con struttura SMB con DoublePulsar
  • Caricamento di un eseguibile all'interno di una DLL con DoublePulsar

Risultati del progetto

  • Caricamento shellcode - completato e funzionante, inietta il tuo shellcode in qualsiasi processo desideri
  • Caricamento DLL - completato e funzionante, inietta la tua DLL in qualsiasi processo desideri
  • Caricamento DLL con un eseguibile embedded - completato, inietta la tua DLL in qualsiasi processo desideri e rilascia l'eseguibile come "mssecsvc.exe"

Obiettivi del progetto

  • Consentire la generazione dinamica dei pacchetti DoublePulsar di negoziazione, impostazione sessione, connessione albero, TransNamedPipe e Transaction2 con strutture SMB e catture esadecimali
  • Consentire la modifica del payload dell'exploit EternalBlue per rimuovere l'impianto DoublePulsar e inviare invece shellcode personalizzati
  • Consentire la generazione dinamica dei pacchetti EternalBlue
  • Richiedere input utente per tutti gli indirizzi IP, payload come shellcode o percorsi file e autorizzazione a proseguire
  • Essere più verboso
  • Aggiungere la versione di Windows dalla risposta SMB a schermo
  • Aggiungere supporto per parametri da riga di comando (DoublepulsarExecute.exe -h 192.168.0.8 -f PopCalculatorShellcode.bin)
  • Aggiungere più controlli degli errori come il timeout del socket

Suite EternalBlue e DoublePulsar

  • ms17_vuln_status.cpp - Questo programma invia 4 pacchetti SMB: 1 negoziazione, 1 impostazione sessione, 1 connessione albero e 1 richiesta TransNamedPipe. Il programma legge quindi la risposta NT_STATUS dalla TransNamedPipeRequest (richiesta PeekNamedPipe) e determina se NT_STATUS nel pacchetto SMB è uguale a 0xC0000205 (STATUS_INSUFF_SERVER_RESOURCES). Se è corretto, il target è vulnerabile a MS17-010. Testato su Windows 7 x64 non aggiornato.

ms17vulnstatus

  • doublepulsar_check.cpp - Questo programma invia 4 pacchetti SMB: 1 negoziazione, 1 impostazione sessione, 1 connessione albero e 1 pacchetto Trans2 SESSION_SETUP. Inviando il pacchetto Trans2 SESSION_SETUP, l'ID multiplex inviato può essere confrontato nel pacchetto di risposta Trans2 con l'ID multiplex: 0x51 o 81. DoublePulsar legge l'ID multiplex inviato e, dopo che il comando ping è riuscito, restituisce +10 in esadecimale per l'ID multiplex nella risposta Trans2 SESSION_SETUP. Successivamente, vengono inviati comandi per disattivare il backdoor DoublePulsar. Il comando di disattivazione di DoublePulsar si trova nei parametri di timeout del pacchetto SMB. Dopodiché, DoublePulsar diventa dormiente e non viene rimosso dal sistema. Testato su Windows 7 x64.

doublepulsar_check

  • DoublePulsarXORKeyCalculator.cpp - Questo programma invia 4 pacchetti SMB: 1 pacchetto di negoziazione e 3 richieste. L'ultima richiesta è una richiesta Trans2 SESSION_SETUP. Viene ricevuta una risposta Trans2 SESSION_SETUP e la firma SMB viene estratta da (Recvbuff[18] -> Recvbuff[22]). Recvbuff[22] indica il tipo di architettura: se 1, il target è a 64 bit; se 0, il target è a 32 bit. La firma SMB viene convertita dai caratteri unsigned char in un intero senza segno.

SMBSignatureWireshark

Questi valori da Recvbuff[18] -> Recvbuff[22] vengono poi elaborati tramite la funzione calcolatrice della chiave XOR di DoublePulsar, che genera una chiave XOR intera senza segno utilizzabile per crittografare il shellcode o il payload DLL da caricare su DoublePulsar. Testato su Windows 7 x64.

Screenshot di esempio:

XORCalculator

Stessa chiave dal binario NSA originale in FUZZBUNCH XORCalculatorFromNSAbinary

  • DoublePulsar_structure_ping.cpp - Questo programma invia 4 pacchetti SMB: 1 negoziazione, 1 impostazione sessione, 1 connessione albero e 1 pacchetto Trans2 SESSION_SETUP. La differenza rispetto a doublepulsar_check.cpp è che questo genera il pacchetto PING di DoublePulsar Trans2 utilizzando una struttura anziché una stringa esadecimale SMB hardcoded presa da un campione di WannaCry. Un'altra differenza è che questo programma genera dinamicamente il pacchetto TreeConnect invece di usare quello hardcoded presente nel campione di WannaCry. Il pacchetto ping generato in questo programma ti dirà se DoublePulsar è installato sulla macchina remota.

  • DoublePulsar_structure_exec.cpp - Questo programma invia 5 pacchetti SMB: 1 negoziazione SMB, 1 impostazione sessione, 1 connessione albero, 1 pacchetto Ping Trans2 SESSION_SETUP di DoublePulsar e 1 pacchetto di esecuzione Trans2 SESSION_SETUP di DoublePulsar. La differenza rispetto a Doublepulsar_UploadShellcode.cpp è che questo genera il pacchetto di esecuzione Trans2 DoublePulsar utilizzando una struttura anziché una stringa esadecimale SMB hardcoded presa da un campione di WannaCry.

  • Doublepulsar_UploadDLL.cpp - Questo programma è pensato per DLL. Invia 4 pacchetti SMB insieme ai dati DLL in pacchetti Trans2 SMB: 1 negoziazione, 1 impostazione sessione, 1 connessione albero, 1 richiesta Ping Trans2 SESSION_SETUP e un pacchetto di esecuzione Trans2 SESSION_SETUP. Il pacchetto di richiesta Ping Trans2 SESSION_SETUP viene inviato per ottenere la firma SMB nel pacchetto di risposta Trans2 SESSION_SETUP. Questa firma viene elaborata tramite la calcolatrice della chiave XOR di DoublePulsar. Il programma legge quindi un file DLL e lo combina con shellcode del kernel a 64 bit e userland per eseguire la DLL e XORa il buffer con la chiave XOR di DoublePulsar calcolata dalla firma SMB. Viene generato un pacchetto allocando memoria, copiando il pacchetto Trans2, modificando i valori necessari per il funzionamento della transazione SMB (UserID, TreeID, TotalDataCount, DataCount, ByteCount), quindi copiando i dati XORati (shellcode del kernel + DLL) alla fine e iterando inviandoli a blocchi di 4096 byte per volta a DoublePulsar. La lunghezza totale del pacchetto è 4178. 4096 sono per i dati crittografati XOR. In futuro verrà implementato anche l'uso delle strutture SMB e TRANSACTION2.

Scarica lo strumento