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

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
BlueKeep — Rilevamento della vulnerabilità CVE-2019-0708 BlueKeep | Kitploit
Strumenti/GitHubGitHub/oneoy/bluekeep
RicognizioneScanner di VulnerabilitàExploitRaccolta InformazioniSicurezza di RetePenetration Testing
GitHuboneoy/bluekeep

BlueKeep

Rilevamento della vulnerabilità CVE-2019-0708 BlueKeep

Vedi Repository
127 anni faNon ancora revisionato

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

Windows download macOS download Linux download Follow

rdpscan per la vulnerabilità CVE-2019-0708 BlueKeep

Questo è uno scanner rapido e approssimativo per la vulnerabilità CVE-2019-0708 in Microsoft Remote Desktop. Attualmente, ci sono circa 700.000 macchine sulla Internet pubblica vulnerabili a questa vulnerabilità, rispetto a circa 2.000.000 di macchine che hanno Desktop remoto esposto, ma sono corrette/sicure dallo sfruttamento. Molti si aspettano che nei prossimi mesi appaia un devastante worm Internet simile a WannaCry e notPetya. Pertanto, scansiona le tue reti e applica le patch ai tuoi sistemi. Questo strumento semplifica la scansione delle reti per trovare macchine vulnerabili.

Per usare questo strumento, puoi scaricare un "binario" da eseguire dalla riga di comando, oppure scaricare il codice sorgente e compilarlo. Per Windows, è disponibile un binario precompilato.

Questo strumento è basato interamente sulla patch di rdesktop da https://github.com/zerosum0x0/CVE-2019-0708. Ho semplicemente tagliato il codice per poterlo compilare facilmente su macOS e Windows, e ho aggiunto la possibilità di scansionare più target.

Stato

Questo è vecchio solo di un paio di giorni e sperimentale. Tuttavia, lo sto testando scansionando l'intera Internet (con l'aiuto di masscan), quindi sto risolvendo molti problemi abbastanza rapidamente. Puoi contattarmi su Twitter (@erratarob) per aiuto/commenti.

  • 2019-05-27 - Rilasciati i binari per Windows e macOS (clicca sui badge sopra). Voi utenti Linux ottenete solo il sorgente come al solito. Sembra funzionare bene su tutte e tre le piattaforme.
  • 2019-05-26 - risoluzione dei problemi di rete su Windows
  • 2019-05-25 - Linux e macOS funzionano bene, Windows ha alcuni errori di rete
  • 2019-05-24 - funziona su Linux e macOS, Windows ha alcuni bug di compilazione
  • 2019-05-23 - attualmente in fase di sviluppo su macOS all'interno di XCode

Utilizzo principale

Per scansionare una rete, esegui come segue:

root@kitploit:~
rdpscan 192.168.1.1-192.168.1.1.255

Questo stamperà un risultato per riga per ogni indirizzo, indicando VULNERABLE se è vulnerabile al bug, SAFE se è (probabilmente) sicuro, o UNKNOWN se il programma non ha potuto determinare lo stato, ad esempio non ricevendo risposta dal target. Poiché la maggior parte dei target non risponde, statisticamente, la maggior parte sarà UNKNOWN.

È piuttosto lento. Puoi aumentare la velocità aggiungendo il parametro da riga di comando --workers 1000. Ma puoi aumentare ulteriormente la velocità anteponendo masscan per trovare rapidamente le macchine con la porta 3389 disponibile, e poi usare solo rdpscan per scansionare quelle macchine risultanti per la vulnerabilità.

root@kitploit:~
masscan 10.0.0.0/8 -p3389 --rate 1000000 >ips.txt
rdpscan --file ips.txt > results.txt

Oppure, in un unico passaggio, reindirizzando l'output dell'uno all'altro:

root@kitploit:~
masscan 10.0.0.0/8 -p3389 --rate 1000000 | rdpscan --file -

