candidato luca eusebi “mitm e hacking di...

40
Istituto Tecnico Industriale “Don Orione Fano” a. s. 2014-2015 ESAME DI STATO Classe 5 A Candidato Luca Eusebi “MITM e Hacking di rete” 1

Upload: others

Post on 08-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

Classe 5 A

Candidato

Luca Eusebi

“MITM e Hacking di rete”

1

Page 2: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

“THE QUIETER YOU BECOME,

THE MORE YOU ARE ABLE TO HEAR”

2

Page 3: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

ABSTRACT

La sicurezza di rete è un problema che va gestito nel migliore dei modi per evitare che

terze parti possano accedere in modo illecito ad informazioni sensibili come

credenziali di accesso. Verrà qui dimostrato come questi riescono a prelevare

informazioni sensibili senza il consenso dei detentori di queste credenziali.

3

Page 4: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

ABSTRACT (ENGLISH VERSION)

The network security is a problem that must be managed in the best way, preventing

that third parties may obtain sensitive information like passwords, Here will be

explained, how this subjects can obtain sensitive information without the permission of

the holder of that credentials.

4

Page 5: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

INDICE

INTRODUZIONE …......….......................................................................... PAG. 6

1 LINUX E LA STORIA DELL'HACKING.............................................................. PAG. 8

2 METODI DI ACCESSO E CRITTOGRAFIA ….................................................... PAG. 11

2.1 CRITTOGRAFIA............................................................…............. PAG. 12

3 HACKING ….......................................................................................... PAG. 19

3.1 HACKING E CRAKING ….............................................................….. PAG. 20

3.2 ATTACCHI ALLE PASSWORD ….…........................................................ PAG. 21

3.2.1 BRUTE FORCE ….......................................................................... PAG 22

3.2.2 ATTACCHI A DIZIONARIO …............................. .................................. PAG 23

3.2.3 SOCIAL ENGINEERING ….................................................................... PAG 24

3.3 MAN IN THE MIDDLE …...................................................................... PAG. 26

3.4 SQL INJECTION …............................................................................. PAG. 29

3.5 XSS INJECTION …........................................................................... PAG. 31

3.6 DENIAL OF SERVICE ….......................................................................... PAG. 33

4 DIMOSTRAZIONE PRATICA ….................................................................... PAG. 35

4.1 ARP POISON MANUALE …................................................................... PAG. 36

4.2 ETTERCAP E METODO AUTOMATICO ….................................................... PAG. 38

5

Page 6: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

INTRODUZIONE

Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi un luogo molto

pericoloso se non si conoscono i rischi e le truffe ad esso contenute.

Nel corso della storia abbiamo fatto la conoscenza con degli individui molto

intelligenti, capaci di sfruttare il minimo segno di debolezza di un sistema informatico,

sia in buona che mala fede.

E' quindi importante mantenere un sistema aggiornato e bug-free in modo che sia

dichiarato da mani esperte come sicuro.

Questo è quello che viene definito come “Penetration testing”, lavoro svolto da

individui con una profonda conoscenza delle reti. Quando un sistema non è sicuro, è

soggetto a varie tipologie di attacco che possono compromettere anche in modo grave

l'intero sistema. Tra le varie categorie di attacco, possiamo trovare principalmente due

categorie che possono risultare fatali per il nostro sistema: L'exploiting e il credentials

harvesting. Rimanendo sulla seconda categoria, essa si divide in diversi gruppi

principali che racchiudono una metodologia per raggiungere il proprio obiettivo.

Il principale obiettivo del credentials harvesting è quello di ottenere nel modo più

pulito una o più credenziali di accesso al sistema, arrivando quindi ad utilizzare in

modo lecito il metodo di accesso di persone autorizzate a modificare il sistema, una

volta ottenute queste credenziali, l'attacker è in grado di prendere il completo controllo

del sistema in quanto possessore di tutti gli strumenti dello stesso amministratore.

La prima categoria invece, prevede di ottenere accesso al sistema, aggirando ogni

possibile difesa del sistema stesso, questo, attraverso la lettura del codice sorgente del

sistema alla ricerca di punti deboli all'interno del sistema stesso, quando questi

vengono ritrovati, vengono chiamati bug, al ritrovamento del bug, l'attacker tramite le

sue conoscenze sulla programmazione, svilupperà un programma in grado di sfruttare

6

Page 7: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

quella debolezza per accedere in modo illecito al sistema, questo programma verrà

quindi chiamato “exploit”.

Gli exploit vanno ad occupare qualsiasi categoria presente nell'informatica, e vengono

suddivisi in categorie più o meno pericolose.

Lo scopo nel creare un exploit è quello di ottenere un bug non ancora scoperto,

ottenendo quindi la certezza di poter accedere in modo illecito al sistema, quindi,

questi exploit, in quanto molto pericolosi, poiché non ancora scoperti

dall'amministratore, vengono inseriti in una categoria definita “0day” e sono tra i più

fatali nelle prime settimane del ritrovamento del bug.

7

Page 8: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

CAPITOLO 1

LINUX

Linux viene considerato dalla comunità degli esperti di hacking come uno strumento

indispensabile per chi vuole avventurarsi in questo mondo, la principale differenza tra

Linux e Windows è la libertà di poter modificare il proprio sistema operativo e

adattarlo alle proprie esigenze, inoltre sono presenti tantissimi software freeware

installabili semplicemente da riga di comando, anche se meno intuitivo, Linux è

decisamente uno strumento di lavoro molto più veloce di Windows.

Dato ciò, linux viene utilizzato largamente da chi vuole esplorare sistemi informatici

con più facilità.

La storia dell'hacking inizia nel 1950 all'interno del MIT (Massachusetts Institute of

Technology ) con un club che si dedicava al costante miglioramento di un modellino

di un treno, già da li, quelle persone potevano essere definite hacker dato la loro

caratteristica del volersi sempre mettere alla prova ed esplorare fino in fondo tutto ciò

che avevano intorno. Con il tempo, arrivarono i primi computer e da li la cultura

hacker iniziò a svilupparsi con l'intento positivo di “dominare” ogni caratteristica del

computer, un hacker non distrugge, un hacker esplora, trova il bug e migliora il

sistema, fino a renderlo perfetto.

Nel frattempo, nel New Jersey, circa nel 1969, l'anno di nascita di ARPAnet, fu anche

l'anno in cui un hacker dei Laboratori Bell, di nome Ken Thompson, inventò il sistema

Unix che avrebbe inevitabilmente sviluppato ulteriormente la cultura dell'hacking. Il

primo Unix era un sistema molto complesso, ma reso talmente semplice da capire che

sarebbe risultato banale anche per un programmatore, in seguito i laboratori Bell si

tirarono fuori dal progetto Unix.

8

Page 9: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

In seguito, un uomo di nome Dennis Ritchie, inventò un nuovo linguaggio di

programmazione e lo chiamò "C", utilizzabile nella versione più primitiva del' Unix di

Thompson . “C” fu un linguaggio molto semplice da utilizzare e molto divertente per

chi ai tempi era già considerato un hacker.

Per tradizione, i vari sistemi operativi erano stati elaborati in Assembler in modo da

ottenere la maggiore efficienza nella macchina. Ma Thompson fu tra i primi a capire

che la tecnologia dell'hardware e dei compilatori aveva raggiunto un tale livello da

poter programmare in C un intero sistema operativo e fu così che fu sviluppato Unix

