Framework per l’information gathering

10 aprile 2018

In questa lezione parleremo dei framework più popolari per l’information gathering messi a disposizione da Kali. Sebbene una trattazione esaustiva esuli dagli scopi di questa lezione, è comunque possibile fare riferimento alla documentazione ufficiale dei tool di Kali, nonché la documentazione specifica di ciascuno degli strumenti che analizzeremo.

I framework più popolari e potenti possono essere riassunti nella seguente tabella (ordinati in base alla complessità e numerosità di compiti eseguiti):

Nome Home page Descrizione
Cookie cadger [1] Consente di identificare applicazioni che utilizzano connessioni http insicure
Automater [2] Uno strumento per l’analisi di URL, domini, indirizzi IP, Hash Md5 che semplifica il processo di penetration testing
OSRFramework [3] Un insieme di librerie per eseguire compiti di “Open source intelligence”, quali: controllo degli username, del DNS, ricerche sul deep web
Sparta [4] Consente ai penetration testers di risparmiare tempo grazie ad una comoda GUI che integra diversi comandi per l’information gathering e ne fornisce i risultati in un formato immediatamente visualizzabile
Faraday [5] Un tool molto interessante per il “collaborative penetration testing”
Maltego [6] Lo strumento principe per l’information gathering. Raccoglie dati da siti web, social networks, wiki, dati pubblici (inclusi dati geolocalizzati e foto satellitari) ed è inoltre capace di creare relazioni tra i dati raccolti

Cookie Cadger

La maggior parte dei siti web implementa il livello di protezione SSL/TLS per le connessioni HTTP. Ciò consente di trasferire i dati contenuti nei cookie dei client in modo cifrato e sicuro. Cookie Cadger è il primo tool open source creato per intercettare (ed eventualmente effettuare il replay) di messaggi HTTP di tipo GET che utilizzano connessioni insicure. Per eseguire Cookie Cadger sarà sufficiente invocare il comando:

cookie-cadger

A questo punto verrà mostrata una GUI che consentirà di selezionare la scheda di rete sulla quale mettere in ascolto Cookie Cadger.

Figura 4. Interfaccia di Cookie Cadger (fonte_ Cookie Cadger) (click per ingrandire)

Interfaccia di Cookie Cadger

Sarà dunque possibile osservare su quali siti web sta avvenendo la navigazione, e i cookie relativi alle sessioni in corso. La peculiarità maggiore del tool è quella di potere osservare in tempo reale il contenuto dei cookie e (nel caso di informazioni rilevanti) effettuare il copia ed incolla dei dati osservati.

Automater

Automater è un tool che automatizza l’utilizzo di strumenti online per ottenere informazioni su un cosiddetto “target” (URL, IP o HASH). Tra gli strumenti utilizzati si annoverano: IPvoid.com, Fortiguard.com, VirusTotal, unshorten.me, Urlvoid.com, Labs.alienvault.com, ecc..

Figura 5. Interfaccia di Automater (fonte: Automater) (click per ingrandire)

Interfaccia di Automater

L’utilizzo del tool è veramente semplice, e per fare ciò basterà utilizzare il seguente comando:

python Automater.py <target >

Tra le opzioni disponibili è inoltre possibile salvare l’output del programma all’interno di un file CSV tramite l’utilizzo dell’opzione -c CSV_FILENAME.

OSRFramework

Consente di effettuare la raccolta delle informazioni in modo totalmente automatico tramite l’utilizzo dei seguenti script Python:

  • Usufy.py: controlla l’esistenza di un nome su 290 piattaforme diverse (inclusi Facebook, YouTube, BitBucket, DeviantArt, Google Plus, ecc..);
  • Mailfy.py: verifica l’esistenza di un dato indirizzo email;
  • Phonefy.py: verifica l’esistenza di un dato numero di telefono o di un insieme di numeri telefonici;
  • Entify.py: analizza cartelle contenenti testi alla ricerca di porzioni che verificano espressioni regolari riguardanti: indirizzi IP, email, md5 hash, uri, sha256 hash. Offre anche la possibilità di aggiungere espressioni regolari personalizzate per la ricerca di altri tipi di informazioni rilevanti per il penetration tester.