Puoi ottenere dettagli diagnostici più verbosi usando il parametro -d, che vengono stampati su stderr. Ecco come eseguo di solito il programma:

root@kitploit:~
rdpscan --file ips.txt 2> diag.txt 1> results.txt

Compilazione

La parte difficile è installare le librerie OpenSSL, e assicurarsi che non entrino in conflitto con altre versioni presenti sul sistema. Su Debian Linux, faccio:

root@kitploit:~
$ sudo apt install libssl-dev

Una volta risolto il problema, basta compilare tutti i file .c insieme così:

root@kitploit:~
$ gcc *.c -lssl -lcrypto -o rdpscan

Ho messo un Makefile nella directory che fa questo, quindi probabilmente puoi fare semplicemente:

root@kitploit:~
$ make

Il codice è scritto in C, quindi richiede un compilatore C installato, ad esempio eseguendo:

root@kitploit:~
$ sudo apt install build-essential

Errori di compilazione comuni

Questa sezione descrive gli errori di compilazione più ovvi.

root@kitploit:~
ssl.h:24:25: fatal error: openssl/rc4.h: No such file or directory

Questo significa che non hai gli header di OpenSSL installati, o che non si trovano in un percorso valido. Ricorda che anche se hai i binari di OpenSSL installati, questo non significa che hai installato i file di sviluppo. Devi installare sia gli header che le librerie.

Per installare queste cose su Debian, esegui:

root@kitploit:~
$ sudo apt install libssl-dev

Per risolvere il problema del percorso, aggiungi un flag di compilazione -I/usr/local/include, o qualcosa di simile.

Un esempio di problema del linker è il seguente:

root@kitploit:~
Undefined symbols for architecture x86_64:
"_OPENSSL_init_ssl", referenced from:
    _tcp_tls_connect in tcp-fac73c.o
"_RSA_get0_key", referenced from:
    _rdssl_rkey_get_exp_mod in ssl-d5fdf5.o
"_SSL_CTX_set_options", referenced from:
    _tcp_tls_connect in tcp-fac73c.o
"_X509_get_X509_PUBKEY", referenced from:
    _rdssl_cert_to_rkey in ssl-d5fdf5.o

Ottengo questo su macOS perché ci sono più versioni di OpenSSL. Risolvo codificando i percorsi in modo esplicito:

root@kitploit:~
$ gcc *.c -lssl -lcrypto -I/usr/local/include -L/usr/local/lib -o rdpscan

Secondo i commenti di altri, la seguente riga di comando potrebbe funzionare su macOS se hai usato Homebrew per installare le cose. Tuttavia, ottengo ancora gli errori di linking di cui sopra, perché ho installato altri componenti OpenSSL che sono in conflitto.

root@kitploit:~
gcc $(brew --prefix)/opt/openssl/lib/libssl.a $(brew --prefix)/opt/openssl/lib/libcrypto.a -o rdpscan *.c

Esecuzione

La sezione precedente fornisce suggerimenti rapidi per eseguire il programma. Questa sezione fornisce un aiuto più approfondito.

Per scansionare un singolo target, passa l'indirizzo del target:

root@kitploit:~
./rdpscan 192.168.10.101

Puoi passare indirizzi IPv6 e nomi DNS. Puoi passare più target. Un esempio potrebbe essere:

root@kitploit:~
./rdpscan 192.168.10.101 exchange.example.com 2001:0db8:85a3::1

Puoi anche scansionare intervalli di indirizzi, usando indirizzi IPv4 inizio-fine o specifica CIDR IPv4. Gli intervalli IPv6 non sono supportati perché sono troppo grandi.

root@kitploit:~
./rdpscan 10.0.0.1-10.0.0.25 192.168.0.0/16

Per impostazione predefinita, scansiona solo 100 target alla volta. Puoi aumentare questo numero con il parametro --workers. Tuttavia, indipendentemente da quanto alto imposti questo parametro, in pratica otterrai un massimo di circa 500-1500 worker in esecuzione contemporaneamente, a seconda del tuo sistema.

