Penetretion Tester Information Gathering

Information-Gathering

Information-Gathering

Una “nuova” tipologia di specialisti si sta gia’ facendo sempre piu’ strada all’interno delle aziende e delle case dei privati, interessati ad aumentare il loro livello di sicurezza, i Penetration Tester (PT).

Ogni PT deve aver ben chiaro e seguire una serie di attivita’ per raggiungere lo scopo finale.
Le “FASI” del PT sono le seguenti :

  • Information Gathering;
  • Vulnerability Assessment;
  • Exploitation;
  • Privilege Escalation;
  • Maintaining Access;
  • Reporting;

Oggi, in questo primo articolo sul PT inizieremo a spiegare i concetti dell’ Information Gathering.

L’Information Gathering o raccolta delle informazioni permette all’attaccante di acquisire dati utili, dall’architettura della piattaforma, ai servizi offerti, ecc. L’analisi di questi dati porterà alla scelta di come condurre il passo successivo.

Analisi di un caso reale

Ci troviamo ad operare da remoto per verificare il livello di sicurezza di una grande azienda. L’analisi viene svolta, a fronte di un’ accordo con il committente (non dimenticate mai l’importanza di un contratto ben dettagliato e firmato dal committente per evitare future noie legali), da parte del PT. In base alla quantità d’ informazioni disponibili s’ identificano diversi scenari. Questa tipologia di scenario viene definita “Black Box” poiche’ non presuppone alcuna conoscenza dell’infrastruttura oggetto di analisi, tutte le informazioni dovranno quindi essere ricavate prima di iniziare i vari test.

Per diversificarci questa volta ci affideremo non alla solita Kali Linux ma ad un’altro sistema improntato al PT come BackBox Linux, una distribuzione orientata al PT. Il vantaggio derivante dall’uso di uno strumento simile è nell’avere un sistema operativo altrettanto completo di tools, flessibile ed ottimizzato per condurre vari test di sicurezza.

Information Gathering

L’attività di PT inizia come gia’ detto con la raccolta delle informazioni, partendo dall’url del sito aziendale del committente è possibile risalire all’indirizzo IP del server (informazione essenziale per iniziare la nostra analisi):

$ host www.nomesito.it
www.nomesito.it has address 150.xxx.xxx.10

oppure

$ nslookup
set q=any
nomesito.it

o ancora un semplice #whois permette di effettuare delle query al fine di ottenere informazioni riguardo la registrazione del dominio.

$ whois www.nomesito.it

