la via dell’hacker - aiea...lo stack contiene dati, variabili private, argomenti di funzione,...

21
Massimo BORTOLAN IT Security Competence Center Assessment, Hardening, Monitoring S.O. e Reti Sessione di studio AIEA Torino, 17 Gennaio 2008 La via dell’Hacker Agire come un Hacker

Upload: others

Post on 09-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

1Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Massimo BORTOLANIT Security Competence CenterAssessment, Hardening, Monitoring S.O. e Reti

Sessione di studio AIEATorino, 17 Gennaio 2008

La via dell’HackerAgire come un Hacker

Page 2: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

Agire come un Hacker

1. Footprinting, Enumeration, Scanning…e poi ?2. Attacco !!!3. Buffer Overflow4. Masquerading, proxy e anonimità5. Piantare le tende nel sistema: covering e backdoor6. Difendersi dai Cracker7. Consigli8. Q&A

Page 3: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

3Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Footprinting, Enumeration, Scanning … e poi ?

Analisi ObiettivoAnalisi Obiettivo Ricerca VulnerabilitRicerca Vulnerabilitàà

ATTACCOATTACCO

Strumenti e tecniche ad hocStrumenti e tecniche ad hoc Exploit conosciutiExploit conosciuti

Numerose TecnicheNumerose Tecniche

Reverse Reverse EngeneeringEngeneering

DiffingDiffing Input ImprevistoInput Imprevisto

Buffer OverflowBuffer Overflow

Stringhe di formatoStringhe di formato

SniffingSniffing

Session Session HijackingHijackingSpoofingSpoofing

TunnelingTunneling

WormsWorms, Virus, , Virus, TrojansTrojans

Page 4: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

4Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Attacco !!! [1/2]

• Internet (siti, forum, p2p)• Libri (tecnici e non)Info su tipologie di attacco Tools

• http://freshmeat.net/• http://sourceforge.net/

Sfruttare difetti/vulnerabilitdifetti/vulnerabilitàà degli applicatividegli applicativi (C/S, S.O.). Applicazione importante quanto un Firewall: se scritta male, un (cr)hacker può impadronirsi dell’applicazione e dei DB associati, anche in presenza di FW.

Permettono ll’’esecuzione di codice arbitrario sulla macchinaesecuzione di codice arbitrario sulla macchina attaccata: l’obiettivo è arrivare a disporre di una shellremota sulla macchina: devastante. Serve conoscenza della gestione della memoria, registri, stack. Se ne riduce l’impatto scrivendo applicativi ben progettati e abbondantemente testatiapplicativi ben progettati e abbondantemente testati.

Buffer Overflow e Stringhe di formato

Sniffing

AttivitAttivitàà passiva di ascolto del trafficopassiva di ascolto del traffico: inclusi nei rootkit, per propagare l’attacco. Utilizzo di strumenti quali tcpdump, Wireshark ecc. per scoprire utenze e password. Scheda di rete in modalità promiscua, analisi del traffico Telnet, FTP, POP, IMAP, rlogin, X11 etc.. Occorre usare SSH e SSL (CRITTOGRAFIA !)Occorre usare SSH e SSL (CRITTOGRAFIA !)..

Obiettivo dellObiettivo dell’’attacco: ottenere i privilegi di ROOT / ADMINISTRATOR e attacco: ottenere i privilegi di ROOT / ADMINISTRATOR e consolidare il potere ottenutoconsolidare il potere ottenuto

Input imprevisto

Page 5: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

5Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Attacco !!! [2/2]

Session HijackingTipico attacco MITM (Man In The Middle) in cui chi attacca si impossessa della sessione attiva tra due entitimpossessa della sessione attiva tra due entitàà, sovrapponendosi ad una di esse. E’, in pratica, uno sniffing attivo in cui chi attacca conosce tutti i dati necessari (numeri di sequenza, ACK number): difficile applicarlodifficile applicarlo (es. tempeste ARP), ma se va a buon fine diventa letale.