root@kitploit:~
./rdpscan --workers 1000 10.0.0.0/24

Invece di specificare i target sulla riga di comando, puoi caricarli da un file usando l'appropriato parametro --file:

root@kitploit:~
./rdpscan --file ips.txt

Il formato del file è un indirizzo, nome o intervallo per riga. Può anche consumare il testo generato da masscan. Gli spazi bianchi extra vengono rimossi, le righe vuote ignorate e le righe di commento vengono ignorate. Un commento è una riga che inizia con il carattere # o con i caratteri //.

L'output viene inviato a stdout fornendo lo stato di VULNERABLE, SAFE, o UNKNOWN. Potrebbero esserci motivi aggiuntivi per ciascuno.

root@kitploit:~
149.129.120.24  - UNKNOWN - FIN received
45.60.213.160   - SAFE - not RDP but HTTP
208.43.229.89   - SAFE - CredSSP required
170.104.127.137 - UNKNOWN - FIN received
86.188.190.117  - UNKNOWN - connect timeout
62.15.34.157    - SAFE - Target appears patched
216.15.251.120  - VULNERABLE -- got appid
69.62.158.174   - VULNERABLE -- got appid
92.111.20.13    - SAFE - Target appears patched

Puoi elaborare questo con comandi unix aggiuntivi come grep e cut. Per ottenere un elenco delle sole macchine vulnerabili:

root@kitploit:~
./rdpscan 10.0.0.0/8 | grep 'VULN' | cut -f1 -d'-'

Quelli contrassegnati come "UNKNOWN" probabilmente vale la pena scansionarli in seguito, specialmente per "FIN received", che di solito significa che l'altra parte ha terminato la connessione anticipatamente a causa di un ritardo su Internet. Salvali in un file, e poi leggili nella scansione successiva con l'opzione --file.

Se "CredSSP required" (che significa NLA required) sia "SAFE" è discutibile. Significa che richiede un login con password prima che possiamo testare/innescare la vulnerabilità. Potrebbe essere non corretta e vulnerabile per un utente autenticato, semplicemente non è sfruttabile da un worm o da un utente non autenticato.

Dovresti sempre ottenere uno e un solo stato su stdout per ogni indirizzo IP che scansiona. Ovviamente, se specifichi un indirizzo IP più volte, otterrai più stati per quell'indirizzo.

Tuttavia, poiché questo codice è basato su rdesktop, ci sono alcuni errori di protocollo che non porteranno a uno stato. Se hai un indirizzo IP pubblico su Internet che produce uno di questi errori, allora sono ansioso di risolverlo.

Informazioni diagnostiche

Aggiungendo il parametro -d viene scaricata l'informazione diagnostica sulle connessioni su stderr.

root@kitploit:~
./rdpscan 62.15.34.157 -d

[+] [62.15.34.157]:3389 - connecting...
[+] [62.15.34.157]:3389 - connected from [10.1.10.133]:49211
[+] [62.15.34.157]:3389 - SSL connection
[+] [62.15.34.157]:3389 - version = v4.8
[+] [62.15.34.157]:3389 - Sending MS_T120 check packet
[-] [62.15.34.157]:3389 - Max sends reached, waiting...
62.15.34.157    - SAFE - Target appears patched

Su macOS/Linux, puoi reindirizzare stdout e stderr separatamente a file diversi nel modo solito:

root@kitploit:~
./rdpscan --file ips.txt 2> diag.txt 1> results.txt

SOCKS5 e divertimento con Tor

Quindi include il supporto SOCKS5:

root@kitploit:~
./rdpscan --file ips.txt --socks5 localhost --socks5port 9050

Peggiora i problemi di connessione, quindi ottieni molti più risultati "UNKNOWN".

Scarica lo strumento