In che modo Client-Side-Exploitation ottiene la shell a livello di sistema in Metasploit?

1

Ad esempio, se il mio client utilizza un Internet Explorer vulnerabile vulnerabile alla vulnerabilità Aurora (conosco la sua versione precedente e la patch, ma per ora, supponiamo), utilizzo il carico utile di sfruttamento di Metasploit sul lato client.

Passa come segue: -

  1. Esegui metasploit

  2. Imposta exploit "aurora exploit"

  3. Imposta payload "payload / windows / reverse_tcp"

  4. imposta srvhost, srvport

  5. esegui

Ora ci fornirà un URL attraverso il quale, se un browser Web vulnerabile richiede quell'URL con il proprio browser e se il browser è vulnerabile, sfrutta tale vulnerabilità e ci fornisce la shell di quel sistema (ora siamo su quel sistema).

Ma come? Voglio dire che il mio exploit funziona solo a livello del browser e in che modo viene collegato al livello di sistema per darci la shell di sistema.

Mi sto perdendo qualcosa?

    
posta Utkarsh Agrawal 28.06.2018 - 08:56
fonte

1 risposta

1

Per capire come funzionano gli exploit basati su browser, devi capire come funzionano i browser. Ho trovato un bell'articolo dettagliato a riguardo. Funzionamento dei browser .

Il punto di sintesi che puoi ottenere dall'articolo relativo agli exploit del browser è che i browser dispongono di motori javascript che traducono istruttori javascript in codice macchina. Quindi i motori del browser sono traduttori tra il browser e la tua macchina. SpiderMonkey di Firefox è un esempio per questo. È scritto in C / C ++ come quasi tutti i motori di browser. Poiché ogni browser ha i propri motori, le vulnerabilità del browser sono specifiche per il browser (anche per il sistema operativo specifico). Ad esempio, un codice exploit per Internet Explorer 6 non funzionerà con Google Chrome. Inoltre, se cerchi più vulnerabilità del browser, scoprirai che le piattaforme di vulnerabilità stanno cambiando. Ad esempio, alcuni exploit funzionano solo in alcune versioni di Android. Puoi provare diverse vulnerabilità di Google Chrome come esempio; Elenco di vulnerabilità di Google Chrome .

La maggior parte degli exploit del browser si basano sui classici attacchi di buffer overflow che sono anche usati nell'exploit Aurora. Pertanto, qualsiasi vulnerabilità in questi motori potrebbe essere sfruttata causando un overflow del buffer utilizzando javascript o oggetti dom html.

In breve, Javascript o html non possono portare a "Remote Code Execution" da alcun attacco di overflow del buffer. si. Tuttavia, la vulnerabilità è sfruttata nel motore del browser, non nel browser stesso. Javascript o HTML sono solo usati come strumento per sfruttare la vulnerabilità nei motori. Puoi leggere di più sulla vulnerabilità di Auroa: Rapid7 MS10-002 Corruzione della memoria "Aurora" di Microsoft Internet Explorer e anche da qui: CVE-2010-0249

EDIT: Ho trovato un articolo sul motore JavaScript di Microsoft Edge, descrive anche bene i principi del flusso di lavoro dei browser; Motore JavaScript di Microsoft Edge per andare open-source

Letture aggiuntive: Informazioni su come il motore V8 di Chrome Traduce JavaScript in codice macchina

    
risposta data 28.06.2018 - 09:47
fonte

Leggi altre domande sui tag