Preciso subito che non si tratta di una app per trovare o craccare reti wireless.

E', invece, un'ottima app che scansiona la rete alla quale siamo connessi e ci restituisce una lista con tutti gli altri dispositivi connessi.

Dopo aver avviato la scansione con l'icona in alto, ci viene resituita una lista con indirizzo ip, MAC address e hostname.

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

Faccio una piccola premessa: per scoprire il sistema operativo usato dai computer in rete sarebbe meglio usare altri sistemi con Nmap; però se non si ha la possibilità/voglia di installare/studiare qualcosa di nuovo questo potrebbe essere un buon metodo, tenendo però in considerazioni i suoi limiti.

Detto ciò cominciamo con una breve descrizione di che cosa è l'OS Fingerprint: in breve è, appunto, il processo che permette di determinare il sistema operativo dell’host remoto.

Esistono due modi per farlo, uno attivo e uno passivo.

Quello attivo consiste nell'inviare pacchetti e analizzare la risposta.

Quello passivo nell'intercettare (sniffing) i dati in transito e valutare particolari campi dei protocolli.

Possiamo dire che tutti i sistemi operativi creano i pacchetti con valori arbitrari e distintivi.

Analizzando questi valori è possibile sapere con buona precisione quale sistema ha creato quei pacchetti, e di rimbalzo capire quale sistema operativo sta girando sulla macchina target.

Dei vari protocolli disponibili a noi interessa il protoccolo IP (Internet Protocol).

In maniera abbastanza generica possiamo dire che ogni informazione (email, streaming, ecc) attraversa la rete in forma frammentata: ogni frammento viene chiamato pacchetto dati.

Ogni connessione TCP viene fatta a pezzi e inglobata in pacchetti IP.

Questi pezzi contengo sia informazioni sui dati trasmessi, sia informazioni specifiche sul protocollo IP.

Di questi a noi interessa il campo TTL (Time To Live).

Il TTL è un valore che indica per quanto tempo il pacchetto IP può vagare per la rete prima di raggiungere la destinazione, e serve per evitare che pacchetti per qualche motivo sfuggiti al controllo continuino all’infinito a girare per la rete.

Infatti una volta che questo tempo scade, il pacchetto stesso viene eliminato.

Il TTL funziona così: quando il pacchetto viene creato/trasmesso viene impostato un valore TTL non specificato da nessuna parte; ognuno lo può impostare come vuole; ad ogni passaggio di router questo valore è decrementato di uno; quando raggiunge lo zero viene scartato.

Per verificare il TTL basta il comando Ping (disponibile su tutte le piattaforme).