Il footprinting
Ho fatto una spece di riassunto di varie info trovate in giro e vorrei riportarvele.
Il footprinting è l'attività che consente di creare un profilo sulla sicurezza di un bersaglio.
Attraverso vari strumenti e metodi è possibile arrivare a conoscere moltissime info su un determinato bersaglio (organizzazioni, privati, ecc).
E' la prima attività svolta dagli hacker quando voglio attaccare qualcuno (per qualsiasi scopo lo vogliano fare), ed è fondamentale in quanto permette di raccogliere molte info.
Gli elementi che vengono monitorati sono:
Internet | Nomi di dominio |
Blocchi di reti/sottoreti | |
Servizi | |
IP raggiungibili | |
Architettura di sistema | |
ecc | |
Intranet | Protocolli di rete |
Nomi host DNS | |
ecc | |
Extranet | Meccanismo di controllo di accesso |
Tipi di connessione | |
ecc | |
Accesso remoto | Numeri di telefonp |
VPN | |
Tipo di sistema remoto | |
ecc |
I vari passi che vengono effettuati sono abbastanza personali, ma facendo un riassunto ne ho individuati 6.
PASSO 1: definire l'ambito di attività
Si tratta di determinare su cosa raccogliere informazioni:
- tutta l'organizzazione o solo una parte?
- anche i partner e le extranet?
- consideraare anche le relazioni più "lontane"?
PASSO 2: autorizzazioni
Supponendo che stiate facendo tutto in buona fede e per testare la sicurezza della vostra organizzazione. dovete ottenere i permessi per svolgere la vostra attività.
In sostanza si tratta dei livelli 8 e 9 del modello OSI a 7 livelli: politica e finanziamenti.
PASSO 3: informazioni pubbliche
Molti di voi magari non ci pensano, ma ci sono tantissime informazioni pubblilche se sapete dove cercare:
- pagine web
- commenti codice sorgente pagine (HTML e CSS)
- url per vpn, microsoft exchange
- openconnect/java
- organizzazioni correlate, ad esempio quando ci si rifà all'outsourcing per determinate attività, in quanto è facile che i partner non stiano attenti alla sicurezza degli altri
- commenti codice sorgente pagine (HTML e CSS)
- dettagli sulla sede, attraverso servizi come Google Maps o Google Earth
- dettagli sui dipendenti, come numeri di telefono, indirizzi e email
- paginebianche.it
- eventi come fusioni, acquisizioni, liquidazioni, licenziamenti, che spesso, per velocizzare le operazioni, portano a trascurare la sicurezza
- politiche di sicurezza che indicano che ci sono meccanismi di sicurezza attivi
- informazioni archiviate non disponibili presso la fonte originale
- webarchive.org
- dipendenti scontenti
- motori di ricerca e Usenet, attraverso i quali è possibile reperire molte informazioni usando le chiavi di ricerca adeguate; se andiamo qua possiamo ottenere molte di queste chiavi;
- ad esempio cercando in Google "allinurl:tsweb/default.htm" possiamo ottenere i server Microsoft con la connessione wed desktop attiva
PASSO 4: enumerazione WHOIS
Prima di tutto che cos'è il WHOIS: è un protocollo che consente di determinare a quale provider appartenga un determinato indirizzo IP.
Prima di andare oltre, però, è meglio spiegare le basi sulla gestione di Internet, in modo da capire bene come funziona la procedura.
Le funzionalità centrale di Internet è gestita dall'ICANN, che è una sorta di organizzazione di coordinazione per Internet.
Nello specifico coordina l'assegnazione dei seguenti identificatori:
- nomi di dominio
- indirizzi IP
- paramateri dei protocolli e numeri di porta
- coordina l'attività del sistema root server DNS
L'ICANN è divisa in diverse parti:
- ASO che cura le politiche relative agli indirizzi IP
- GNSO che cura le politiche relative all'assegnazione dei nomi di dominio di primo livello; non è responsabile della registrazione, ma dei domini generici di primo livello (.com, .net, .org, ecc) che si trovano presso IANA
- CCNSO che cura e sviluppa le politiche relative ai nomi di dominio per tutti i domini di primo con codice nazionale
Nello specifico l''ASO alloca blocchi di indirizzi IP ai registri regionali RIR che gestiscono e distribuiscono i vari IP agli ISP o ad altre organizzazioni.
Le varie regioni in cui si suddivide l'ASO sono:
- APNIC -> Asia/Pacifico
- ARIN -> Americhe, Africa subsahariana
- LACNIC -> America latina e Caraibi
- RIPE -> Europa, parti dell'Asia, Africa del nord, medio oriente
- AfriNIC -> includerà le aree africane gestite da ARIN e RIPE
Capita tutta questa suddivisione possiamo fare un esempio reale cominciando con le ricerche relative ai domini.
Prima di tutto dobbiamo identificare qyale server WHOIS contiene le info che vogliamo.
Per farlo si usano le cosi dette tre R del WHOIS: si identifica il Registry per un dato dominio (tipo .com) che contiene info sul Registrar che è colui che ha registrato il dominio bersaglio; infine identifichiamo il Registrant corrispondente allo specifico nome di dominio.
Per fare tutto ciò possiamo usare uno dei tant siti dedicati ale ricerche WHOIS, oppure fare tutto "a mano".
Vediamo un possibile procedimento.
Ci colleghiamo a WHOIS IANA e cerchiamo il registry per il dominio .it (ad esempio).
In fondo vediamo che http://www.nic.it/; ci colleghiamo e clicchiamo su WHOIS a destra e cerchiamo orangeneration.it.
Vediamo che è stato registrato da Aruba; sulla sinistra clicchiamo sul link Whois per vedere tutte le info del sito (alcuni provider hanno servizi di WHOIS specifici ma su Aruba non l'ho trovato).
Così facendo abbiamo molti dettagli non trascurabili, ed aumentano nel caso di alcuni provider..
Volendo possiamo effettuare le stesse ricerche comodamente dal terminale (esempio di un libro):
$ whois com -h whois.iana.org
$ whois keyhole.com -h whois.verisign-grs.com
$ whois keyhole.com -h whois.omnis.com
Inoltre come detto prima potete usare uno dei tatissimi siti online (basta cge cercate whois su Google).
Volendo possiamo fare le ricerche per IP invece che per dominio.
Andate sul sito dell'ARIN e mettete l'IP nella casella in alto a destra.
Proviamo con 217.200.200.42.
L'indirizzo è allocato presso RIPE; andiamo quindi presso il sito RIPE e mettete l'IP in RIPE database.
Scopriamo che è gestito dalla Telecom.
Questa procedura può essere usate per tracciare qualsiasi indirizzo; al massimo combiareanno i gestori dell'IP.
Tenendo però conto che è sempre possibile mascherare il proprio indirizzo......
PASSO 5: interrogazione dei DNS
A questo punto passiamo all'interrogazione dei DNS.
Il metodo più usato è il cosidetto "trasferimento di zona", tenendo però in considerazione che ad oggi i sistemi di sicurezza sono molto migliorati e non è sempre possibile usare questa metodologia.
Il modo classico è quello di usare nslookup, un semplice programma da riga di comando.
Se date solo il comando nslookup si avvierà una spece di sessione interattiva.
All'avvio dovrebbe indicare il server DNS di default.
Se però il nostro server DNS non è autorizzato per il dominio bersaglio non conterrà tutti i record DNs che stiamo cercando, e quindi dovremmo indicare manualmente quale interrogare.
Vi posto un esempio trovato su u file pdf (scaricato chissà dove):
$ nslookup
Defualt Server : ns1.example.com
Address: 10.10.20.2
> 192.168.1.1
Defualt Server : ns1.example.com
Address: 10.10.20.2
Name: gate.esempio.com
Address: 191.168.1.1
> set type=any
> ls -d esempio.com. >\> /tmp/zone_out
In questo caso utiliziamo il server primario per il dominio esempio.com (192.168.1.1).
Come tipo di record impostiamo any per lavorare su qualsiasi record DNS.
Con ls elenchiamo tutti i record associati a un dominio, e con l'opzione -d elenchiamo tutti i record del dominio.
Il risultato lo salviamo dentro /tmp/zone_out in modo da poterlo leggere con calma.
Ci sono varie voci di cui alcune di particolare interesse.
Ad esempio il record A che contiene l'IP del nome del sistema operativo in esecuzione
Altro record importante è HINFO che indica il sistema operativo in uso.
Ovviamene possiamo estrapolare tutte le info che vogliamo con i soliti programmi da shell (tipo grep, awk, sed, ....).
Sennò possiamo agire usando l'utility host (sempre da riga di comando) che ci leva un pò di lavoro:
$ host -l sito.it
$ host -lvt any sito.it
Se vi servono solo gli IP:
$ host -l sito.it | cut -f 4 -d"" "" >/> /tmp/ip
Infine con host possiamo anche identificare dov'è gestita la posta:
$ host orangeneration.it
orangeneration.it has address 62.149.128.157
orangeneration.it has address 62.149.128.160
orangeneration.it has address 62.149.128.163
orangeneration.it has address 62.149.128.166
orangeneration.it has address 62.149.128.72
orangeneration.it has address 62.149.128.74
orangeneration.it has address 62.149.128.151
orangeneration.it has address 62.149.128.154
orangeneration.it mail is handled by 10 mx.orangeneration.it.
Altro comando molto utilizzato è dig, che può svolgere in automatico molte operazioni descritte:
$ dig orangeneration.it type any
; <<>> DiG 9.6.0-APPLE-P2 <<>> orangeneration.it type any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4803
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;orangeneration.it. IN A
;; ANSWER SECTION:
orangeneration.it. 21600 IN A 62.149.128.157
orangeneration.it. 21600 IN A 62.149.128.160
orangeneration.it. 21600 IN A 62.149.128.163
orangeneration.it. 21600 IN A 62.149.128.166
orangeneration.it. 21600 IN A 62.149.128.72
orangeneration.it. 21600 IN A 62.149.128.74
orangeneration.it. 21600 IN A 62.149.128.151
orangeneration.it. 21600 IN A 62.149.128.154
;; AUTHORITY SECTION:
orangeneration.it. 86400 IN NS dns.technorail.com.
orangeneration.it. 86400 IN NS dns2.technorail.com.
;; ADDITIONAL SECTION:
dns.technorail.com. 23478 IN A 62.149.128.2
dns2.technorail.com. 2501 IN A 62.149.132.2
;; Query time: 2008 msec
;; SERVER: 213.230.129.10#53(213.230.129.10)
;; WHEN: Fri Mar 18 10:08:57 2011
;; MSG SIZE rcvd: 246
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 44630
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;type. IN ANY
;; AUTHORITY SECTION:
. 10800 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2011031800 1800 900 604800 86400
;; Query time: 237 msec
;; SERVER: 213.230.155.10#53(213.230.155.10)
;; WHEN: Fri Mar 18 10:08:57 2011
;; MSG SIZE rcvd: 97
Infine c'è anche axfr che però in questo momento non ho.
PASSO 6: riconoscimento della rete
Ottenute tutte queste info possiamo provare a identificare le tipologie di rete e i potenzili punti di ingresso.
Il modo migliore è usare il comando traceroute:
$ traceroute orangeneration.it
traceroute: Warning: orangeneration.it has multiple addresses; using 62.149.128.157
traceroute to orangeneration.it (62.149.128.157), 64 hops max, 52 byte packets
1 172.20.10.1 (172.20.10.1) 2.389 ms 1.178 ms 1.191 ms
2 10.207.89.26 (10.207.89.26) 158.299 ms 151.273 ms 159.978 ms
3 10.207.91.65 (10.207.91.65) 159.665 ms 158.655 ms 157.949 ms
4 host5-246-static.80-94-b.business.telecomitalia.it (94.80.246.5) 160.251 ms 146.336 ms 160.087 ms
5 r-ve34-vl11.opb.interbusiness.it (217.141.109.196) 159.732 ms 159.493 ms 168.155 ms
6 172.17.5.153 (172.17.5.153) 160.115 ms 175.316 ms 158.068 ms
7 151.99.75.163 (151.99.75.163) 159.717 ms 151.522 ms 159.554 ms
8 151.6.0.17 (151.6.0.17) 169.733 ms 169.761 ms 169.314 ms
9 151.6.0.177 (151.6.0.177) 149.862 ms 148.010 ms 160.740 ms
10 fiar-b01-miot-t02-po01.wind.it (151.6.7.18) 169.203 ms 161.174 ms 159.811 ms
11 151.6.65.203 (151.6.65.203) 159.809 ms 199.387 ms 159.655 ms
12 151.5.151.98 (151.5.151.98) 158.165 ms 159.803 ms 157.642 ms
13 msfc3px.aruba.it (62.149.190.22) 158.014 ms 175.233 ms 163.700 ms
14 mxd8.aruba.it (62.149.128.157) 158.685 ms 166.756 ms 161.575 ms
Possiamo vedere il percorso dei pacchetti attraverso vari hop senza essere bloccati.
Di default traceroute usa pacchetti UDP, ma possiamo specificare l'opzione -I per usare pacchetti ICMP (default per Windows).
Inoltra possiamo usare l'opzione -p n per specificare un numero di porta UDP incrementato di uno dopo l'avvio.
Se vogliamo bloccare questo comportamento usaimo il flag -S.
Se no volete usare il terminale potete trovare in rete diversi strumenti grafici.
Direi che tutto ciò può bastare.
Non sono andato troppo nello specifico, ma magari ho acceso la vostra cursioità.
In rete trovate moltissime guide e articoli per approfondire.
Come ultima nota vi dico che la maggior parte dei programmi citati sono presenti sia per Unix che per Windows.
Ciauz!!
footprinting whois traceroute dig arfx dns h
Commentami!