Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Vega: attaccare le web application

Vega è uno strumento per analizzare le vulnerabilità in applicativi web, già preinstallato nelle versioni più recenti di Kali Linux: ecco come usarlo.
Vega è uno strumento per analizzare le vulnerabilità in applicativi web, già preinstallato nelle versioni più recenti di Kali Linux: ecco come usarlo.
Link copiato negli appunti

In questa lezione vedremo Vega, uno strumento per verificare l'esistenza di vulnerabilità in applicativi web, già preinstallato nelle versioni più recenti di Kali Linux. È bene sottolineare che esistono altri framework con caratteristiche analoghe, e già coperti in altre guide su HTML.it. Tra questi menzioniamo la suite Burp e nikto.

La scelta di Vega è dovuta al fatto che si tratta di uno strumento open source relativamente nuovo, pensato per la verifica della sicurezza delle applicazioni web. La documentazione ufficiale, molto esaustiva, è disponibile sul sito ufficiale. Inoltre, il codice sorgente del progetto è reperibile su GitHub.

Funzionalità offerte

Vega è munito di una comoda interfaccia grafica scritta in Java, e compatibile con i sistemi operativi Windows, OSX e Linux. Offre inoltre la possibilità di implementare i propri moduli di attacco in Javascript.
Le funzionalità offerte dall’installazione base si suddividono in due categorie, dipendenti dalla modalità operativa di Vega. Le funzionalità offerte in modalità scanner sono le seguenti:

  • Crawling dei siti web
  • Estrazione automatica dei link
  • Riconoscimento automatico moduli di login
  • Cross site scripting (XSS)
  • SQL injection
  • Fuzzing dei parametri di GET e POST
  • Capacità di analizzare l’output dell’applicativo web con ricerche di tipo “grep”

Oltre alle predette funzioni, quando Vega viene eseguito in modalità intercepting proxy, diventa uno strumento capace di analizzare le interazioni tra il browser e l’applicazione web. In particolare Vega istanzia un proxy server sulla nostra macchina che ispeziona le interazioni tra browser e applicativo web. La funzionalità veramente interessante è la capacità di Vega di intercettare particolari richieste/risposte e inserire dei breakpoint che diano modo al penetration tester di effettuare con accuratezza l’analisi dei messaggi scambiati tra client e server, ed eventualmente modificarli per effettuarne il replay.

Interfaccia grafica

Passiamo subito a dare uno sguardo alle capacità di Vega. Eseguiamo dalla shell il seguente comando:

vega

L'interfaccia si presenterà con il seguente layout grafico:

Figura 42. Interfaccia grafica di Vega (fonte: kali.org) (click per ingrandire)

Interfaccia grafica di Vega

Qualora dovessimo avere la necessità di rendere l’analisi delle vulnerabilità anonima, potremo ricorrere all’utilizzo di un proxy Tor.
Per fare ciò, clicchiamo su Window -> Preferences -> General. A questo punto, selezioniamo la casella Enable SOCKS proxy, all’indirizzo 127.0.0.1:9050, come mostrato in figura:

Figura 43. Configurazione di Vega in modalità anonima (fonte: OffSecLab) (click per ingrandire)

Configurazione di Vega in modalità anonima

Eseguire una scansione

Dall’interfaccia principale, cliccando su Scan”, dovrebbe aprirsi quindi un wizard che ci darà la possibilità di inserire la URI del sito web da analizzare:

Figura 44. Inserimento URI del sito web da analizzare (fonte: Subgraph Vega Documentation) (click per ingrandire)

Inserimento URI del sito web da analizzare

A questo punto clicchiamo su Next, e selezioniamo i moduli di attacco che intendiamo testare verso l’applicazione web:

Figura 45. Selezione moduli di attacco (fonte: Subgraph Vega Documentation) (click per ingrandire)

Selezione moduli di attacco

Clicchiamo infine su Finish. A questo punto Vega farà partire i suoi attacchi. Quando siamo soddisfatti, terminiamo l’analisi o aspettiamo che Vega lo faccia per noi.

Analisi degli alert