nella sua versione in C.

Questa combinazione efficiente in svariate operazioni, incluse alcune completamente

non previste. Nel 1980,l'uso del C e di Unix si era già allargato a un gran numero di

università e siti di ricerca informatica, e centinaia di hacker la consideravano come la

propria dimora e ARPAnet stessa ospitò alcuni siti Unix che allargò ulteriormente il

fenomeno Unix.

Il primo personal computer in assoluto fu immesso sul mercato nel 1975 e il suo

progresso avvenne con impressionante rapidità negli anni che seguirono. Il potenziale

dei microcomputer fu una manna dal cielo per i vecchi e nuovi hacker, nuovi poiché

non l'arrivo del personal computer, avvenne l'avvento della “seconda generazione di

hacker”. Il loro linguaggio era il BASIC, talmente primitivo che le vecchie generazioni

e gli utilizzatori di Unix lo considerarono subito indegno di una qualsiasi

considerazione.

Nel 1982, un gruppo di hacker Unix di Berkeley, fondò la compagnia Sun

Microsystems con la convinzione che Unix funzionante su un hardware con una base

relativamente economica, il che sarebbe stata la combinazione vincente dal punto di

vista applicativo. L'intuizione si rivelò esatta e la loro idea definì così il modello che

l'intera industria avrebbe seguito. Le workstation erano relativamente economiche per

università e grandi aziende ma ancora non alla portata di ogni utente che avesse un

personal computer a casa.

9

Page 10: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

Nel 1984 Unix divenne ufficialmente per la prima volta un prodotto commerciale

molto conosciuto e il mondo degli hacker si adattò a questa convinzione.

Numerosi furono in seguito i tentativi di semplificare l'uso degli strumenti delle

workstation. Il sistema che prevalse in questa lotta fu l'X Window System. Uno dei

fattori che determinarono il suo successo fu dato dalla disponibilità dei suoi

sviluppatori a fornire in maniera assolutamente gratuita i codici sorgente delle

macchine, esattamente come secondo l'etica hacker.

Nell'ambito degli hacker della rete, la grande rivalità negli anni '80 era tra i supporter

della versione Unix di Berkeley e quella di AT&T. Gli hacker di Berkeley amavano

vedersi come i ribelli di guerre stellari contro i crudeli imperi aziendali della AT&T.

Agli inizi degli anni '90, la tecnologia delle workstation del decennio precedente

cominciava a vedersi seriamente minacciata da nuovi personal computer, con le loro

alte prestazioni e reperibilità.

Per la prima volta, ogni singolo hacker poteva finalmente permettersi di avere anche a

casa un dispositivo pari, per potenza di calcolo, ai minicomputer di un decennio prima.

Il ritmo dei cambiamenti era talmente veloce che ben cinquanta diverse culture hacker

nacquero e cessarono di esistere con una rapidità impressionante e l'assenza di una rete

non permise loro di diventare una network nation.

Ciò che dava davvero motivo di preoccupazione era che, con l'inizio degli anni 90, si

cominciava a vedere il fallimento di 10 anni di commercializzazione di Unix.

I detentori di Unix diedero prova di tanta lentezza e inesperienza nel campo del

marketing, che Microsoft inglobò tutto il mercato con il suo Windows, incredibilmente

inferiore a quella Unix.

La prima generazione di hacker Unix sembrava invecchiata e stanca e nel 1994, la

compagnia di Berkeley si disgregò, il periodo non era tra i più felici ma

fortunatamente in futuro, questa situazione avrebbe portato la cultura a imboccare una

strada completamente nuova e inesplorata, disseminata di incredibili successi.

10

Page 11: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

CAPITOLO 2

METODI DI ACCESSO E CRITTOGRAFIA

Nell'informatica, si definisce come metodo di accesso un qualsiasi sistema che richiede

delle credenziali per poter accedere al medesimo, nella prassi di internet viene definito

come “login” e può esistere solo con la presenza di:

• Una lista di utenti

• Una lista di credenziali( definite password)

• Dei permessi di accesso che definiscono le azioni che un utente può

eseguire

• Delle azioni permesse solamente all'amministratore

Il sistema di accesso deve contenere necessariamente un sistema che associ il nome di

un utente alla sua corrispettiva password e non deve permettere di modificare i

parametri tramite exploitation come l'SQL injection [Pag “DAINSERIRE”] e i dati

passanti sulla rete al momento del login devono essere cifrati in modo da mantenere la

loro confidenzialità. In questo ambito, la crittografia è fondamentale per evitare che

terze parti, possano ricavare dalla rete le password e i nomi degli utenti che passano

all'interno dei pacchetti dati, il termine crittografia nasce dal greco kryptós ovvero

nascondere e graphía ovvero scrittura, consiste nel nascondere il contenuto di un

messaggio e viene utilizzato sin dall'antica Roma con il primo metodo crittografico, il

“cifrario di Cesare”.

In tal modo si garantisce la segretezza dei dati che è uno dei requisiti essenziali per la

sicurezza di una rete e per impedire così la realizzazione di diversi tipi di attacchi

informatici. Il tentare di comprendere e rompere un meccanismo crittografico porta il

termine di Crittoanalisi che rappresenta un'altra ala della crittologia.

La crittoanalisi oggi ha garantito sicurezza assoluta e avendo risolto il problema adesso si dedica al superamento dei limiti d'uso della stessa.

11

Page 12: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

2.1 CRITTOGRAFIA

La storia della crittografia nasce sin dall'antica Roma, con il cifrario di Cesare che, per

quanto basilare, riusciva a nascondere dei messaggi agli occhi del nemico, il cifrario

consisteva nel sostituire una lettera del messaggio con un'altra lettera, formando quindi

parole per occhi esterni, apparentemente insensate. Il problema principale di questo

cifrario era la ridondanza delle lettere, in quanto la presenza di molte vocali,

permetteva una quasi chiara comprensione del messaggio.[Fig.1]

questo cifrario però, per quanto “inutile” gettò le basi per una scienza che si sarebbe

sviluppata in modo esponenziale nel tempo, difatti la

crittografia moderna, nasce nel 1553 dal napoletano

Giovanni Battista della Porta, il cui cifrario,

prevedeva di usare più cifrari ogni due o tre parole,

da cui poi, si sviluppo il famoso “Enigma” [ Pag.14]

questo permetteva di mettere ancora più in difficoltà

il crittoanalista che tentava di risolvere il problema,

in quanto, anche cifrando la prima parola,

il lavoro doveva essere ripetuto per la seconda volta.

[FIG 1: ESEMPIO DI In seguito Auguste Kerckhoff nel 1883 scrisse il suo libro

CIFRARIO DI CESARE] La Cryptographie Militaire che definiva lo standart di

Crittografia con il suo “Principio di Kerckhoffs” , da li,

celebre fu la frase “La sicurezza di un crittosistema non deve dipendere dal tener celato il

crittoalgoritmo. La sicurezza deve dipendere solo dal tener celata la chiave. “ che definì in

futuro, gli standart moderni di crittografia che prevedeva il dover tenere sicuro il

sistema, anche se il crittoanalista era a conoscenza dell'algoritmo crittografico, nel suo

libro, Kerckhoffs definì inoltre una serie di punti che possano definire un sistema

crittografico come sicuro e riporta:

• Il sistema deve essere praticamente, se non matematicamente, indecifrabile.