SpoofingSpoofing: “fornire false informazioni su unfornire false informazioni su un’’identitidentitàà principale per ottenere lprincipale per ottenere l’’accesso non autorizzato ai sistemi e ai accesso non autorizzato ai sistemi e ai serviziservizi” (M. Keao). Questo attacco è realizzabile a tutti i livelli di comunicazione (ARP, IP, frame Ethernet etc.) e costituisce dunque un mondo vasto. Es. IP spoofing creando, tramite C e socket RAW, pacchetti alterati.

Melissa, I Love You, Code Red, Nimbda, Magistr…nomi (tristemente) famosi. Sono programmiprogrammi maligni che si autoauto--riproducono localmenteriproducono localmente (virus), fra sistemifra sistemi (worm) oppure che si si ““travestonotravestono”” da software fidato per creare da software fidato per creare dannidanni (trojans). MAI eseguire software sconosciuto, MAI fidarsi di applicativi scMAI eseguire software sconosciuto, MAI fidarsi di applicativi scaricati o passati da terze partiaricati o passati da terze parti.

Malware: Virus, Worm, Trojans

DoS e DDoS (Denial of Service)L’obiettivo è impedire limpedire l’’accesso a un servizio o ad una risorsaaccesso a un servizio o ad una risorsa (Ping of Death e Teardrop, ormai debellati). In altri casi, l’obiettivo è saturare la vittima (congestionando la bandacongestionando la banda) per impedirle di rispondere (ping flood, attacchi di amplificazione etc.). Altri attacchi: DDoSDDoS (eseguire un DoS da più host contemporaneamente) e SYN flooding.

Cracking delle PasswordL’obiettivo è ottenere delle password valide per accedere ai sistemi attaccati (Web Server, Proxy, Mail Server o semplici hosts da cui eseguire poi attacchi successivi). Si usano, in questo caso, attacchi al dizionario / brute forceattacchi al dizionario / brute force.

Page 6: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

6Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Buffer Overflow [1/4]

Gli errori nel codice portano a problemi di• Riservatezza• Disponibilità• Integrità

B.O. di Stack

Sono i più semplici e più devastanti !

Chi attacca punta a modificare il flusso operativo, modificando la normale esecuzione function-to-function e creando un flusso ad-hoc

Lo stackstack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione … se ad es. il buffer overflow va a sovrascrivere tale indirizzo, la funzione ritornata riparte dal punto specificato dal cracker: in questo punto ci può essere codice maligno, ad es. assembly.

Page 7: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

7Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Buffer Overflow [2/4]

B.O. di Stack

Page 8: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

8Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Buffer Overflow [3/4]

Overflow di Heap, BSS, Dati

Sono più complessi da scrivere, ma ora sono molto comuni

Vanno a sovrascrivere lo heap

Heap: area usata dai programmers (es. con malloc) per allocare memoria dinamica in fase di

esecuzione

Gli attacchi si basano sulla sovrascrittura di variabili o di strutture di blocchi heap che contengono indirizzi (es. modifica nello heap: da “Access Denied” ad “Access Allowed”)

Questi tipi di attacchi sfruttano anche i puntatori, in modo da Questi tipi di attacchi sfruttano anche i puntatori, in modo da farli puntare ad farli puntare ad unun’’area gestita dal cracker.area gestita dal cracker.

Per difendersi: CODICE BEN SCRITTO !!!

Page 9: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

9Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Buffer Overflow [4/4]

Overflow di Heap, BSS, Dati

Inizialmente l’heap appare come segue:

• Una volta sovrascritto il buffer con il codice dell’exploit, è necessario trovare il modo per “saltarci dentro”, ovvero per dirottare il flusso di esecuzione all’interno del buffer modificato. L’idea èquella di sovrascrivere un puntatore al codice in modo da farlo puntare all’interno del buffer.

Es. Dando un argomento abbastanza lungo in ingresso ad una function èpossibile sovrascrivere un puntatore a funzione e dirottare il flusso del programma.

Page 10: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

10Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Masquerading, Proxy e anonimità [1/4]

Cosa differenzia un pessimo Cracker da un Cracker pericoloso ?

Diventare AnonimoDiventare Anonimo Coprire le proprie tracceCoprire le proprie tracce

