
Un tentativo di portare il PoC di BlueKeep da @Ekultek a exploit reali
Questo progetto è stato archiviato poiché exploit reali sono stati sviluppati altrove con maggiore successo.
https://blog.rapid7.com/2019/09/06/initial-metasploit-exploit-module-for-bluekeep-cve-2019-0708/
bluekeep_CVE-2019-0708_poc_to_exploit
Per favore, leggi attentamente le issue (sia chiuse che aperte) prima di postare cose come "Non funziona", "Non è successo niente dopo aver eseguito lo script", o "Errore (senza essere specifico), per favore aiutami".
============================================================================
============================================================================
============================================================================ Questo non è un exploit pronto all'uso che puoi semplicemente prendere e provare.
Inoltre, i metodi di delivery sono importanti per assicurarsi che i tuoi codici vengano eseguiti sulla macchina remota.
Finora non siamo ancora riusciti a ottenere una shell e a raggiungere RCE.
La maggior parte degli scanner e delle PoC là fuori funzionano solo analizzando le risposte dagli host target e determinano se gli host sono vulnerabili o meno. (Come tutti voi dovreste sapere, le versioni patchate e non patchate restituiscono risposte diverse, così come i sistemi operativi che non sono interessati). In realtà non "exploitano" gli host target. Per ottenere RCE, prima dovremmo provare a innescare la vulnerabilità inviando pacchetti appositamente creati (fare riferimento a RDP MSDN per le specifiche del protocollo). Dopo che la vulnerabilità è stata innescata, il secondo passo è analizzare i crash o i dump della memoria per capire come i nostri codici possono inserirsi. Non è così semplice come la maggior parte di noi pensa.
Alcune risorse utili:
Puoi usare Magic Unicorn di @trustedsec per generare shellcode. https://github.com/trustedsec/unicorn
**Nota: Si prega di usare Python 3
Il client RDP avvia la connessione quando l'utente fornisce il nome del desktop remoto a cui connettersi. Il client RDP avvia una connessione all'host di sessione RD inviando un'unità dati di protocollo (PDU) X.224 Connection Request.
L'host di sessione RD risponde con una PDU X.224 Connection Confirm.
Il client RDP invia una PDU MCS Connect Initial con GCC Conference Create Request. --> La vulnerabilità è correlata a questa richiesta.
L'host di sessione RD risponde con una PDU MCS Connect Response con GCC Conference Create Response.
Il client RDP invia una PDU MCS Erect Domain Request.
Il client RDP invia una PDU MCS Attach User Request.
L'host di sessione RD risponde con una PDU MCS Attach User Confirm.
Il client RDP invia più (in questo caso sei) PDU MCS Channel Join Request.
L'host di sessione RD invia più (in questo caso sei) PDU MCS Channel Join Confirm.
Il client RDP invia una PDU Security Exchange.
Il client RDP invia una PDU Client Info.
L'host di sessione RD invia una PDU License Error - Valid Client.
L'host di sessione RD invia una PDU Demand Active.
Il client RDP risponde con una PDU Confirm Active.
Il client RDP invia una PDU Synchronize.
Il client RDP invia una PDU Control - Cooperate.
Il client RDP invia una PDU Control - Request Control.
Il client RDP invia zero o più PDU Persistent Key List. In questo caso, zero PDU vengono inviate.
Il client RDP invia una PDU Font List.
L'host di sessione RD invia una PDU Synchronize.
L'host di sessione RD invia una PDU Control - Cooperate.
L'host di sessione RD invia una PDU Control - Granted Control.
L'host di sessione RD invia una PDU Font Map.