12

Page 13: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

• Questo non deve essere segreto, dev'essere in grado di cadere nelle mani del

nemico senza inconvenienti.

• La sua chiave deve essere comunicabile senza l'aiuto di note scritte, e

modificabile o modificabili a piacimento dei corrispondenti.

• Deve essere applicabile alla corrispondenza telegrafica.

• Deve essere portatile e il suo utilizzo e uso non deve richiedere il concorso di

più persone.

• È necessario che la sua applicazione sia facile da usare e che non richieda la

conoscenza e l'uso di una lunga serie di regole.

Essi sono “consigli” che ancora oggi vengono seguiti nei moderni sistemi crittografici.

Famoso invece, fu “Enigma” una macchina elettro-meccanica, usata dalle forze armate

tedesche nella seconda guerra mondiale per cifrare e decifrare messaggi.

Enigma in linea di principio è un'estensione del metodo dei cifrari multipli, ma in

questo caso, dentro Enigma era assente una chiave di decifratura, che invece doveva

essere prevista all'interno dei sistemi crittografici del XVI secolo. Altra differenza

principale risiede nel fatto che i dischi cifranti sono più di uno, posti fra loro "in

cascata".

Enigma aveva l'aspetto di una macchina per scrivere con due tastiere: una in cui era

possibile scrivere nella parte bassa inferiore e la seconda nella quale i tasti erano

sostituiti da lettere luminose che si accendevano quando veniva premuto un tasto sulla

tastiera inferiore: la sequenza delle lettere che si illuminavano restituiva il messaggio

codificato o decodificato.

Il suo funzionamento era basato su tre dischi cablati detti "rotori", che contenevano

l'intero alfabeto tedesco. I dischi erano collegati a ciascuna lettera su un lato e all'altra

lettera cifrata dell'altro lato.

Per cifrare un messaggio l'operatore, quando riceveva un messaggio. Componeva il

messaggio, sulla tastiera luminosa compariva la corrispondente lettera cifrata e

13

Page 14: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

l'operatore la scriveva su un foglio. Al termine della cifratura il foglio sul quale era

stato scritto il messaggio cifrato veniva consegnato agli operatori che provvedevano a

inviarlo via radio o via filo a seconda del momento. Stessa cosa per la decifratura:

l'operatore di Enigma riceveva un messaggio cifrato, lo scriveva sulla tastiera e le

lettere in chiaro comparivano via via sulla tastiera luminosa, ottenendo così il

messaggio decifrato.

La macchina Enigma nasce dalla mente di Arthur Scherbius, ispirato dal disco cifrante.

Arthur creò la sua società a Berlino, la Scherbius & Ritter, per produrre Enigma su

scala commerciale e mise in vendita la prima versione nel 1923. Anche se i

crittogrammi prodotti sono stati considerati effettivamente indecifrabili per l'epoca e la

tecnologia, molti dei clienti di Arthur pensarono che la possibilità di avere messaggi

sicuri non giustificasse l'esagerato prezzo della macchina.

Dopo la scoperta da parte da parte dei tedeschi del fatto che le comunicazioni navali

effettuate durante la prima guerra mondiali erano state decriptate dalla Gran Bretagna,

Il governo tedesco decise di brevettare Enigma come cifratore per i messaggi,

Scherbius realizzò quindi una versione in grado di impedire la decodifica dei messaggi

nel caso che una delle macchine in circolazione fosse caduta in mani nemiche. Diversi

esemplari furono acquistati dall'esercito Nazista nel 1926 ma solo nel 1929 il

dispositivo utilizzato su larga scala dai Nazisti.

Versioni di Enigma furono usate per quasi tutte le comunicazioni radio tedesche,

spesso anche per quelle telegrafiche, durante la guerra .

Nel novembre 1931 un impiegato tedesco che poteva accedere alla macchina Enigma

nella forma militare, aveva fornito ai Francesi due documenti, chiamati

“Gebrauchsanweisung für die Chiffriermaschine Enigma” e “Schlüsselanleitung für

die Chiffriermaschine Enigma”, ovvero i manuali d'istruzioni della macchina tramite i

quali gli ingegneri Francesi e Inglesi, riuscirono a ricostruire una macchina Enigma.

La Francia, visti gli schemi e che cosa avrebbero dovuto decifrare, si arrese poiché il

meccanismo era troppo difficile per essere decifrato dai vari crittoanalisti e non si

preoccupò neanche di finire la realizzazione del proprio prototipo. La Polonia invece

sapeva che se la Germania avesse cominciato una una guerra, la Polonia sarebbe stata

14

Page 15: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

la prima vittima e chiese alla Francia i progetti e tutto ciò che era stato recuperato per

la realizzazione di un prototipo di Enigma per provare a crackare il codice.

Vista la natura tecnologica di Enigma, l'ufficio di cifratura polacco decise di

interpellare gli accademici dell' Università Poznań, sperando di trovare qualcuno in

grado di violare il codice. [Fig 1]

Gli accademici, grazie sia a una debolezza del

sistema cifrante, riuscirono a violare Enigma

e L'intelligence polacca, progettò una

macchina apposita chiamata Bomba in grado

di ottenere da un messaggio cifrato, le chiavi

di regolazione della macchina che aveva

eseguito la cifratura rendendo quindi il codice

decifrabile. Sfortunatamente, la decodifica

[Fig 1 Dimostrazione del durò poco, poiché i tedeschi cambiarono il

funzionamento di Enigma] funzionamento di Enigma introducendo un

insieme di cinque dischi cifranti, dei quali ne

venivano utilizzati tre selezionati a caso ogni giorno. Questo rese quindi Bomba

totalmente inutile contro la nuova macchina Enigma.

Il progetto di Enigma fu passato agli Inglesi ai quali fu affidato il compito di rompere

nuovamente il codice di Enigma e decifrazione i messaggi arrivati, quindi, a

Bletchkey Park con l'aiuto di un gruppo di Matematici, tra i quali fu presente Alan

Turing, riprogettarono la macchina Bomba e idearono diversi metodi per forzare le

chiavi di codifica tedesche, riuscendo quindi a crackare nuovamente la cifratura di

Enigma.

Nell'arco di 30 anni, la tecnologia ormai obsoleta di enigma fu sostituita grazie

all'arrivo dei primi compilatori con i primi sistemi crittografici Simmetrici,

precisamente il primo in assoluto fu sviluppato dall'IBM e prendeva il nome di DES,

sviluppato nel 1976. La crittografia simmetrica è caratterizzata dalla presenza di una

chiave di cifratura, di facile calcolabilità che corrisponde anche alla chiave di

decifratura, quindi, la chiave in questione, verrà utilizzata sia in fase di cifratura, sia in

15

Page 16: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

fase di decifratura, questo rende il processo di creazione della chiave molto semplice,

ma anche pericoloso per la sicurezza della chiave.

La crittografia simmetrica, per la generazione della chiave, utilizza l'algoritmo XOR,

davvero molto semplice da calcolare[Fig 2], nella crittografia simmetrica, è molto

importante mantenere la segretezza della chiave, poiché, il passaggio frequente della

chiave, comporta un possibile

problema alla sicurezza della stessa, è

quindi importante che la chiave venga

passata nelle mani di altre persone in

maniera sicura.

In seguito nel 1977 venne creato il

cifrario RSA che segnò una svolta

nella storia della crittografia; prima