SPARTA

Uno strumento grafico che consente di eseguire i servizi di NMAP ed altri strumenti (inclusi script custom) in modo automatico.

Figura 6. Interfaccia di SPARTA (fonte: SPARTA) (click per ingrandire)

Interfaccia di SPARTA

Le azioni eseguibili da SPARTA riguardano fondamentalmente tre classi: host, porta, e terminale. Ogni azione deve essere memorizzata all’interno del file sparta.conf, secondo il seguente formato:

strumento=nome azione, comando, servizi

Il parametro strumento deve essere un identificatore univoco; nome azione è una stringa mnemonica che verrà visualizzata da SPARTA tra le azioni eseguibili; comando rappresenta un eseguibile di sistema (non interattivo); servizi rappresenta una lista di operazioni di NMAP eseguite per l’azione stessa.

Per esempio, per configurare l’utilizzo di un’azione tramite Nikto, potremo utilizzare la seguente sintassi:

nikto=Invoca nikto, nikto -o risultato.txt -p 8080 -h 192.168.1.101, "http,https"

È possibile configurare SPARTA per l’esecuzione automatica di comandi per la raccolta delle informazioni con i seguenti passi:

  1. Configurare tutte le azioni che si ritengono utili come appena descritto;
  2. Inserire all’interno della sezione SchedulerSettings del file sparta.conf, i comandi che si intende automatizzare seguendo il formato strumento=servizi, protocollo, dove strumento è il nome univoco dell’azione descritta nella sezione delle port-actions; servizi rappresenta una lista di servizi di sistema che, se in esecuzione, fanno scattare in automatico l’utilizzo dell’azione; protocollo indica se il servizio deve essere eseguito su TCP o su UDP.

Faraday

Uno strumento unico nel suo genere, in quanto consente il penetration testing “collaborativo”. Faraday si presenta con una GUI che consente a diversi penetration tester di essere collegati contemporaneamente.

Figura 7. Interfaccia di Faraday (fonte: Faraday) (click per ingrandire)

Interfaccia di Faraday

Oltre a questo, ciascun tester potrà visionare le azioni effettuate dagli altri tester in tempo reale. Fondamentalmente l’obiettivo dei programmatori di Faraday era di creare qualcosa di analogo agli IDE adatti alla programmazione (es. Eclipse, Visual Studio, ecc…), ma rivolto al penetration testing. In modo simile alle IDE sopra citate, Faraday offre la possibilità di installare diversi plugins:

  • Console: intercettano/interpretano l’output dei tool eseguiti dal penetration tester;
  • Report: consentono la visualizzazione dei dati;
  • Online: consentono a Faraday di collegarsi a strumenti esterni (es. database ed API di siti terzi).

Maltego

Probabilmente il tool di information gathering al momento più completo sul mercato. È disponibile una versione open source (installata su Kali), e la versione commerciale. Fondamentalmente rende possibile raccogliere informazioni dal web e raggrupparle in modo coerente riferendole alla stessa entità (persona, dominio, ecc..) Dopo la raccolta di informazioni, Maltego creerà un grafo delle relazioni tra le entità in questione, di fatto metttendo a disposizione una miriade di informazioni su un singolo soggetto.

Figura 8. Interfaccia di Maltego (fonte: Maltego) (click per ingrandire)

Interfaccia di Maltego

I dati che possono essere scoperti, collegati, e dunque messi in relazione alla stessa entità sono i seguenti:

  • Nome, cognome, indirizzo mail di determinate persone;
  • Gruppi di persone (social networks);
  • Organizzazioni e compagnie;
  • Siti web;
  • Infrastrutture di rete: domini, nomi DNS, indirizzi IP, alias;
  • Affiliazioni;
  • Documenti e files;

Se siete curiosi di approfondire le potenzialità di Maltego e cominciare ad utilizzarlo vi invitiamo a dare un’occhiata alla nostra guida su Maltego

Tutte le lezioni

1 2 3 4 ... 7

Se vuoi aggiornamenti su Framework per l'information gathering inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Framework per l'information gathering

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento dei dati per attività di marketing