Istruttore: Finora, abbiamo visto una serie di
cose che possiamo fare una volta che diventiamo l'uomo nel mezzo.
Quindi abbiamo visto come possiamo vedere qualsiasi cosa faccia il computer di destinazione
sulla rete.
Quindi siamo stati in grado di vedere i siti Web,
i nomi utente, le password, le immagini, tutto ciò
che caricano sul browser.
Abbiamo anche visto che, poiché siamo l'uomo nel
mezzo, siamo in grado di reindirizzarli ad altri siti web.
Quindi, ogni volta che richiedono
un dominio, possiamo reindirizzarli da qualche
altra parte eseguendo un attacco di spoofing DNS.
Un'altra cosa davvero interessante che
possiamo fare è modificare l'HTML, modificare le pagine mentre
vengono caricate sul browser di destinazione.
Ovviamente tutto questo è possibile perché
noi siamo l'uomo in mezzo,
perché siamo in grado di intercettare tutti questi dati.
Quindi possiamo aspettare il codice HTML,
che è il codice responsabile del caricamento delle pagine web.
E mentre scorre attraverso il
nostro computer, possiamo inserire qualsiasi pezzo di codice che
vogliamo e il browser eseguirà questo codice.
Ora, HTML è solo responsabile del rendering degli elementi che
vedi nella pagina web.
Quindi è responsabile dei pulsanti, dei
forum, del testo, non
ci permette davvero di fare molto.
Ma i browser moderni possono eseguire il codice JavaScript.
JavaScript è un potente linguaggio di programmazione che
possiamo usare per fare tante cose, possiamo effettivamente
modificare l'intera pagina, rimuovere
elementi o aggiungere elementi nella pagina, possiamo
sostituire i collegamenti.
E questo è in realtà quello
che ho fatto quando ho modificato il plugin HSTS.
Quindi ho aggiunto il codice che sostituirà HTTPS con HTTP.
E ho anche aggiunto il codice che sostituirà il collegamento effettivo, il nome
di dominio effettivo con il nome di dominio contraffatto, con quello
con il punto mais
o con qualsiasi cosa tu lo abbia impostato nello script.
Puoi persino usarlo per collegare il browser ad altri framework
di sfruttamento del browser, che possiamo
utilizzare per sfruttare ulteriormente il bersaglio e
persino ottenere il pieno controllo sul loro computer.
E lo vedremo più avanti nel corso.
Ma per ora, ti mostrerò come inserire un
codice JavaScript molto semplice nelle pagine caricate.
E poi ci baseremo su questo nelle
lezioni future e vedremo quanto questo possa essere potente e utile.
Quindi proprio qui, ho la mia macchina Kali.
E prima di eseguire un cap migliore
e mostrarti come iniettare
JavaScript, prima di tutto, abbiamo bisogno di un codice
JavaScript da iniettare nel browser di destinazione.
Quindi aprirò un editor di testo.
E scriverò un codice JavaScript molto, molto semplice.
Come ho detto, vedremo come possiamo usarlo per
eseguire codice più utile.
Ma per ora, stiamo mantenendo questo semplice solo
per vedere come possiamo effettivamente eseguire il codice JavaScript.
Quindi tutto ciò che farò è avvisare, aprire
una parentesi, virgolette e dirò test JavaScript.
Chiudo le virgolette, chiudo la parentesi e
aggiungo un punto e virgola.
Quindi proprio qui, questo codice,
tutto ciò che farà sarà visualizzare un messaggio di avviso, un
messaggio di avviso che dice codice JavaScript.
Quindi, dal momento che proveremo a inserire questo codice in tutte le pagine, ogni
volta che carichiamo una pagina
web, dovremmo vedere un messaggio che dice JavaScript test.
Ora salverò questo.
Quindi vado su File, Salva.
E lo metterò nella mia directory principale.
E lo chiamerò solo allarme. js, premo
Invio.
E questo è salvato ora nella mia root, quindi
se lo chiudo, possiamo vedere che abbiamo il file proprio qui.
Quindi questo è il file che contiene
il codice che vogliamo iniettare in qualsiasi pagina web che viene caricata
sul computer di destinazione.
Il prossimo passo è andare al nostro plugin hijack HSTS.
Quindi, come ti ho mostrato prima, questo era in
user, local, share, bettercap, caplets, hijack HSTS, assicurati di
usare quello che ho incluso nelle risorse,
non quello che viene integrato con
bettercap, perché il built in uno non funzionerà come volevi.
Quindi qui abbiamo il hstshijack. file cap.
Questo è il file di configurazione per l'intero plugin.
Quindi farò clic con il pulsante destro
del mouse su questo e lo aprirò con il mio editor di testo.
E qui, quello che vogliamo
modificare sono i payload proprio qui.
Quindi, come
puoi vedere qui, sta già iniettando
un file JavaScript chiamato keylogger. js, ma vogliamo anche iniettare
il nostro codice.
Quindi aggiungerò una virgola qui.
E aggiungerò una stella seguita da due punti.
Abbiamo aggiunto questa stella proprio qui per dire
che voglio inserire il mio script in qualsiasi pagina caricata dal target.
Se vuoi iniettare il tuo codice in
domini specifici, puoi rimuovere la stella ed elencare semplicemente
i domini in cui vuoi inserire questo codice proprio qui.
Ma come ho detto, vogliamo iniettare questo in tutte le pagine.
Quindi lo metterò come una stella.
E dopo i due punti, inserirò la posizione
del file JavaScript che voglio iniettare
nel browser.
Quindi, se guardiamo indietro, questo
è il file che abbiamo appena creato, che
è nella root di casa mia, e si chiama alert. js.
Quindi inserirò qui, dirò solo slash root,
seguito da alert. js.
E questo è tutto.
Salverò questo Ctrl S e lo chiuderò Ctrl Q,
e siamo pronti per partire.
Quindi andrò al mio terminale, eseguirò bettercap usando lo
stesso identico comando che abbiamo usato.
Quindi gli stiamo semplicemente dando l'interfaccia come eth0, e gli
stiamo dando il nostro file di spool per eseguire automaticamente l'attacco
di spoofing ARPX, mettendoci nel mezzo della connessione.
E come puoi vedere, questo funziona senza
errori, quindi tutto è perfetto.
Quello che voglio fare anche adesso
è eseguire il mio plugin di hijack HSTS.
E come sai, tutto ciò che dobbiamo fare è semplicemente digitare H
S e tab, questo si completerà automaticamente, premerò Invio
e tutto funzionerà senza alcun errore.
Quindi tutto è perfetto.
E come puoi vedere qui, sta dicendo che
i payload, sta caricando i payload JavaScript sono i keylogger.
Questo è quello predefinito che il file stava già caricando.
E quello che abbiamo appena specificato, che si trova
negli avvisi di root. js.
Quindi ora ogni volta che il nostro obiettivo carica una pagina Web,
il codice che inseriamo nell'avviso. js dovrebbe
essere iniettato nella pagina caricata e
dovrebbe essere eseguito.
Il risultato dovrebbe mostrarci un semplice messaggio
che dice test JavaScript.
Quindi andiamo al bersaglio.
E come al solito, una buona idea è rimuovere
i dati di navigazione solo per assicurarsi che nulla venga memorizzato nella cache.
E mi piace sempre prima testare con il caso più semplice,
per poi passare a scenari più complessi.
Quindi, prima di tutto, lo proverò su una normale pagina HTTP,
in modo che non ci sia nulla da
aggirare, nessuna crittografia di sorta.
Quindi andremo su Volnweb. com.
E perfetto, come puoi vedere, abbiamo un
messaggio di avviso qui che ci dice test JavaScript.
Quindi, in pratica, questo significa il codice
JavaScript nel mio avviso. js è stato iniettato in questa pagina.
Quindi, ora che abbiamo verificato che funziona su normali pagine HTTP, andiamo
avanti e testiamolo su una pagina che utilizza HTTPS
come StackOverflow. com.
Perfetto, funziona come previsto.
Un altro esempio potrebbe essere linkedin. com.
Tieni presente che questi siti Web utilizzano HTTPS.
E come puoi vedere, siamo in grado di caricarli senza
HTTPS qui, quindi solo su HTTP.
Quindi, anche se accedi qui, sarai in
grado di ottenere il nome
utente e la password come mostrato in precedenza.
Infine, andiamo a testare il sito Web HSTS utilizzando
il metodo di bypass HSTS parziale che ti ho mostrato.
Quindi, affinché funzioni, dovremo prima di tutto andare su
Google e dobbiamo andare su un dominio Google che
non utilizza HSTS, simile a Google. es.
Questo è in realtà il sito web locale di Google per l'Irlanda.
E come puoi vedere, il codice funziona.
Questo va bene.
Google utilizza comunque solo HTTPS.
Ma cerchiamo Facebook.
Ora sappiamo che Facebook utilizza HSTS.
E poiché viene utilizzato HSTS, non dovremmo essere in grado di
iniettare nulla sul sito Web,
poiché il browser lo caricherà solo su HTTPS.
Ma usando il nostro metodo di bypass parziale.
Se clicco su Facebook da qui, come puoi vedere,
il codice viene eseguito.
Perché quello che stiamo caricando in questo momento è Facebook. mais, non facebook.
com.
E come puoi vedere, otteniamo di nuovo una normale pagina
Facebook, che sembra identica.
E se accedi, sarai in grado di ottenere il nome utente
e la password.
Quindi, come puoi vedere, funzionerà su
pagine HTTP e HTTPS e persino su HSTS se il target cerca
quel sito Web, non se inseriscono il nome di dominio qui.
Quindi se il target arriva e digita letteralmente facebook. com manualmente e premi invio,
il browser forzerà la connessione HTTPS come puoi vedere qui, perché come
ho detto, ha un elenco precaricato di
siti Web che può caricare solo su HTTPS
e poiché il browser sta stabilendo una connessione HTTPS, il i dati
saranno crittografati e quindi vogliamo essere
in grado di iniettare qualcosa al loro interno.