Ovviamente questi sono soltanto alcuni esempi, di tool da riga di comando ne esistono diversi (#dig, #dnsenum …) ma non e’ possibile citarli tutti, ognuno potra’ cercarsi il preferito.

Ottenuta questa informazione ci serviremo di un’ulteriore tool Maltego, è un tool sviluppato dalla società Paterva, che offre la possibilità di raccogliere informazioni tramite la consultazione di dati pubblicamente accessibili e raggrupparle,  in formato grafico. Tramite questo strumento si è in grado di raccogliere informazioni da:

  • Siti web
  • Comunicazioni web (social network, wiki, blog, …)
  • Dati pubblici (conferenze stampa, rapporti dei governi, dati demografici, …)
  • Osservazioni dirette (dati geolocalizzati, conversazioni radio, foto satellitari, …)
  • Professionisti ed accademici (simposi, conferenze, pubblicazioni scientifiche, associazioni professionali, …)

Viene utilizzata un’architettura client/server per la raccolta dei dati e per determinare le relazioni fra di essi.

Un’ulteriore ed interessantissimo tool e’ TheHarvester

TheHarvester  è utilizzato per raccogliere info su domini, indirizzi email e documenti con metadata inerenti il target della nostra ricerca. Harvester si basa su un suo algoritmo di ricerca in grado di interrogare i maggiori motori di ricerca conosciuti, facendo sì che l’attaccante non visiti direttamente il target. Dunque il target sarà ignaro delle nostre attività.
Un piccolo esempio potrebbe essere questo qui sotto ma ricordatevi di leggere sempre gli “help” per poter conoscere tutte le opzioni che si possono utilizzare.

theharvester -d miosito.it -l 500 -b all

Ultimo tool di questo articolo, non certo per importanza o per potenza sara’ Dmitry.

Dmitry (Deepmagic Information Gathering Tool), questo tool  è un whois potentissimo che lavora esclusivamente da riga di comando , è scritto in C e ha la capacità di darci su di un determinato host , tantissime informazioni , tutte raccolte ed estratte in base alle nostre richieste , effettuate tramite l’inserimento in Shell di alcune opzioni (leggete sempre l’help).

dmitry -winsepffb -o miosito.txt www.miosito.it

…come detto questo e’ solo un esempio in cui sono state unite insieme diverse opzioni ed il risultato verra’ salvato in un file .txt.

Per tutto il resto non resta che fare tanta tanta pratica……a presto !!!

Naviga piu’ veloce

dnsVelocizzare la navigazione in Internet con un Proxy DNS

Avvertite l’esigenza di provare una navigazione sempre piu’ veolce ? I DNS del vostro provider fanno i capricci e voi siete stufi di dover navigare a singhiozzo ? Avete due alternative: usare i DNS messi a disposizione dal progetto OpenDNS ( anche se comunque, di “aperto” non ha proprio nulla ) oppure installare sul vostro PC o sul vostro gateway pdnsd.

pdnsd è un proxy DNS che, grazie alla sua cache su disco, consente di memorizzare le coppie indirizzo IP / nome host, evitando di dover effettuare ogni volta la risoluzione DNS e migliorando leggermente la velocità di navigazione. L’installazione risulta agevole su tutte le distribuzioni, essendo limitata alla modifica del file /etc/resolv.conf ed all’editing del file di configurazione di pdnsd: per le distro Ubuntu & Debian il tutto si risolve con un classico : sudo apt-get istall pdnsd 

Prima di modificare qualunque file di sistema il consiglio e’ sempre quello : ” fate una copia di BACKUP “.

  • sudo cp /etc/pdnsd.conf /etc/pdnsd.conf.orig
  • sudo cp /etc/resolv.conf /etc/resolv.conf.orig

 

Editando il file /etc/resolv.conf , questo dovra’ avere come unica voce nameserver il solo valore 127.0.0.1 

Prima di attivare il servizio facciamo un test di risoluzione DNS, che ripeteremo una volta ultimate le modifiche ed attivato il nuovo servizio cosi’ da poter capire se e di quanto sia variata la risoluzione, quindi eseguiamo questo comando :

# dig http://www.distrowatch.org | grep "Query time"
;; Query time: 322 msec

Attivare il servizio

Modificare il file /etc/default/pdnsd attivando il daemon e disattivando i restanti due parametri:

# do we start pdnsd ?
START_DAEMON=yes
# auto-mode, overrides /etc/pdsnd.conf if set [see /usr/share/pdnsd/]
#AUTO_MODE=
# optional CLI options to pass to pdnsd(8)
#START_OPTIONS=

E’ importante soprattutto commentare AUTO_MODE in quando, come descritto nella riga di commento che lo precede, il file di configurazione “principale” verrebbe altrimenti ignorato.

Configurare PDNSD

Il file di configurazione è /etc/pdnsd.conf. Qui ci si può sbizzarrire con i vari parametri di configurazione. Questa è la mia configurazione:

global {
perm_cache=2048;
cache_dir="/var/cache/pdnsd";
run_as="pdnsd";
server_ip = any;
paranoid=on;
min_ttl=15m;
max_ttl=1w;
timeout=10;
}

server {
label=”OpenDNS”;
ip=208.67.222.222,208.67.220.220;
timeout=30;
interval=30;
uptest=ping;
ping_timeout=30;
purge_cache=off;
}

source {
owner=localhost;
file=”/etc/hosts”;
}

rr {
name=localhost;
reverse=on;
a=127.0.0.1;
owner=localhost;
soa=localhost,root.localhost,42,86400,900,86400,86400;
}

Pronti a partire

Non resta che avviare il daemon:

/etc/init.d/pdnsd start

 

La differenza

La stessa query di cui sopra eseguita in cache:

# dig http://www.distrowatch.org | grep "Query time"
;; Query time: 2 msec

Inutile dire che i tempi di risoluzione degli hosts sono più che rapidi, e la navigazione su internet è decisamente più veloce.