Introduzione
Tutti conoscono Firefox essenzialmente come un browser Web, con il suo nutrito "bagaglio" di estensioni e plug-in. Forse però non tutti sanno che, grazie agli strumenti con cui è stato costruito, Firefox può trasformarsi in un vero e proprio strumento di hacking per effettuare penetration test.
Firefox è basato su XUL (XML User Interface Language), un linguaggio XML-based utilizzato per lo sviluppo della GUI di Firefox. XUL somiglia un pò a DHTML (Dynamic HTML) ma, a differenza di quest'ultimo (nato essenzialmente per la realizzazione di pagine Web), consente di costruire vere e proprie applicazioni cross-platform e quindi facilmente portabili su tutti i sistemi operativi. Inoltre, mentre DHTML utilizza livelli, pagine e link, XUL si basa su oggetti già pronti come finestre, etichette e pulsanti, che in DHTML non sono immediatamente disponibili come primitive di sviluppo. Il layout delle applicazioni sviluppate con XUL, inoltre, può essere completamente personalizzato in modo da poterle rendere facilmente "brandizzabili" e localizzabili, il che è molto importante per poter incontrare le varie esigenze degli utenti finali. Last but not least, tali applicazioni possono essere eseguite sia in modalità offline che online.
Firefox come "contenitore" di applicazioni
Ogni pentester ha il suo bravo kit di strumenti tarati per compiere il proprio lavoro, come Live CD, free tools, Metasploit, script autoprodotti e quant'altro. Supponiamo però che il contesto in cui si va ad operare, come a volte succede, non consenta di poter installare altri software che non siano il solo browser. A quel punto cosa si fa? Proprio per ovviare a questo tipo di problemi è nato il progetto FireCAT (Firefox Catalog of Auditing exTensions).
FireCAT è essenzialmente una collezione di estensioni e plugin di Firefox, organizzati in sezioni. L'idea alla base del progetto è quella di raccogliere e organizzare le estensioni ritenute più utili ai fini dell'intera gestione del processo di security auditing & assessment. In figura è mostrata la schermata iniziale di FireCAT versione 2.0:
Per chi lo volesse, esiste anche una versione di FireCAT in formato mindmap. Le principali categorie in cui è suddiviso FireCAT sono:
- Information Gathering
- Proxies & Web Utilities
- Editors
- Network Utilities
- Misc
- IT Security Related
- Application Auditing
L'analisi puntuale di tutte le categorie di FireCat e sottocategorie richiederebbe uno spazio ben più ampio di un articolo, per cui rimandiamo il lettore a navigare personalmente tra i link di FireCAT, mentre qui ci limiteremo a citare solo qualche esempio. Per quanto riguarda la fase di Information gathering, cioè la fase di raccolta delle informazioni necessarie a poter sferrare poi l'attacco, in questa sezione troviamo estensioni come Shazou per l'acquisizione di informazioni sui domini (whois) o HostIP.info per la geolocalizzazione. In figura è mostrata una schermata di Shazou:
Per quanto riguarda la sottosezione "Googling & Spidering" segnaliamo certamente Advanced Dork, un'estensione che fornisce un accesso veloce agli operatori avanzati di Google, direttamente dal menu contestuale. Per quei pochi che ancora non lo sapessero, gli operatori avanzati di Google (detti dorks) sono degli operatori definiti dalla sintassi stessa del motore di ricerca che, se combinati opportunamente, consentono di effettuare ricerche "non convenzionali". Per maggiori approfondimenti è proprio il caso di dire che "Google is your friend". Per innumerevoli esempi si veda il Google Hacking Database (GHDB).
Tornando a noi, nella sezione "Network Utilities" troviamo, tra le altre, estensioni dedicate all'Intrusion Detection/Prevention, come Firekeeper. Firekeeper è un IDS/IPS per Firefox che utilizza un set di regole simili a quelle utilizzate da Snort ed è in grado di individuare, bloccare o semplicemente mettere in guardia l'utente da siti malevoli. Per tenere sotto controllo invece i database contenenti gli elenchi delle vulnerabilità (CVE, Exploit-DB, etc.) bisogna andare nella sezione "IT Security Related". In quest'area sono presenti una serie di plugin come CVE dictionary search plugin, che consente di cercare vulnerabilità direttamente nel Common Vulnerability and Exposure (CVE) dictionary. Analogamente è possibile effettuare ricerche nell'archivio Offsec Exploit, il successore del ben noto Milw0rm.
Un plugin che ritengo anche molto utile è SHODAN Computer Search, che permette di effettuare ricerche di device esposti sul web, che presentano delle possibili vulnerabilità, utilizzando la sintassi del motore di ricerca SHODAN.
Nella parte dedicata all'Application Auditing, vale la pena certamente di citare SQL Inject Me e XSS Me, due estensioni che consentono rispettivamente di sottoporre una pagina web ad una serie di test per individuare vulnerabilità di tipo SQL Injection o di tipo XSS. In Fig. 3 è mostrata la toolbar di SQL Inject Me.
A tal proposito, un altro plugin molto utile (sempre nella stessa sezione) è Hackbar. Hackbar è una toolbar che consente di automatizzare una serie di operazioni legate alla SQL Injection (ma è anche utile per individuare vulnerabilità di tipo XSS). Ad esempio, quando è necessario scrivere i parametri (che possono essere molti) delle query che consentono di portare avanti il processo di SQL Injection, Hackbar ci viene in aiuto enumerando per noi i parametri e scrivendo la query. In Fig. 4 è mostrata la Hackbar:
FireCAT e Mantra
OWASP Mantra è un security framework progettato per mettere a disposizione di un attaccante una serie di tool e rendergli la vita più "facile". Il punto di contatto tra FireCAT e Mantra risiede nel fatto che Mantra segue esattamente la stessa struttura di FireCAT, raggruppando i tool e suddividendoli in sezioni. Inoltre Mantra è cross-platform, portable e può essere lanciato "out-of-the-box", il che, come dicevamo all'inizio dell'articolo, risulta molto utile quando non è possibile effettuare installazioni per non compromettere lo stato della macchina e lasciare inalterati dischi, memory cards e ogni altro device riscrivibile.
Dalla sezione tools del sito di Mantra è possibile lanciare direttamente (o installare) una serie di strumenti, tra cui ritroviamo molti plugin già censiti in FireCAT. Nella sezione download invece è possibile scaricare direttamente il Mantra Security Toolkit per Firefox o Chromium, oppure navigare tra le varie sezioni organizzate per argomenti (es. Exploit and Advisories, Tools, Password and hashes, etc.), seguendo il link Hackery.
Una volta scaricato il Mantra Security Toolkit, denominato OWASP Mantra Armada, ed estratti i file in una cartella qualsiasi, apparirà un'icona in stile OWASP denominata "MantraPortable", che consente di lanciare il Mantra Security Toolkit. OWASP (The Open Web Application Security Project) è un'organizzazione internazionale, aperta alla partecipazione di tutti, impegnata in progetti di Information Security. Per maggiori informazioni si rimanda al sito. In Fig. 5 è possibile vedere la schermata iniziale di Mantra:
Come si vede in figura 5, lo stile è quello di Chrome e a sinistra troviamo una toolbar verticale personalizzabile con le applicazioni preferite, mentre nella "Add-on bar" in basso a destra ci sono gli add-on attivi, tra cui possiamo ricordare FoxyProxy oppure ProxyTool, che consente tra le altre cose, anche di scegliere che HTTP-UserAgent utilizzare per navigare. Cliccando sull'icona blu in alto a sinistra si apre un menu attraverso cui è posssibile raggiungere direttamente la sezione "Tools" e utilizzare i plugin che ci interessano. Se impostato in automatico (in Tools->Options->Advanced->Update), il browser si aggiorna ogni volta che ci sono nuovi plugin o estensioni rilasciate per la piattaforma.