Nello scorso articolo ci eravamo lasciati con un attaccante alla ricerca di informazioni sulla sua vittima, nella fase di definire quali PC, Server e più in generale apparati fossero online e raggiungibili; adesso è tempo di passare all’azione.
NMAP – Network Mapper
Chiunque abbia visto un film o una serie con un computer o un hacker ha già incontrato NMAP nella sua versione a riga di comando o nella versione con interfaccia grafica.
Cosa fa un Network Mapper?
Per prima cosa svolge le stesse attività del tool Ping: verificare se un host (computer/server/apparato) è raggiungibile. A questa opzione base ne aggiunge una fondamentale che accompagna la fase di Scanning, ossia verificare lo stato nel quale si trovano le 65536 porte TCP e/o le 65536 port UDP.
Il concetto di porta è molto semplice. Quando due programmi devono dialogare si scambiano dei messaggi, questi messaggi partono e arrivano attraverso porte “virtuali”. In parole povero il browser che stiamo usando, invierà e riceverà messaggi attraverso la porta 80, se vuole usare il protocollo HTTP; attraverso la porta 443, se vuole utilizzare il protocollo HTTPS.
NMAP non fa altro che spedire messaggi a queste porte e aspettare una eventuale risposta. Se la porta è aperta, quindi utilizzabile, il protocollo che è in ascolto risponderà; se la porta non è utilizzabile (chiusa) risponderà con un messaggio di rifiuto.
In barba all’adagio “chiedere è lecito, rispondere è cortesia” esiste l’eventualità che la porta non risponda perché un apparato tenta di impedire ad un hacker di completare lo scanning, in quel caso di parla di porte filtrate.
Enumeration Tool
Adesso che abbiamo scoperto che porte sono aperte sul nostro server-vittima, bisogna indagare a fondo. Ogni porta corrisponde ad un servizio e per ogni servizio/protocollo esistono numerosi programmi che possono fungere al caso nostro, quindi non ha senso farne uno sterile elenco.
Attraverso questi programmi durante la fase di enumeration che potremmo tradurre come “elencazione” l’hacker dialoga con i vari protocolli cercando di scoprire la versione usata, gli utenti che ne usufruiscono, le macchine che condividono, il sistema operativo del server che si sta analizzando; insomma tutte informazioni utili ad organizzare un tentativo di intrusione al sistema.
Web Content Scanner
Una volta completata la fase di enumerazione, se il server ospita un sito web, allora può essere opportuno usare uno dei tanti Web Content Scanner, programmi che hanno la funzione di scovare i contenuti di un sito, soprattutto quei contenuti che pur accessibili, sono tenuti nascosti o non indicizzati come ad esempio una pagina di login o dei file di configurazione.
Nell’esempio sotto possiamo vedere un programma chiamato dirsearch utilizzare un elenco di parole (-w) contro il sito passounosecurity.ch (-u). Il nostro sito contiene solo ed esclusivamente degli articoli, non ha pagine riservate, non ha contenuti nascosti. Ovvio che se fossimo una grande azienda il sito conterrebbe molte più risorse e tra le tante potrebbero essercene alcune riservate.
Il funzionamento di un web content scanner è molto semplice: prende l’URL passounosecurity.ch, aggiunge uno slash ( / ) e una parola presa dal vocabolario creando un nuovo URL, poi prova a connettersi all’indirizzo creato. Se avrà successo segnalerà la pagina trovata e riprenderà i suoi tentativi con la parola successiva.
Se invece l’indirizzo non risulta valido, continuerà ripetendo l’operazione sino ad esaurire l’elenco di parole.
Ad esempio:
- passounosecurity.ch/about_us
- passounosecurity.ch/about-us
- passounosecurity.ch/aboutus
Ovviamente un sito web e il server che lo ospita sono dei succulenti bocconcini per ogni hacker, ma tratteremo l’argomento in un articolo dedicato. Per ora ci basta sapere che alla fine di questa operazione l’hacker avrà una descrizione molto precisa della propria vittima e nella prossima puntata vedremo con quali strumenti valicherà la zona grigia tra legale ed illegale.