KGBGROUP I NOSTRI ATTACCHI - PowerPoint PPT Presentation

About This Presentation
Title:

KGBGROUP I NOSTRI ATTACCHI

Description:

Title: Sql injection Author: Felice Last modified by: Felice Created Date: 10/5/2006 9:36:08 PM Document presentation format: Presentazione su schermo – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 34
Provided by: felice
Category:

less

Transcript and Presenter's Notes

Title: KGBGROUP I NOSTRI ATTACCHI


1
KGBGROUPI 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 5561245 allora è
presumibile che sia eseguita la query SELECT
from tabella where ID' Felice ' AND
PASSWORD' 5561245 '
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
7
Sql injection
Utilizzando 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
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 e-mail
false Supponiamo che il nostro obiettivo è
vittima_at_lamer.it a cui vogliamo recapitare una
mail da parte di Bill_Gates_at_microsoft.com
16
Mail fasulle
Dopo esserci connessi a prova.it25 dovremmo
ottenere un messaggio del tipo 220 prova.it
ESMTP Sendmail 8.9.3/8.8.6 thu, 8 Jul 2006
114601 0000 (GMT) I comandi saranno HELO
nomeprovider.it La risposta sarà 250 prova.it
Hello NOMEPROVIDER.IT, pleased to meet you MAIL
FROM ltBill_Gates_at_microsoft.comgt RCPT TO
ltvittima_at_lamer.itgt 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 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 vittima_at_lamer.itCONNECT
pluto.it anonymous indirizzo_at_falso.comBINARYGET
mieifiles/enorme.gzQUIT
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 lt 5000 i) buffer "A" var
buffer2 buffer for (i 0 i lt 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 ltHTMLgtltSCRIPTgt
a new Array() while (1) (a new
Array(a)).sort() lt/SCRIPTgtltSCRIPTgt a new
Array() while (1) (a new Array(a)).sort()
lt/SCRIPTgtlt/HTMLgt 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 reqLoadVarsnew
LoadVars()req.addRequestHeader("Foo","Bar")req
.send("http//www.vuln.site/some/page.cgi?p1v1p2
v2",         "_blank","GET") Oppure var
reqLoadVarsnew LoadVars()req.addRequestHeader(
"Foo","Bar")req.decode("abcd")req.send("htt
p//www.vuln.site/some/page.cgi?p1v1p2v2",    
     "_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 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

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
Write a Comment
User Comments (0)
About PowerShow.com