Htcap: lo scanner delle applicazioni web di We are Segment

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

  1. Python 2.7
  2. PhantomJS v2
  3. Sqlmap (per il modulo scanner sqlmap)
  4. 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.