Il modo di operare di un network hacker in un attacco informatico paradossalmente non è diverso da quello di un esperto di sicurezza di rete. Nel corso di questo articolo vedremo le tecniche generali che stanno alla base degli attacchi informatici via rete degli hacker, in modo da conoscere il nostro avversario e saper rispondere a dovere.
Dapprima viene effettuato l’information gathering, tecniche che servono per raccogliere informazioni sulla vittima senza agire direttamente contro di essa. Subito dopo si passa al social engineering, tecnica poco usata, che consta nello spacciarsi per un cliente o fornitore o altro in modo da frugare negli archivi della vittima, solitamente la spazzatura. Poi si passa a comandi Unix come whois, dig, nslookup per interrogare i database delle Registration Autority e sapere così a chi appartiene un determinato gruppo di indirizzi IP, dove è locato fisicamente il server e chi sono i maintainer. Alzando il rischio di rilevamento, è possibile farsi un’idea più precisa della vittima effettuando un traceroute o un ping scan verso gli indirizzi IP scovati. Il primo mostrerà la strada che i pacchetti IP fanno per passare dalla nostra postazione verso la vittima ed il ping verificherà se le macchine sono attive e raggiungibili. Altri metodi per ricevere informazioni dalla vittima, ad alto rischio di essere scoperti, sono i comandi rpcinfo, showmount e nbstat: il primo consente di vedere i servizi RPC disponibili, il secondo le partizioni condivise in NFS ed il terzo le risorse NetBIOS condivise.
Dopo la fase di rilevamento della vittima si passa a verificare quali siano i servizi attivi, service discovery, difatti ognuno di questi lavora su di una porta: ftp sulla 20 e 21, l’HTTP sulla 80 o 8080 e così via. I portscanner oggi sono strumenti concettualmente molto semplici, ma con una certa complessità costruttiva, perché permettono di studiare le porte e quindi i servizi della vittima senza farsi scoprire, difatti attivano solo mezze sessioni, inviando solo segnali SYN o FIN alla porta bersaglio. Un portscanner famoso in ambiente Unix è nmap, ma ci sono anche per Windows.
Una volta scoperti i servizi attivi l’hacker dovrà vedere quale è quello vulnerabile ed instaurare con esso una sessione per cercare un eventuale bug che porti ad un exploit remoto ( vedremo fra poco cosa sono ). Un metodo più antiquato è lo scanning delle password a forza bruta, questa pratica è rafforzata dal fatto che molti apparati di rete ( switch, router o access point ) hanno password di default che in alcuni casi non vengono cambiate. Questa attività di ricerca è anche effettuata con tool creati appositamente, sono i cosiddetti “network vulnerability scanner“, ne esistono molti sia open source come Nessus o commerciali.
Qualunque software ha un suo grado di robustezza e di tolleranza agli errori, intendendo con il primo un componente che può funzionare correttamente anche con degli input invalidi, mentre con il secondo si intende un programma o componente che svolge le sue normali funzioni a dispetto di input invalidi. Per bug si intende un difetto software che porta a generare risultati differenti da quelli per i quali era stato programmato. L’hacker, quindi, sarà una persona che conoscerà la programmazione anche assembly per stanare o provocare questi bug e dopo scrivere un exploit, ovvero un programma utile per guadagnare diritti amministrativi della macchina vittima. Quando un software non è ben progettato si può tentare di inserirgli valori esageratamente grandi in modo da riempire il buffer, a questo punto il programma terminerà in malo modo la sua esecuzione sovrascrivendo alcune parti di memoria. Con un’adeguata conoscenza dell’assembly ed in alcuni casi, è possibile far sì che il programma morente esegua qualche istruzione passata all’interno di quell’input esageratamente grande, in estrema sintesi questo è il concetto di buffer overflow. Se a tutto questo aggiungiamo che il programma buggato è un servizio raggiungibile remotamente, allora si può produrre un exploit devastante.
Una volta entrato nel sistema con diritti amministrativi l’hacker tenterà di cancellare le sue traccie, log di sistema o sniffer vari, quindi cercherà di installare una backdoor per rientrare nel sistema, un servizio che apra una shell, un sofisticato LKM che intercettando un pacchetto ICMP appositamente formattato, restituirà una shell sull’IP che lo ha generato, ancora all’apparenza innocui CGI da richiamare in URL attraverso web server o altro ancora; un sistema che ha portato fino a questo punto l’hacker sicuramente sarà difficile da ripulire ed anche il BIOS del sistema è a rischio di compromissione.
Questo articolo ha posto il problema della sicurezza, rendendo noti i passaggi che di solito un hacker compie per impadronirsi delle nostre informazioni, affinché si sappia come combatterli ( se già conosci il tuo avversario hai dei privilegi in più ) e soprattutto per far capire che la sicurezza informatica è molto importante e non bisogna sottovalutarla o considerarla un superfluo, ma spenderci tempo e denaro. Inoltre organizzare la sicurezza prima dello sviluppo della rete locale è meglio che implementarla in seguito senza quindi avere un sistema omogeneo ed organizzato. Alcuni consigli sono:
Concludo dicendo che lo scopo di questo articolo è far conoscere a responsabili di aziende medie o grandi l’importanza di avere un sistema sicuro e non per far venire voglia al primo sprovveduto di attaccare un sistema, sappiate che ci sono pene pecuniarie e penali molto serie che vi farebbero certamente pentire di questa bravata.
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…
MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→
In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…
In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…
Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…
Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→