AnonimitAnonimitàà:: Per qualsiasi cracker, Per qualsiasi cracker, èè assolutamente fondamentale rendersi anonimi: in caso di assolutamente fondamentale rendersi anonimi: in caso di scoperta, dovrscoperta, dovràà essere molto arduo poter risalire al reale esecutore dellessere molto arduo poter risalire al reale esecutore dell’’attaccoattacco

Totale AnonimitTotale Anonimitàà: IMPOSSIBILE !!!: IMPOSSIBILE !!!

Ma i Cracker pericolosi, prima di eseguire i propri attacchi si rendono anonimi sfruttando varie tecniche:

• Proxy Anonimi

• Proxy SOCKS

• Forzare Masquerading su Hosts NON hardenizzati

e loro concatenazione

• Account fasulli

• Darknets

Page 11: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

11Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Masquerading, Proxy e anonimità [2/4]

Spesso i Cracker, prima di eseguire un attacco, mirano ad impossessarsi di un sistema non hardenizzato, cioè non messo in sicurezza e dunque ampiamente vulnerabile

Su tale sistema, riescono a rendersi anonimi cancellando le proprie azioni dai file di log della macchina: a questo punto, dispongono di un campo base sicuro da cui poter sferrare i propri attacchi

In aggiunta a questa tecnica (o in rimpiazzamento), i cracker ottengono un alto grado di anonimitàeseguendo ll’’intrusione attraverso computer remotiintrusione attraverso computer remoti localizzati in varie zone del mondo

Trovare questi computers, non è sempre facile: le liste pubblicate on-line, spesso non sono attendibili.

I Cracker sfruttano però i propri canali sotterranei per reperirI Cracker sfruttano però i propri canali sotterranei per reperire gli IP di queste macchinee gli IP di queste macchine

DarknetsDarknets Proxy anonimiProxy anonimi Proxy SOCKSProxy SOCKS

Server che agiscono da proxy: ti colleghi e loro sostituiscono al tuo IP il proprio IP (non inviando al web server info sul nostro IP). Il 99% mantengono LOG. Molto Lenti (ma si può usare un MultiProxy).

Sono applicazioni per la comunicazione riservata in rete: “a collection of networks & technologies used to share digital content”. Sono Reti Anonimizzanti – Tor, Freenet, Invisible Internet Project.

Questi server consentono l’utilizzo di più protocolli, non solo HTTP: utilizzando SockCap, anche il classico Telnet di Windows può essere usato.

Page 12: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

12Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Masquerading, Proxy e anonimità [3/4]

TOR – The Onion Routing

EE’’ una rete di Proxy una rete di Proxy SocksSocks anonimizzantianonimizzanti costituita da costituita da nodi non paritetici:nodi non paritetici: •• ClientClient

•• RouterRouter (circa 1000)(circa 1000)•• Directory Server (circa 6)Directory Server (circa 6)

TOR: anonimizzazione di connessioni TCP

Navigazione Anonima Navigazione Anonima …… ma ma ……

NON BASTA !!!!NON BASTA !!!!

E poi, ci si deve fidare dei E poi, ci si deve fidare dei server intermedi server intermedi …… che che

comunque comunque logganologgano !!

Page 13: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

13Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Masquerading, Proxy e anonimità [3/4]

Un buon metodo di utilizzo di proxy anonimi e socks, è quello di concatenare sistemi provenienti da paesi con legislazione - relativa ad attacchi informatici - molto labile:

Concatenando Server in

Russia / Est Europa

Piccoli paesi asiatici

Nazioni africane / sudamericane

Molto difficile ottenere, da parte degli investigatori, i logs di provider di tali paesi ...

Ulteriore possibilità: impossessarsi di sistemi non hardenizzati e abilitare l’ “IP MASQUERADINGIP MASQUERADING”(SNAT) su di essa: modificando iptables e coprendo le tracce, sarà possibile agire dal proprio sistema (e

dunque bersagliare il reale obbiettivo) passando attraverso il sistema vittima che fungeràinconsapevolmente da NAT.

Molti sistemi con IP pubblici sono gestiti da newbie !!!

PC “ludico”: •• GiocoGioco

•• P2PP2P

•• ChatChat

Page 14: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

14Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Masquerading, Proxy e anonimità [4/4]