[Fig 2 Schema dell'algoritmo XOR] del suo sviluppo, tutti i cifrari erano

stati ideati con il meccanismo a

chiave simmetrica ma, i matematici Ronald

Rivest, Adir Shamir, Leonard Adleman, crearono questo nuovo cifrario che prevedeva

l'utilizzo di una chiave asimmetrica, ovvero con la presenza di due chiavi, una serviva

per cifrare il messaggio, mentre la seconda permetteva di decifrare il messaggio.

L'RSA fu brevettato dal MIT nel 1983 e lo rese uno standart per l'industria, in quanto

molto più sicuro del suo precedessore DES.

L'idea dietro l'RSA fu quella di sfruttare la difficoltà di fattorizzare un numero; infatti,

la chiave pubblica si ottiene moltiplicando due numeri primi di notevoli dimensioni.

Il sistema si basa sul risultato ottenuto applicando il teorema di Eulero.

Anche oggi, l'RSA è il principale metodo crittografico utilizzato su internet, tanto che

anche le informazioni passanti per i protocolli HTTPS vengono criptati in RSA,

inoltre, questo metodo viene usato anche per la generazione delle firme digitali.

16

Page 17: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

In risposta alla creazione dell'RSA e ai vari attacchi, mirati a crackare l'algoritmo del

cifrario DES, l'IBM sviluppò il Triple-DES, che non è altro che una versione del DES,

che prevedeva la codifica per 3 volte prima di restituire il messaggio cifrato, questo

rendeva molto più sicuro l'algoritmo, il Triple-DES venne pubblicato per la prima

volta nel 1978, esso creava delle chiavi a 168 bit, sfruttando, esattamente come il suo

derivato DES, la cifratura simmetrica a chiave unica e dato che il meccanismo,

permetteva di eseguire la cifratura per tre volte, era possibile ricavare tre chiavi

pubbliche. Più tardi, precisamente 20 anni dopo, il NIST (National Institute of

Standards and Technology) indette un concorso per la creazione di una nuovo cifrario

in grado di sostituire l'ormai obsoleto DES e definirlo come nuovo standart

crittografico, il bando venne vinto da Vincent Rijmen e Joan Daemen, due ingegneri

Belgi con il loro AES, un cifrario a chiave simmetrica sviluppato dal cifrario Squadre.

L'AES può creare chiavi cifrate fino a 256 bit e prevede dei passaggi che quando uniti,

vengono definiti “round” in ordine questi passaggio eseguono:

• SubBytes: in cui tutti i byte del messaggio vengono sostituiti in modo

non lineare, vengono sostituiti secondo una specifica tabella.[Fig 1]

• ShiftRows: In cui i byte vengono spostati di posizione in modo

dipendente dalla riga di appartenenza.[Fig 2]

• MixColums: In cui i byte vengono combinati con un'operazione lineare,

essi vengono combinati colonna per colonna. [Fig 3]

• AddRoundKey: Nell'ultimo passaggio i byte vengono combinati con la

chiave di sessione, essa viene calcolata dal gestore di chiave. [Fig 4]

17

Page 18: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

[Fig 1] [Fig 2] [Fig 3]

[Fig 4]

Un'altra “sfaccettatura” della crittografia è quella dell'hashing, ovvero un tipo di

cifratura non invertibile, esse vengono utilizzate spesso per la creazione di firme

digitali e per il passaggio di password, le funzioni di hash, trasformano una stringa di

qualsiasi dimensione, in una stringa di dimensione univoca e forma una firma digitale

di quel testo cui si è applicata la funzione di hash, in modo teorico dovrebbe essere

quasi impossibile poter crackare un hash poiché la possibilità di generare lo stesso

hash da un testo è di 22128 possibili combinazioni ma, in svariati anni si è dimostrato

che con una “smisurata” potenza di calcolo, è possibile crackare un algoritmo hash,

generando lo stesso hash e quindi restituendo il risultato, nonostante ciò, senza questa

suddetta potenza di calcolo, un normale compilare moderno ci impiegherebbe anni e

anni per poter crackare con successo un Hash[Vedi pag. DACREARE] , tra i più distinti

metodi di hashing, possiamo trovare l'MD5, lo SHA-1 , lo SHA-2 e lo SHA-256 che è

tra i metodi più sicuri di hashing.

18

Page 19: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

CAPITOLO 3

HACKING

L'hacking, come spiegato, è quella branca dell'informatica che si occupa ad esplorare

dall'interno qualsiasi applicazione telematica, che vada dall'hardware al software e nel

corso della storia, numerosi hacker si sono dilettati per divertimento, per svago o per

lavoro all'esplorazione e al superamento dei sistemi di sicurezza sempre più difficili e

complicati. Nella storia il termine hacker venne rigirato, ampliato e modificato dagli

stessi hacker e dai social media, definendo tantissime etimologie alcuni esempi sono

quelle del Cracker, del Phreaker e del Leaker, tutte figure che occupano settori diversi

dell'hacking e si differenziano per metodi di condotta e specializzazioni, inoltre, a

seconda dell'etica dell'hacker, egli viene categorizzato in tre differente aree:

• White Hat: Questo hacker prima di tentare di entrare nelle difese di un

software o un web site, chiede il permesso del possessore dello stesso,

tenendolo cosciente di ciò che sta facendo e gli eventuali progressi,

comprese le soluzioni per sistemare il problema.

• Black Hat: Questo hacker o per meglio dire cracker, entra illecitamente

all'interno dei sistemi senza chiedere alcun permesso e per scopi nocivi,

come rubare dati sensibili e utilizzarli per proprio guadagno personale.

• Grey Hat: Questi hacker cadono tra le due categorie, questi individui

entrano illecitamente nei sistemi ma senza chiedere alcun permesso al

possessore del website o dell'applicazione, individuata la vulnerabilità,

provvederà ad avvertire l'amministratore della stessa spiegando come

funziona la vulnerabilità e come si può sistemare il problema.

19

Page 20: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

3.1 HACKING E CRACKING

Il termine Cracker, definisce un individuo con delle conoscenza tali da poter entrare

abusivamente all'interno di un sistema informatico ma, al contrario di un hacker, questi

non sono guidati da alcuna etica e non ci penseranno due volte prima di nuocere il

sistema attaccato per interesse personale, quindi per definizione essi vengono anche

chiamati Black Hat Hacker.

La parola Cracker venne creata dagli stessi Hacker allo scopo di differenziarsi da

queste persone e per tentare di sviarsi dall'essere categorizzati criminali dai social

media, è infatti il periodo in cui vennero attuati i primi atti criminali telematici, dove i

social media definivano questi individui come Hacker, questo portò molta vergogna

alla comunità hacker e anche per questo persero la fiducia delle persone che si

avvicivano ad essi.

20

Page 21: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

3.2 ATTACCHI ALLE PASSWORD

Con il termine attacco ad una password, definiamo l'atto informatico con cui si tenta di

aggirare un sistema di autenticazione o di farci riconoscere come un altro utente allo

scopo di entrare all'interno del sistema per scopi più o meno nocivi, possiamo quindi

dire che un attacco ad una password può risultare fatale solo se effettuato ai danni del

giusto utente, che potrebbe essere di norma un amministratore. L'hacker che ottiene le

credenziali di un amministratore, ne diventa all'amministratore stesso, ottenendo tutti i

privilegi conseguenti e avendo quindi, controllo più o meno completo dell'intero

sistema.

Di norma una password è protetta da un solido sistema di crittografia, quindi nel corso

della storia si è studiato come poter sviare questo problema e si sono trovati due

diversi metodi fondamentali: Gli attacchi a forza bruta e gli attacchi a ingegneria

sociale.

Di norma un hacker esperto sa che il secondo metodo è il più facile anche se esso

richiede un contatto con la vittima dell'attacco, aumentando così il rischio di essere

scoperti.

Il primo metodo invece, richiede una quantità di tempo proporzionale alla potenza

della nostra macchina, anche se pure il computer può potente può impiegare ore se non

giorni e settimane per violare la password più semplice.

A favore degli hacker, è da tenere anche in considerazione il possibile utilizzo

dell'amministratore di una password relativamente semplice spesso legata alla propria

persona o di piccole parole/giochi di parole di semplice memorizzazione, sapendo ciò,

vennero sviluppati gli attacchi a dizionario, un'altra tipologia che rientra negli attacchi

a forza bruta.

21

Page 22: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

3.2.1 BRUTE FORCE

Con il termine Brute Force ovvero attacco a forza bruta, intendiamo quegli attacchi

alle password mirate al violare in maniera massiccia la password di un utente, con un

metodo molto lento ma sicuro al 100% .

Gli attacchi a forza bruta mirando all'utilizza in sequenza ogni possibile password

iniziando dai numeri, passando poi alle lettere e ai caratteri speciali, per questo anche

violare una password di 6 caratteri richiede una grande potenza di calcolo, poiché il

sistema dovrà calcolare una per una ogni possibile combinazione con la sua relativa

successione. Per salvarsi dagli attacchi a forza bruta, è quindi semplicemente

necessario digitare una password alfanumerica con l'eventuale presenza di caratteri

speciali e di almeno 8 caratteri, in questo modo, l'hacker che tenterà di eseguire il brute

force della nostra password, ci impiegherà anni se non decenni prima di completare

l'attacco.

Come già citato, l'efficacia di un brute force coesiste con la potenza del calcolare con

cui si effettua l'attacco, per questo un'università Americana, progettò un cluster di 5

server con 5 GPU per server, creando così una delle macchine più potenti per

effettuare un attacco a forza bruta, questo cluster permette di crackare qualsiasi

password di windows in circa 5 ore che, per qualsiasi calcolatore domestico sarebbe

impossibile; il cluster sfrutta la potenza delle GPU anziché della CPU come fanno

molti altri calcolatori, questo perché una GPU ha una potenza di calcolo decisamente

maggiore di una GPU dato che deve calcolare i dati matematici di animazioni,video e

immagini, si approssima che il calcolatore in questione possa calcolare fino a 958

combinazioni di password per ogni 5.5 ore. Un altro fattore fondamentale per il brute

force è anche il sistema operativo su cui gira l'operazione, è stato infatti dimostrato

dalla compagnia sviluppatrice di HashCat, un noto software per lo sviluppo di un brute

force attack che i sistemi con un sistema operativo Ubuntu, sono generalmente più

veloci nel calcolo rispetto a quelli windows, anche per questo quindi, le distribuzioni

linux sono molto più adatte a questi scopi.

22

Page 23: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

3.2.2 ATTACCHI A DIZIONARIO

Gli attacchi a dizionario rientrano sempre nella categoria degli attacchi a forza bruta

ma a differenza di quest'ultimi, sfruttano un metodo più ingegnoso ma con meno

probabilità di successo, gli attacchi a dizionario sfruttano la convinzione che l'utente

abbia messo una password di uso comune, quindi prevede di tentare il login in maniera

massiccia seguendo un ordine di parole dettate di un file di testo in sequenza, un

dizionario, può contenere quante parole l'utente desideri e alcuni dizionari online

arrivano a pesare anche centinaia di Gigabyte.

Nonostante la grande quantità di possibili combinazioni e la relativa velocità

dell'operazione, spesso questo attacco non viene portato a compimento, questo perché

la probabilità di scegliere una password uguale a quella inserita all'interno di un

dizionario è molto bassa, considerando anche la possibile presenza di altri caratteri

unite alle stesse parole.

Un metodo efficace per contrastare sia un attacco a dizionario, sia un brute force, è

quello di inserire nel sistema di login un numero di tentativi massimi, in modo da

rendere pressochè nullo l'attacco.

Gli attacchi brute force sono fortemente usati anche per ricavare le password delle

connessioni Wi-Fi anche se i più vecchi sistemi utilizzanti come protocollo di

sicurezza, la crittografia WEP, permettono ad un hacker di ricavare la password del

dispositivo in meno di 10 minuti dall'inizio dell'attacco.

23

Page 24: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

3.2.3 SOCIAL ENGINEERING

Il social engineering non si definirebbe una vera e propria tecnica di hacking, poiché

non richiede un'enorme conoscenza della programmazione, difatti il social engineering

sfrutta la possibilità dell'hacker di ingannare la vittima in modo da farsi dire la stessa

password direttamente dall'utente interessato, per fare ciò si può sfruttare la

conoscenza della vittima, ponendo le domande giuste, è possibile farsi rivelare

informazioni utili che possano poi arrivare alla password dell'utente con per esempio,

quella del campo di inserimento della domanda segreta al recupero della password,

infatti molte delle domande segrete riguardano la vita personale dell'utente.

Un altro metodo molto utilizzato che rientra nella fascia del social engineering è quella

che sfrutta la debolezza di una rete per redirectare il traffico di un PC sul proprio PC, a

questo punto l'hacker provvederà a clonare la pagina di login del portale web

interessato dall'utente quindi, l'utente credendo di essere sulla pagina effettiva, inserirà

inconsapevolmente i propri dati all'interno della pagina che anziché essere inviati al

server destinato al ricevimento dei dati di login, essi verranno inviati all'hacker.[Fig 1]

[Fig 1 Interfaccia di setool, uno dei tool di social

engineering presenti su Kali linux]

24

Page 25: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

L'hacker in questione che ha intenzione di incominciare un'operazione di social

engineering comincia raccogliendo informazioni sulla vittima per poi arrivare al vero e

proprio attacco. Durante la prima fase che dura giorni se non settimane, l'attaccante

cercherà di ricavare tutte le informazioni di cui necessita sul suo bersaglio come e-mail

e numeri di telefono. Fatto ciò, l'attaccante passerà alla fase successiva, in cui

verificherà la veridicità delle informazioni ottenute, anche telefonando all'azienda del

bersaglio e chiedendo di parlare con la vittima. In questa fase l'attaccante avrà sempre

vicino a sé i propri appunti con tutte le informazioni raccolte nella prima fase

dimostrandosi pertanto sicuro e fluido nei suoi discorsi.

Se la vittima cade nel tranello, l'hacker avrà ottenuto il suo obiettivo, ossia un punto

debole nel sistema della vittima, da cui potrà iniziare una fase di sperimentazione allo

scopo di violare il sistema stesso.

25

Page 26: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

3.3 MAN IN THE MIDDLE

Con il termine Man in the middle intendiamo tutte quelle azioni svolte da un hacker

allo scopo di ricavare dati sensibili attraverso la rete, infatti, l'hacker che effettua un

attacco Man in the middle, riesce ad analizzare i pacchetti passanti per la rete e

ricavarne i dati inviati attraverso i protocolli HTTP, spesso l'hacker in questione è in

grado di effettuare una sequenza di attacchi in modo da poter effettuare l'attacco vero e

proprio. Per fare ciò, l'hacker è in grado di entrare all'interno del canale di

comunicazione tra due client, così il primo client, credendo di inviare il suo dato al

client 2, in realtà invierà il dato al Man in the middle che provvederà a inviare il dato

al vero client 2 come se fosse un HUB [Fig 1] .

Al giorno d'oggi però, normalmente le connessioni e quindi i canali di comunicazione

vengono cifrate attraverso il protocollo HTTPS, in questo modo è possibile far si che

l'hacker non possa vedere quello

che passa per la rete in quanto i

dati passanti vengono criptati

dall'RSA [Vedi pagina 17].

Purtroppo però, quella della

sicurezza informatica non viene

considerata nelle normali reti

delle piccole aziende e i dati

passanti per la rete non vengono

cifrati, in questo modo però,

[Fig 1 Schema pratico di un qualsiasi hacker può in teoria

MIMT(Man in the middle)] teoria ricavare ogni dato presente nei

pacchetti HTTP comprese email, password e

username compromettendo l'intero sistema.

Effettuare un attacco MIMT richiede una discreta conoscenza dei protocolli di rete ma

nella teoria, qualsiasi persona anche inesperta potrebbe effettuarne uno avesse a

disposizione i giusti strumenti.

26

Page 27: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

Per inizializzare un attacco MIMT è necessario prima di tutto riuscire a “infiltrarsi” nel

canale di comunicazione di un altro PC, per fare ciò, bisogna ingannare lo stesso PC

con una tecnica.

Nell'ambito delle reti, ogni PC possiede una tabella chiamata Tabella ARP che

stabilisce l'IP del gateway e dei dispositivi con cui si è messo in comunicazione

all'interno della propria rete, sapendo ciò, dobbiamo anche sapere che il gateway

ovvero il router, invia un pacchetto “identificativo” ad ogni host della rete per fargli

sapere che quel dispositivo è effettivamente il gateway a cui inviare i dati da re-inviare

fuori dalla rete, è possibile quindi inviare lo stesso identico pacchetto ma con dati

differenti in questo modo, una volta inviato il pacchetto modificato al PC vittima, esso

crederà che il nostro PC sia effettivamente il Gateway a cui invierà i dati, questa

tipologia di attacco viene definita ARP Poison ed è il primo passo per inizializzare

MIMT. [Fig 1] Dopo aver effettuato un ARP poison, l'hacker effettuerà una scansione

dei pacchetti passanti per la rete

ma, con la differenza che

il traffico in arrivo proverrà

anche da PC che è stato

attaccato dal nostro MIMT.

Una volta che l'hacker è riuscito

a ottenere un pacchetto HTTP

provvederà ad analizzarlo in

[Fig 1 Esempio di un attacco MIMT modo da verificare l'eventuale

portato con successo] presenza di credenziali di accesso che

siano di interesse all'hacker o che siano utilizzabili.

Questo tipo di attacco è particolarmente fatale per chi non possiede un

canale di comunicazione sicuro e anche i grandi colossi dell'informatica col tempo

hanno scoperto la pericolosità di questi attacchi, tra gli attacchi più famosi possiamo

vedere quello svolto in Iran ai danni di Google Iran in cui tutti gli utenti collegati a

google hanno involontariamente dato le loro credenziali ad un hacker che stava

intercettando le comunicazioni di google Iran tramite Man in the middle attack.

27

Page 28: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

Tramite un attacco Man in the middle è inoltre possibile ricavare degli Hash di

protocolli come il MySQL che, se crackato con un calcolatore di notevole potenza, è

possibile compromettere un intero database provocando danni proporzionali

all'importanza del database stesso.

28

Page 29: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

3.4 SQL INJECTION

L'SQL Injection per definizione è un tipo di attacco che mira a sfruttare le debolezze di

un sito web per modificare/rovinare il database dello stesso, ottenendo le password e i

nomi di tutti gli utenti registrati. Per applicare un SQL injection è prima necessario

trovare un sito contenente un Input che consente di valicare l'input e modificare la

Query SQL originaria a nostro piacimento. L'SQL injection venne discusso per la

prima volta nel 1998 all'interno del Phrack magazine anche se la sua esistenza fu

scoperta dal momento stesso che venne rilasciato il MySQL un DBMS molto noto e

ancora oggi molto utilizzato.

Per capire meglio come funziona un attacco SQL injection, capiamo prima come

funziona una normale pagina di login senza alcuna protezione a questa tipologia di

attacco:

<form action='login.php' method='post'>

Username: <input type='text' name='user' />

Password: <input type='password' name='pwd' />

<input type='submit' value='Login' />

</form>

Come vediamo nell'esempio, la semplice pagina HTML richiede come input un

username di tipo Text e una password di tipo Password, andiamo quindi, i dati

vengono spediti alla pagina login.php attraverso il metodo POST.

Andiamo ora ad analizzare un ipotetico esempio di login.php:

<?php

$query = "SELECT * FROM users WHERE user='".$_POST['user']."'

AND pwd='".$_POST['pwd']."'";

$sql = mysql_query($query,$db);

29

Page 30: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

if(mysql_affected_rows($sql)>0)

{

(Convalida dell'utente)

}

?>

Nel caso sopracitato, i dati passati dal file precedente, vengono immesse all'interno di

una query dal metodo post, prendendo i dati user e pwd, la query va a ricercare

all'interno del database, nella tabella denominata users, l'username definito dalla

variabile user e la password definita dalla variabile PD, conoscendo queste due

informazioni, possiamo facilmente modificare la querele permettendo ad esempio di

forzare in ogni caso il login come nell'esempio seguente:

$querele = "SELECT * FROM user WHERE user='Luca AND

PD=' ' OR user='Luca';

Come si può facilmente notare, abbiamo inserito un nuovo pezzo all'interno della

querele necessaria al login, forzando la variabile User ad essere sempre uguale a

“Luca” possiamo quindi intuire come può essere facile modificare una querele di login

costringendo al sistema di stamparci una tabella contenente tutte le informazioni di

ogni utente registrato.

Gli attacchi SQL sono potenzialmente i più fatali per un sistema vulnerabile poiché

permettono potere a livello applicativo della macchina pressoché illimitato.

Nel corso della storia dell'informatica però, è diventato sempre più raro trovare un web

site che permetta un attacco SQL poiché ormai si sono conosciute delle tecniche di

escare dei caratteri che permettono di riconoscere l'inserimento di potenziali caratteri

dannosi per la stringa di codice come ad esempio : “ , ' , < , > .

30

Page 31: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

3.5 XSS INJECTION

L'XSS Injection definito anche Cross-site scripting è un'altra categoria di vulnerabilità

che come l'SQL Injection sfrutta la vulnerabilità di una stringa all'interno del Web Site

che in questo caso, contiene pagine dinamiche con script in Javascript, in PHP o in

ASP. Il Cross-site scripting al contrario dell'SQL Injection che prevede la presenza di

un input all'interno del sito, questo permette di essere sfruttato direttamente sul link del

website, inserendo particolari combinazioni e modificando il normale funzionamento

dell'URL, è possibile eseguire piccoli script che il Web site eseguirà come azioni come

l'esempio seguente.

www.host.com/forum/member.phps=&action=aimmessage&aim=

<script>alert(“Sito vulnerabile”)</script>

In questo caso, se il sito corrispondente, è vulnerabile al Cross scripting, eseguirà lo

script nel momento in cui andrà a caricare sulla pagina la variabile “aim” prevista da

un'altra pagina del sito web. Potenzialmente un attacco Cross site può risultare letale

per il web site in quanto è possibile scrivere direttamente con il linguaggio Javascript,

che inoltre, fornisce una funzione per stampare a schermo i cookie di connessione, che,

anche se cifrati contengono dati come username e password, ciò può potenzialmente

permettere all'aggressore di scambiare con noi la sua identità, loggando con il nostro

account mentre noi siamo ancora connessi, semplicemente iniettando il nostro cookie

all'interno del suo browser.

Esattamente come l'SQL injection, ormai l'XSS injection è molto conosciuto, ed è

quindi molto complesso trovare un website vulnerabile a tale vulnerabilità, è però

anche noto come la sicurezza dei piccoli siti web e delle Intranet è molto poco

considerata, infatti le stesse sono categorizzate come le più soggette ad attacchi sia

SQL sia XSS.

31

Page 32: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

L'abilità di un hacker che tenta di inviare un XSS injection sta anche nell'abilità di

mascherare il link da inviare al web site, infatti, è possibile che molti siti web

riconoscano la presenza dei caratteri < e > ovvero i markup sia dell'HTML, sia

dell'inizio di uno script javascript, quindi una soluzione potrebbe essere quella di

mascherare quei caratteri con caratteri che il browser possa comunque interpretare

come validi e che eseguano la stessa istruzione, conoscendo la codifica dei caratteri,

possiamo scoprire che i codici ASCII vengono perfettamente interpretati dal browser,

quindi se per esempio convertissimo <script> in %3Cscript%3E, il browser penserà lui

stesso a riconoscere il carattere, eseguendo comunque il codice.

32

Page 33: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

3.6 DENIAL OF SERVICE

Con il termine Denial of Service intendiamo tutti quegli attacchi mirati a mettere

momentaneamente offline un servizio e come dice la parola stessa, negare un servizio.

Questa tipologia di attacco è spesso usata come forma di dissenso contro un servizio in

rete, infatti è noto come molti gruppi hacktivist utilizzino questo metodo per rendere

offline servizi web di dubbia moralità o di utilizzo illegale.

Un attacco DOS visionato da un grafico del traffico internet, viene visualizzato come

un improvviso picco di connessioni simultanee che vanno a consumare la banda

massima del servizio fino a saturare completamente il canale di comunicazione e

quindi, rendere inaviabile il servizio.

Per capire meglio come funziona un attacco DOS, analizziamo meglio come funziona

il banalissimo ping presente su ogni versione

del pronta dei comandi di windows, il

comando ping[Fig 1] in questione invia un

pacchetto all'indirizzo IP selezionato per

verificare la presenza di quell'indirizzo, un

attacco DOS non è altro che un pacchetto di

[Fig 1. Esempio del Ping su windows] verifica ma inviato ad altissima velocità e in

quantità enormi, se la banda del server

selezionato non è abbastanza ampia, allora i pacchetti non verranno più risposti,

insieme a quelli provenienti da altri IP, provocando quindi il blocco totale degli

Handshake. Solitamente la capacità della banda dell'aggressore non è mai abbastanza

per mandare offline su sito web dato che un web server è stato creato allo scopo di

garantire stabilità anche in presenza di tante connessioni, a questo proposito gli hacker

idearono una strategia “comunitaria” per valicare questo problema, dato che un solo

hacker non riusciva a rendere offline un web site, si optò a passare a due hacker, poi

tre, poi quattro e così via, finché il server non veniva messo offline, questo fenomeno,

viene definito DDOS (Distribuited Denial of Service) e consiste nell'appunto nel

33

Page 34: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

raggruppamento di più attacchi DOS sferrati simultaneamente.

Spesso però, l'hacker non ha nemmeno bisogno dei suoi “colleghi” poiché i più esperti

di loro sono in grado di entrare nelle difese di PC altrui, soggiogando così le

operazioni della macchina e costringendola a sferrare attacchi DOS da quella

postazione, in questo caso il PC in questione viene definito “zombie” ed entra a far

parte degli zombie dell'aggressore, l'accumulo di macchine sotto il controllo del

singolo viene definita “botnet” ed una di esse se abbastanza ampia, sarebbe in grado di

rendere inutilizzabile gran parte dei servizi presenti su internet con un breve sforzo.

Un'altra tipologia che rientra nella categoria di Denial Of service è quella che prende il

nome di “Fork Bomb” ma, al contrario del DOS, esso è un attacco mirato al singolo

Client anziché ad un servizio online. Un attacco Fork Bomb mira a saturare le risorse

di un PC con dei processi simultanei e molto pesanti, si differenziano però attacchi che

invece mirano a saturare la memoria cache del computer vittima con un singolo

processo ma di grandi dimensioni. Tra gli attacchi Fork Bomb più celebri possiamo

vedere il caso di 42.zip, un file compresso di 42 Kilobyte che nascondeva al suo

interno una moltitudine di altri file compressi, quando il file veniva scompattato,

arrivava a pesare fino a 4 Terabyte rendendo il processo di scompattazione

inutilizzabile. Solitamente l'utilizzo di una Fork Bomb viene impiegato quando

l'hacker in questione deve inserire all'interno del PC della vittima altri processi

malevoli, così da offuscarli in quanto le difese del PC sono già impegnate a verificare

il contenuto della Fork Bomb.

34

Page 35: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

CAPITOLO 4

DIMOSTRAZIONE PRATICA

Con le conoscenze acquisite fin ora, sarebbe possibile anche per i non esperti effettuate

un piccolo attacco ad una rete conosciuta, prenderemo ora in esame una rete su cui

faremo dei test per verificare le sue vulnerabilità, l'esame preso in questione riguarderà

un attacco di tipo Man In The Middle, con cui è possibile estrarre informazioni

sensibili da un pacchetto spedito in rete.

Nella pratica odierna, è possibile effettuare questo tipo di attacco in due modi:

Manualmente ma con il requisito di avere abbastanza conoscenza della

programmazione e della codifica ASCII, In maniera automatica grazie ad alcuni

software distribuiti gratuitamente all'interno di una particolare distribuzione di Linux,

ovvero Kali Linux.

Ricordiamo che l'atto di violare la sicurezza di un sistema telematico viene sanzionato

dal codice penale secondo l'articolo 615 Ter che cita:

“Chiunque abusivamente si introduce in un sistema informatico o telematico protetto da misure

di sicurezza ovvero vi si mantiene contro la volontà espressa o tacita di chi ha il diritto di

escluderlo, è punito con la reclusione fino a tre anni. “

Quindi, l'atto penale viene attivato nel momento in cui l'hacker si introduce all'interno

dello stesso sistema valicando i sistemi di sicurezza, l'atto di analizzare dei pacchetti

contenenti delle informazioni sensibili è sanzionato non prima del momento del loro

utilizzo, rendendo legale questa pratica se non si fa utilizzo delle suddette credenziali.

Per inizializzare un attacco MIMT è prima di tutto necessario effettuare

preventivamente un attacco di tipo ARP Poison[Vedi Pagina 27] con cui

convinceremo il PC vittima ad inviarci le sue credenziali, dopo di che, tramite un

software denominato Wireshark, analizzeremo i pacchetti ottenuti.

35

Page 36: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

4.1 ARP POISON MANUALE

Iniziamo col dire che per effettuare manualmente un attacco MIMT è necessario

possedere una distribuzione di Linux oltre che essere muniti di un analizzatore di rete e

di un qualsiasi software per inviare pacchetti all'interno di una LAN, questi strumenti

vengono tutti forniti all'interno della distribuzione di Linux chiamata “Kali Linux”.

Per sferrare l'attacco, iniziamo con il trovare, grazie al nostro analizzatore di rete, un

pacchetto di tipo ARP proveniente dal Gateway e diretto verso il nostro PC[Fig 1],

quello sarà il pacchetto che verrà modificato in modo da poter ingannare gli altri

computer presenti nella rete. Per ottenere nel modo più veloce possibile questo

pacchetto, basterà effettuare un comando ping su un qualsiasi sito internet in modo da

interrogare il nostro router.

[Fig 1 esempio di un pacchetto ARP all'interno di WireShark]

Una volta ottenuto il pacchetto avremmo bisogno delle seguenti informazioni:

• L'IP e il MAC Address del nostro Gateway

• L'IP e il MAC Address della nostra vittima

• L'IP e il MAC Address del nostro PC

Ottenuto ciò, possiamo iniziare a modificare il pacchetto catturato in modo da risultare

nocivo per il PC vittima. Prendiamo un software per l'editing di Esadecimali e apriamo

il file, otteremo una schermata come quella che segue.

Dalla schermata possiamo vedere che i primi 6 valori esadecimali corrispondono

36

Page 37: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

I 6 valori successivi invece, corrispondono al MAC Address del Gateway e andranno

sostituiti con il nostro MAC Address, in parallelo, sotto al secondo gruppo di

Esadecimali, possiamo notare di nuovo il MAC Address del Gateway che andrà

nuovamente sostituito con il nostro MAC.

Nella terza riga, i primi 6 valori andranno sostituiti nuovamente con il MAC Address

della vittima e seguirà subito dopo una squenza di 4 valori inizianti nel 100% dei casi a

C0, quei 4 valori corrispondono al nostro IP immesso in forma esadecimale, andiamo

quindi a convertire in HEX l'ip della vittima sostituendo così i valori.

Alla fine otterremmo un pacchetto ARP in grado di confondere le tabelle ARP del PC

della vittima.

Possiamo ora passare all'attacco vero e proprio, tramite un software presente su Kali

Linux chiamato file2cable, siamo in grado di inviare il pacchetto modificato sulla rete

tramite la stringa “file2cable -v -i eth0 -f NOMEFILE” in cui specifichiamo che il

file modificato, verrà inviato nell'interfaccia eth0 e il risultato dell'invio verrà stampato

a schermo tramite l'opzione -v .

Una volta fatto ciò, andando a controllare il nostro PC vittima ed eseguendo il

comando “arp -a” possiamo verificare che il MAC Address del gateway, risulterà

identico al nostro MAC, se è questo il caso, allora l'attacco è stato portato a

compimento.

Una volta fatto ciò, tramite il nostro analizzatore di rete, possiamo vedere qualsiasi

pacchetto passante per quel determinato client compresi quindi i pacchetti HTML

contenenti credenziali e informazioni sensibili.

E' importante ricordare che i pacchetti verranno catturati solo dal momento in cui il

nostro analizzatore è in funzione, quindi eventuali accessi effettuati precedentemente

non verranno scovati.

37

Page 38: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

4.2 ETTERCAP E METODO AUTOMATICO

Un metodo molto più veloce, semplice ed efficace per portare a termine un attacco

MIMT è quello di utilizzare i software pre-installati all'interno della nostra

distribuzione di Linux, in nostro aiuto viene incontro Ettercap un software dedito al

MIMT e all'analisi di rete sviluppato da un gruppo di programmatori indipendenti, il

software è disponibile in quasi tutte le distribuzioni di Linux ma anche piattaforme

come MAC OSX.

I tempi di impiego dei due metodi sono subito visibili e mentre che, nel metodo

manuale per portare a compimento l'attacco ci impiegheremo circa 10 minuti, per

effettuare un attacco con Ettercap utilizzeremo solo 1 minuto circa.

Ettercap offre al suo utilizzatore due modalità, la modalità ad interfaccia testuale dove

tutto il software viene messo a disposizione tramite la console dei comandi e una

versione ad interfaccia grafica che risulterà particolarmente semplice nel suo utilizzo.

Nel nostro caso, vedremo come utilizzare l'interfaccia testuale per portare a

compimento l'attacco.

Una volta messa a disposizione un'interfaccia di Command Line, iniziamo col scoprire

ciò che Ettercap ci permette di fare tramite il comando “ettercap -h” , il software ci

invierà una serie di comandi utilizzabili.

Ettercap nel suo sistema, utilizza una serie di modalità dette “Modules” che andremo a

richiamare tramite il comando “-M” al suo interno troveremo svariati Plugin di varia

natura come l'ARP Poison e i DNS Spoof, tramite ettercap inoltre, è possibile

38

Page 39: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

selezionare più Modules all'interno dello stesso comando per filtrare i risultati che

vorremmo ottenere in modo sempre più preciso.

Tramite il comando “-w” ovvero Write, abbiamo la possibilità di salvare i nostri

risultati all'interno di un file, permettendo di rileggere tutti i nostri risultati in seguito.

Conoscendo questi comandi quindi, possiamo ottenere la stringa che porterà il nostro

software a compiere in modo automatico un attacco MIMT ed ottenere col tempo

svariate credenziali inviate all'interno della rete LAN.

Come risultato, otterremmo una stringa simile a questa:

“ettercap -T -w Risultati -M ARP // // “

In questo caso, il comando -T indicherà che il software è in modalità testuale, il

comando -w invece, salverà sul file denominato Risultati tutti i pacchetti trovati e

infine, il comando -M ARP starà ad indicare il modulo ARP chiedendo al software di

compiere l'ARP Poison su tutti gli indirizzi IP indicati appunto con i due “//” .

Una volta fatto ciò, il software provvederà a iniziare l'attacco, riportando testualmente

tutti i pacchetti passanti. Compresi appunto, quelli di login.

Una particolarità di ettercap e che delinea aappunto il suo utilizzo, è quella di

segnalare in maniera particolarmente visibile quando il nostro analizzatore trova

all'interno di un pacchetto delle credenziali di accesso, infatti, mentre nel metodo

manuale avremmo dovuto analizzare di persona ogni singolo pacchetto HTML in

cerca della credenziale, ettercap ci mostra in modo chiaro la parola “USER:” ,

“PASSWORD:” e l'indirizzo IP dove sono state utilizzate queste credenziali senza

mostrare tutto il contenuto del pacchetto rendendo la lettura molto semplice.

39

Page 40: Candidato Luca Eusebi “MITM e Hacking di rete”quintaitifano.altervista.org/lucaeusebi/TesinaMaturita.pdf · Internet, oltre che ad essere un luogo meraviglioso, può rivelarsi

Istituto Tecnico Industriale “Don Orione Fano”

a. s. 2014-2015

ESAME DI STATO

BIBLIOGRAFIA

http://www.altrodiritto.unifi.it/ Storia del MIT

http://www.crittologia.eu/ Storia della crittografia

http://it.wikipedia.org/ Storia di Enigma

40