Home    About me    Publications    Blog    Tweets    Contacts

Fabio Ruini's blog

'cause Italians blog better

Penetration testing – Reconnaissance tools

Ho finito di leggere ieri sera il capitolo 2 di The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy, il volume di Patrick Engebretson al quale mi sono dedicato da qualche giorno. Il capitolo in questione e’ dedicato alla prima fase che costituisce un’operazione di penetration testing: la reconnaissance. Scopo di questa fase e’ quello di carpire quante piu’ informazioni possibili riguardo al proprio target: tecnologie adottate, indirizzi IP delle macchine esposte verso l’esterno, DNS/server di posta utilizzati, username di utenti del sistema, dati personali di questi ultimi, ecc… Tutte informazioni che verranno poi utilizzate nelle successive fasi del proprio lavoro.

Definire la reconnaissance come una fase preliminare di un penetration test andrebbe in disaccordo con quanto sostiene Engebretson, ovvero che sia invece parte integrante di una qualsiasi operazione di questa natura (spesso sottovalutata dagli script-kiddies, ma non dagli esperti del campo) e che condurla nel migliore dei modi possa avere enorme influenza sull’esito finale del lavoro.

I metodi di reconnaissance possono essere distinti in due categorie principali, attiva e passiva, a seconda che prevedano o meno un’interazione diretta del penetration tester con il proprio target (un buon articolo che tratta dell’argomento, seppur un po’ datato, puo’ essere trovato a questo link). Engebretson ne presenta alcuni, che mi sono preso la briga di elencare qui di seguito con una breve review per ciascuno di essi.

  • HTTrack Website Copier: si tratta di un utility multi-piattaforma (WebHTTrack il nome della versione *NIX, WinHTTrack di quella per sistemi Windows) che permette di creare una copia locale completa di un qualsiasi sito web. Utile per poter spremere tutte le informazioni contenute sulle pagine web del proprio target limitando al massimo i contatti con questo (salvo, ovviamente, quelli massicci che avvengono durante la copia).
  • theHarvester: sviluppato da Christian Martorella di Edge-Security, questo script Python si occupa di individuare tutti i nominativi e gli indirizzi e-mail associati ad un certo dominio, nonche’ tutti i suoi sotto-domini, hostname e virtual host. Per farlo si appoggia semplicemente a servizi pubblici (Google, Google profiles, Bing, server PGP, Linkedin, Exalead). L’ultima versione del software, che ora attinge anche al motore di ricerca per computer SHODAN, puo’ essere scaricata dal repository ospitato su Google Code.
  • Whois: e’ un query and response protocol that is widely used for querying databases that store the registered users or assignees of an Internet resource, such as a domain name, an IP address block, or an autonomous system, but is also used for a wider range of other information. Nel suo utilizzo piu’ classico permette di scoprire chi e’ il responsabile registrato per un certo dominio (con relative informazioni di contatto) e gli evenutali server DNS utilizzati. Una delle tante interfacce web per Whois e’ disponibile all’indirizzo http://www.whois.net. Gli utenti *NIX/OSx possono invece contare sul tool integrato nel proprio sistema operativo
  • Netcraft e’ un servizio web che estende i risultati restituiti da whois mostrando informazioni aggiuntive sul dominio target, quali ad esempio sistema operativo e web server in uso sulle varie macchine collegate.
  • Host e’ un semplice tool, anch’esso come Whois presente di default sui sistemi di isprazione *NIX/BSD, che permette di effettuare un DNS lookup. In soldoni, permette di tradurre nomi di host in indirizzi IP e viceversa.
  • NS Lookup: e’ un tool interattivo per l’interrogazione di server DNS. Il suo funzionamento e’ un po’ elaborato e stavo pertanto pensando di dedicargli un post a parte nei prossimi giorni. Nel frattempo un po’ di informazioni potete trovarle a questo link.
  • Dig (acronimo per Domain information groper): similmente a NS Lookup, anche Dig e’ un tool interattivo per dialogare con server DNS. Tra le sue peculiarita’ la possibilita’ di effettuare (ove possibile) operazioni di DNS zone transfer.
  • MetaGooFil: di lui se ne e’ già parlato con dovizia di dettagli in questo post.
  • SEAT (Search Engine Assessment Tool): anche se piu’ orientato verso le fasi di scanning/exploitation che non verso quella di reconnaissance, SEAT permette di raccogliere quante piu’ informazioni possibili riguardanti un certo dominio tramite ricerche automatizzate e portate avanti in parallelo su diversi motori di ricerca.
  • Maltego: disponibile in due versioni, commerciale e “community”, si tratta di un software estremamente interessante che consente all’utilizzatore di creare “mappe di relazioni” riferite al proprio target. Tali mappe, create sulla base di informazioni pubbliche reperite sulla rete, possono rappresentare il funzionamento di un network di computer nell’organizzazione bersaglio o piu’ semplicemente le relazioni personali tra i vari componenti dell’organizzazione stessa.

I tool ovviamente non finiscono qui. La rete ne offre a decine (a tal proposito ogni segnalazione e’ oltremodo gradita), così come molti sono quelli integrati di default in Backtrack. E’ sufficiente avere un po’ di tempo da spendere sull’argomento.

Commenti

  1. marzo 18th, 2012 | 19:26

    Tool fondamentali da guardare sono: ettercap e Nessus.
    NB: Nessus ora e’ a pagamemnto, ma era nato un fork che si chiama Openvas, veramente utile

  2. marzo 18th, 2012 | 19:30

    TY Giordy, non conoscevo Nessus. ettercap e’ uno sniffer invece, giusto? In quel caso ne parleremo in qualche altro post dedicato alle fasi successive di un pen-test… :)

    PS: avevo risposto alla tua email, ma temo che il tuo mail server fai-da-te abbia qualche problemino (e’ stata l’unica volta negli ultimi 5 anni che dal server exchange dell’università’ non sono riuscito ad inviare con successo un messaggio).

Lascia un commento

%d blogger cliccano Mi Piace per questo: