Htcap è uno scanner di applicazioni web in grado di eseguire la scansione dell’applicazione a pagina singola (SPA) in modo ricorsivo intercettando le chiamate ajax e le modifiche DOM.
Esso è incentrato sul processo di scansione e utilizza strumenti esterni per scoprire le vulnerabilità. È stato progettato per essere uno strumento per test sia manuali che automatizzati di penetrazione delle applicazioni web moderne. Qui risiede il successo di questo prodotto.
https://www.interlogica.it/wp-content/uploads/2016/03/Htcap-segment-1.png
IL PROCESSO DI LAVORO HTCAP
Il processo di scansione è suddiviso in due parti, innanzitutto Htcap scansiona il bersaglio e raccoglie quante più richieste possibile (urls, forme, ajax ecc.) e le salva in un database sql-lite. Quando viene eseguita la scansione è possibile lanciare diversi scanner di protezione contro le richieste salvate e salvare i risultati della scansione nello stesso database.
Una volta raccolti tutti i dati (almeno quello di scansione), è possibile analizzarli con strumenti disponibili come sqlite3 o DBEaver o esportare i risultati in vari formati utilizzando gli strumenti integrati in questo prodotto.
HTCAP supporta anche tre modalità di scansione: passive, attive e aggressive. Quando in modalità passiva, l’applicazione non interagisce con la pagina e segue solo i collegamenti. In modalità attiva, invece, scatena/innesca tutti gli eventi scoperti. Questo simula un utente che interagisce con la pagina senza riempire i valori di input.
La modalità aggressiva fa anche riempire i valori di input e postare moduli da Htcap, simulando un utente che esegue quante più azioni possibile sulla pagina.
AJAX CRAWLING
HTCAP include un algoritmo in grado di eseguire acquisizione basate su ajax e ripetute di pagine.
L’algoritmo funziona catturando chiamate ajax, mappando le modifiche DOM e ripetendo il processo in modo ricorsivo contro gli elementi appena aggiunti.
Quando lo strumento rileva una chiamata ajax, attende che sia completata e chiama il callback relativo. Se, successivamente, il DOM viene modificato, HTCAP esegue lo stesso algoritmo contro gli elementi aggiunti e lo ripete fino a quando tutte le chiamate ajax sono state eliminate.
La creazione di tale algoritmo è stata la sfida più grande per gli hacker di We are Segment.
“L’algoritmo è stato scritto in JavaScript in modo che il concetto di ‘aspettare qualcosa’ sia limitato alla natura asincrona del linguaggio. Ad esempio, se si desidera rilevare quando una chiamata Ajax è completata, è necessario raggruppare il suo stato con un ciclo asincrono. Poiché l’algoritmo è ricorsivo, Htcap deve attendere sia per le chiamate Ajax che per la child call della funzione ricorsiva, in un ambiente asincrono” ha spiegato Cavallarin.
SETUP
REQUISITI
- Python 2.7
- PhantomJS v2
- Sqlmap (per il modulo scanner sqlmap)
- Arachni (per il modulo scanner arachni)
SCARICA ED ESEGUI
$ git clone https://github.com/segment-srl/htcap.git htcap
$ htcap/htcap.py
——–
We are Segment fa parte del gruppo Interlogica ed offre numerosi servizi, dalla consulenza alla formazione tecnologica avanzata nel settore della sicurezza informatica.