Dopo un po’ di tempo dal momento in cui Vega avrà iniziato ad attaccare l’applicazione web, saranno visualizzati alcuni alert (corrispondenti ad attacchi andati a buon fine), nella porzione in basso a sinistra dell’interfaccia.

Figura 46. Alert di Vega (fonte: Subgraph Vega Documentation) (click per ingrandire)

Alert di Vega

Cliccando sulla sezione degli alert in stato Completed, potremo osservare un albero di alert, ciascuno riportante la severità della vulnerabilità rilevata e le caratteristiche di quest’ultima (incluso il path remoto della vulnerabilità). Tra le funzionalità offerte da Vega, per effettuare le attività di post-analysis avremo anche la possibilità di osservare in formato Raw le richieste e le risposte inviate da e verso l’applicativo web.

Vega proxy

Come accennato, tra le funzionalità offerte da Vega esiste la possibilità di farlo agire da intercepting proxy, ponendosi di fatto tra il browser e l’applicazione web di cui intendiamo testare la sicurezza. In particolare, il proxy intercetterà tutte le richieste che partono dal browser verso il web server, così come le risposte generate da quest’ultimo.
Nel caso in cui dovessimo connetterci in HTTPS, Vega darà la possibilità di generare un certificato da importare nel nostro user-agent.

Dovremo infine configurare il nostro browser per l’utilizzo del proxy. Per fare ciò, dovremo riferirci alla documentazione del browser che stiamo adoperando. Nel caso di Firefox, ci riferiremo all'apposita pagina della documentazione ufficiale, che spiegherà passo passo la configurazione di Firefox all’utilizzo di Vega in modalità proxy.

Dopo aver configurato il browser, procediamo alla configurazione di Vega. Clicchiamo su:
Window -> Preferences -> Proxy.
Avremo quindi la possibilità di impostare:

  • proxy port: la porta verso cui il browser dovrà connettersi
  • override user-agent: indica se il proxy deve "mascherare" il browser di origine inviando stringhe casuali per altri user-agent
  • default user-agent: indica lo user agent di origine che intendiamo utilizzare per far partire le richieste verso l'applicazione web

Avviamo quindi il proxy cliccando sull’iconcina verde in alto a sinistra:

Figura 47. Avvio di Vega in modalità Proxy (fonte: Subgraph Vega Proxy) (click per ingrandire)

Avvio di Vega in modalità Proxy

Selezioniamo quindi la scheda Proxy dall’interfaccia di Vega:

Figura 48. Vega in modalità Proxy (fonte: Subgraph Vega Proxy) (click per ingrandire)

Vega in modalità Proxy

Saremo quindi pronti ad analizzare ed effettuare il replay (con modifiche) per ogni richiesta effettuata da e verso il nostro sito web.

Preparare un laboratorio per gli attacchi

Concludiamo la nostra lezione con un breve suggerimento su come preparare il laboratorio per testare le funzionalità di Vega.
A tal proposito, esiste bWAPP, una applicazione web intenzionalmente buggata con più di 100 vulnerabilità, che permette di sperimentare tutte le funzionalità di Vega e diventare esperti nel suo utilizzo. È sufficiente scaricare la macchina virtuale fornita a questo indirizzo, ed eseguirla su Virtualbox.

La macchina è fornita in ambiente LAMP, e sarà immediatamente pronta all'uso, senza richiedere alcuna installazione. Per effettuare il login all'interno dell'applicazione web, dovremo utilizzare le credenziali seguenti:

user: bee
password: bug

Configuriamo quindi la macchina, selezionando i bug che ci interessa testare:

Figura 49. Selezione dei bug per bWAPP (fonte: Training bWAPP)
(click per ingrandire)


Selezione dei bug per bWAPP

A questo punto non resta che connetterci tramite Vega (in rete locale), facendolo puntare all’indirizzo della macchina “buggata”, che avrà il seguente formato:

http://[IP]/bWAPP/aim.php

Da questo momento in poi potremo cominciare a sperimentare e scovare tutte le vulnerabilità di bWAPP.

Ti consigliamo anche