Scenario: Attacco ad una grande società

Un Cracker esegue l’attacco SOLO dopo essersi abbondantemente nascosto …

Più è grande / importante l’obiettivo da colpire, più sarà importante per lui coprire le proprie traccecoprire le proprie tracce. Le grosse società, quando colpite, subiscono danni ingenti e sono fortemente motivate a risalire al

colpevole.

CrackerCracker

ObiettivoObiettivo

NewbieNewbie usato come Ponteusato come Ponte MasqueradingMasquerading

Proxy anonimi africani, orientali, sudamericaniProxy anonimi africani, orientali, sudamericani

Page 15: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

15Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Piantare le tende nel sistema: Covering e Backdooor [1/3]

Violare un server aziendale NON è affar semplice … quando si riesce a penetrare, un Cracker cerca di rafforzare la propria posizione all’interno del sistema

Ottenere Ottenere priviliegipriviliegi RootRoot / / AdministratorAdministrator

Inoltre, il Cracker deve prevedere la possibilitInoltre, il Cracker deve prevedere la possibilitàà di essere scoperto: CREA metodi di ingresso di essere scoperto: CREA metodi di ingresso alternativi nel sistema (alternativi nel sistema (BakckdoorsBakckdoors))

High Privileges Different Ways Covering Tracks

Page 16: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

16Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Piantare le tende nel sistema: Covering e Backdooor [2/3]

Attività di Covering e di creazione Backdoor:

Esistono programmi (o insiemi di programmi), i ROOTKITSROOTKITS, in grado di fare un’escalation dei privilegiper ottenere i diritti di amministrazione del sistema

I rootkits manipolano direttamente il SO e permettono di creare ingressi alternativi nel sistema; i software più evoluti offrono servizi integrati di keystroke logger, sniffing, analisi dei difetti del sistema e generazione di trojan horse per generare backdoors.

Una volta installati sul sistema, i rootkits sono di difficile rilevazione

Rootkits: • Hacker Defender

Anti-Rootkits:• Rootkit Unhooker• RootkitRevealer• IceSword

Ad oggi, molto popolari sono i rootkits del Kernel Unix / Linux

Page 17: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

17Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Piantare le tende nel sistema: Covering e Backdooor [3/3]

Qualsiasi hacker (dai blackhat/whitehat in giù) si preoccupa, durante l’attacco, di coprire le proprie tracce.Praticamente ogni sistema informatico mantiene Log (più o meno accurati) delle attività svolte sul sistema:

Accessi Connessioni remote Attività sul sistema

Quando un amministratore si accorge di essere sotto attacco, utilizza come strumento principale i Log di sistema per capire la situazione e per porre rimedio.

Attività del Cracker:

• Disabilitare l’auditing• Pulire il registro eventi• Nascondere Files etc.• (Ri-abilitare l’auditing)

I Cracker più furbi, non cancellano i LOG, ma li modificano / inquinano

Page 18: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

18Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Difendersi dai Cracker

I nostri consigli (il Mini-Decalogo della Security)

1. Password Forti / Strong Authentication2. Installare sempre patch S.O. e applicativi3. Configurare Firewall in modo efficace4. Disabilitare Servizi non usati (XP ne lascia attivi molti di default)5. Mantenere attivo e aggiornato SW Antivirus / Antispyware6. Abilitare auditing e non snobbare i file di Log7. Documentarsi riguardo alle versioni di S.O. e SW utilizzato8. Installare sistemi IDS / IPS / HIDS9. Realizzare e mantenere efficienti sistemi di Backup10. Crittografia per la comunicazione

Siate Vigili !!!

Page 19: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

19Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Consigli

Volete diventare dei bravi Volete diventare dei bravi WhiteWhite HatHat ??

Documentatevi Documentatevi …… Esercitatevi Esercitatevi ……

Page 20: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

20Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

Domande e risposte

Domande ?

Page 21: La via dell’Hacker - AIEA...Lo stack contiene dati, variabili private, argomenti di funzione, indirizzi di ritorno a cui tornare quando termina la funzione …se ad es. il buffer

21Agire come un Hacker - 17 01 2008 - Altran Italia S.p.A.

www.altran.com