Ricevi gli aggiornamenti nella tua email:




dic
25th

Kevin Mitnick: l’Attacco di Natale

Author: Angelo Righi | Hacking, Security

Era il 25 dicembre 1994 quando Kevin Mitnick (detto “il Condor”) sferrò uno dei più celebri attacchi informatici della storia contro il sistema di un suo rivale, l’hacker giapponese Tsutomu Shimomura. In questo articolo voglio raccontarvi come ci riuscì.

Per prima cosa il Condor analizzò la rete di Shimomura, scoprendo che era disponibile rsh (remote shell), un programma che permette di effettuare login da remoto, un po’ come ssh o telnet.

Una questione di fiducia

La cosa interessante è che rsh non era protetto da password, però accettava connessioni solo da indirizzi Ip definiti. Non era possibile collegarsi da qualsiasi computer, era necessario collegarsi da un particolare indirizzo Ip, o da una serie di indirizzi. Questa si chiama “trusted relation”.
Shimomura pensava che era impossibile falsificare un indirizzo Ip e sfruttare la trusted relation. Sbagliava.

A quell’epoca l’Ip spoofing era una tecnica conosciuta in ristretti circoli di esperti di sicurezza e guru del Tcp/Ip; ma anche in questi circoli un attacco basato su questa tecnica sembrava più una questione accademica che un vero pericolo utilizzabile nel mondo reale. Anche loro sbagliavano.

Portare a segno un attacco di spoofing oggi sarebbe quasi impossibile, ma anche all’epoca si trattava di un’operazione complessa, che prevedeva l’utilizzo di un’azione combinata. MaMitnick era determinato e riuscì nell’impresa, una vera e propria mission impossible.

Blind Spoofing

Prima di continuare occorre spiegare cos’è l’Ip spoofing in generale, e il blind-spoofing in particolare.
Una connessione Internet (Tcp/Ip) può essere identificata con quattro parametri fondamentali: l’indirizzo Ip del mittente, l’indirizzo Ip del destinatario, la porta Tcp del mittente e la porta Tcp del destinatario.
Come fa un computer a sapere a chi inviare la risposta a una richiesta? Semplice: prende l’indirizzo Ip dal pacchetto Ip del mittente e quindi è in grado di rispondergli. La creazione di un pacchetto contraffatto, con un Ip sorgente diverso da quello reale è relativamente semplice. Però c’è un problema: se faccio una richiesta ad un server, e modifico l’Ip sorgente mettendo l’Ip di un altro computer, il server non risponderà a me, ma all’indirizzo falso che ho inserito.
Per questo motivo nascondersi in Internet non è così semplice, non basta modificare l’Ip di partenza, perché così facendo non si sarà mai in grado di stabilire una connessione con un computer remoto.
Un Ip spoofing tramite Internet può essere effettuato solo a senso unico: è possibile inviare dati al computer da attaccare, ma non è possibile riceverli.Mitnick non si lasciò scoraggiare da questo limite.

Già tutto questo potrebbe sembrare abbastanza complicato. Ma non basta: c’è un altro problema.

Una connessione Tcp/Ip viene stabilita tramite uno scambio di pacchetti dati di riconoscimento e sincronizzazione: questa fase viene chiamata three-way handshake.
Questa operazione prevede anche l’utilizzo di un Intizial Sequence Number (ISN), un numero casuale di 32 bit senza il quale non è possibile completare il three-way-handshake e quindi è impossibile stabilire la connessione. L’ISN viene mandato dal server al client, il quale deve rispondere incrementando di uno il valore di ISN. Però come abbiamo visto, in un attacco di blind-spoofing non siamo in grado di ricevere i pacchetti dati dal server, quindi non conosciamo l’ISN: bisogna indovinarlo… Ma anche di fronte a questa difficoltà Mitnick non si perse d’animo.

SYN Flooding

Tenetevi forte: c’è un altro problema. Abbiamo visto cos’è l’Ip spoofing e abbiamo visto che in una particolare variante di questo attacco detta blind-spoofing è necessario indovinare l’ISN.
Abbiamo anche visto che se modifichiamo un pacchetto Ip mettendo un indirizzo falso il computer non sarà in grado di inviarci indietro una risposta: a chi la manda la risposta? Naturalmente la manda all’indirizzo falso. Ma se noi mettiamo un indirizzoIp vero, il computer risponderà a questo computer vero.
Nell’attacco che Mitnick stava architettando era necessario inviare pacchetti con un Ip contraffatto, ma corrispondente ad un computer vero, computer con un indirizzo autorizzato a eseguire comandi sulla macchina da attaccare senza dover fornire le credenziali (latrusted relation di cui parlavo prima).

Affinché l’attacco riuscisse era necessario metter fuori uso il computer da impersonare. Era necessario un attacco Denial of Service (DoS). Un attacco DoS è una forma di attacco che ha come scopo proprio quello di metter un computer in condizione di non operare correttamente, negando il servizio che deve offrire.Mitnick aveva bisogno che il computer da impersonare non rispondesse alla richieste che il computer obiettivo inviava, perché questo avrebbe alterato il tentativo di connessione abusiva. Per ottenere questo risultatoMitnick decise di ricorrere ad un SYN Flooding.

Il SYN flooding è un antico attacco DoS ancora oggi in voga. Per capire questo attacco occorre tornare un attimo ad analizzare il Tcp/Ip. Ricordate il three-way-handshake di cui parlavamo prima?
Come dicevo questa operazione viene eseguita scambiando tre pacchetti dati tra client e server. Il primo di questi pacchetti che viene inviato dal client al server come richiesta di connessione, viene inviato con un particolare flag attivato: il flag SYN. Quando il server riceve questo pacchetto riserva una certa quantità di memoria per la connessione in via di completamento.
Se però la connessione non viene completata, la memoria rimane comunque allocata.
Per portare un attacco SYN flooding, l’hacker invia migliaia di pacchetti SYN senza però completare la connessione; il server riserva memoria del sistema per il completamento di connessioni che non verranno mai completate; nel giro di poco tempo il server inizia ad andare in apnea per assenza di risorse. Ad un certo punto il computer smette di rispondere.

Notte di Natale

Kevin Mitnick sapeva che l’attacco era particolarmente complesso, era necessario tempo. Il rischio di essere individuato era alto. Per questo motivo decise di attaccare un giorno in cui tutti abbassano la guardia: il giorno di Natale siamo tutti più buoni, ma il Condor no.

Per condurre il suo attacco Mitnick:

1. Lanciò un SYN flooding contro un computer della rete di Tsutomu Shimomura che aveva una trusted relation con il computer bersaglio.

2. Indovinò l’Initial Sequence Number, aiutato dal fatto che all’epoca in numeri di sequenza non erano criptografici ma sequenziali.

3. Stabilì una connessione a una sola via tramite blind-spoofing con il computer bersaglio, utilizzando l’indirizzo del computer colpito dal DoS come indirizzo sorgente. Poteva inviare comandi, ma non poteva vedere le risposte: gli bastava. Il computer con l’Ip legittimo era fuori gioco, impossibilitato a rispondere sotto attacco SYN flooding.

4. Aggiunse con il comando rsh al file rhosts del computer bersaglio due semplici caratteri: “+ +”. Questi due innocenti segni più dicevano al computer bersaglio: “accetta connessioni da qualsiasi computer e da qualsiasi utente”!

5. Aprì comodamente dal suo computer una sessione x-terminal verso il computer bersaglio, il quale docilmente gli spalancò le porte.

In questo modo Kevin Mitnick portò a segno la più spettacolare intrusione della storia.

Tsutomu Shimomura, punto nell’orgoglio non la prese benissimo. Si intestardì a tal punto che decise di collaborare attivamente con l’FBI che gli diede carta bianca. Fu grazie all’hacker giapponese che il Condor per cinque anni festeggiò il Natale in carcere.


Altri articoli:

Il Condor di nuovo in gabbia (ma esce subito)
Il Condor torna in carcere, ma solo per poche ore. Il volatile di cui parlo naturalmente non è un volatile...

Quale’è il computer più sicuro del mondo?
Quale'è il computer più sicuro del mondo? Qual'è la condizione (o la serie di condizioni) che contribuiscono...

6 Profili Twitter per Seguire il Mondo dell’Hacking in Tempo Reale
Qualche mese fa presentai una lista di siti per rimanere aggiornati sul mondo dell'hacking. Oggi presento...

Attaccare WordPress con wpbruteforcer
Quale momento migliore per sferrare un attacco mentre tutti sono in vacanza? E’ quello che probabilmente...



Se vuoi essere sicuro di ricevere tutti gli aggiornamenti di PillolHacking gratuitamente nella tua email, iscriviti inserendo il tuo indirizzo qui sotto:


16 responses. Wanna say something?

  1. ilchiuri
    dic 25, 2008 at 09:33:59
    #1

    Ci si potrebbe fare un romanzo con questa storia…ma poi dovresti pagare i diritti a il Condor… lol xD

  2. Pino
    dic 26, 2008 at 08:52:22
    #2

    Sarà stata anche la più spettacolare intrusione della storia, ma se si è fatto beccare allora non era cosi bravo.

  3. AlesPalla
    dic 26, 2008 at 12:22:15
    #3

    Complimenti per il sito molto ben fatto!
    Leggendo questo articolo mi è sorta una perplessita.
    Come ha fatto Metinik a indovinare Initial Sequence Number??
    Cioè deve aver provato moltissime volte a indovinarlo…
    Quante combinazioni possibili di ISN ci sono?
    Anche se fossero solo 4 numeri sarebbero 255^4=4,228*10^9!!!!
    Quell’uomo è un genio!

  4. angelor
    dic 27, 2008 at 15:01:53
    #4

    @ilchiuri: esiste un libro e un film: “takedown”. Prima o poi Mitnick scriverà la sua versione dei fatti.

    @AlesPalla: all’epoca era noto il problema degli ISN deboli ma solo in ambito accademico. I produttori non avevano ancora capito la portata di tale pericolo.
    Lanciando una serie di pacchetti sonda si riesce a capire se l’ISN è criptografico o ad incremento costante; in quest’ultimo caso si possono “predire” gli ISN successivi e creare un connessioni “al buio”.

  5. Erriko
    dic 28, 2008 at 19:00:35
    #5

    Molto interessante… Il film io l’ho visto ma come un po tutti i film del settore è un po povero e poco preciso… Forse sarebbe più interessante leggere/vedere la sua versione dei fatti (magari con la collaborazione di shimomura, vi immaginate?)

  6. snizzo
    dic 29, 2008 at 20:15:03
    #6

    questi si che sono hacker!

    @pino
    non penso cascasse dalle nuvole…

  7. jfk
    dic 29, 2008 at 23:25:37
    #7

    @Pino

    Ti assicuro che sapeva quel che faceva. Solo che come tutti gli uomini, peccò di orgoglio, facendosi beccare.
    Mitnik e’ stato l’inventore di moltissime tecniche di attacco tutt’ora utilizzate. E’ stato anche il padre del Social Engineering…

  8. jfk
    dic 29, 2008 at 23:35:35
    #8

    @ Pino
    Se non ti bastasse, quanto sopra, leggi:
    http://en.wikipedia.org/wiki/Kevin_Mitnick

  9. marco
    dic 30, 2008 at 11:33:00
    #9

    Io avevo letto che non era andata proprio così. In realtà è vero che il giapponese ha aiutato l’FBI ma alla fine lo hanno beccato tenendo sotto controllo il telefono di un giornalista con il quale kevin era in contatto. Poi..se questa sia la verità o meno nessuno lo sa ma a me sembra strana la storia del giapponese che grida vendetta…

  10. aladar
    dic 30, 2008 at 13:21:45
    #10
  11. Beppe
    dic 30, 2008 at 16:34:38
    #11

    Bell’articolo complimenti; il taglio è tecnico quanto basta per non annoiare chi non ha conoscenze troppo approfondite e non superficiale (e banale) come altri articoli letti in altri blog che spacciano conoscenze banali o uso di tool da lamer per super-hacker esperti in sicurezza (su youtube se ne vedono tanti usare subme).
    Se il taglio del blog è sempre questo lo aggiungo con piacere nel mio feed reader

    Ancora complimenti

  12. angelor
    gen 1, 2009 at 18:34:18
    #12

    @aladar: dei due preferisco l’arte dell’intrusione; interessante anche l’altro, forse un po’ più noioso.

    @Beppe: l’idea è quella; non sempre ci riesco, ma la buona volontà c’è ;)

  13. TroUblE
    set 29, 2009 at 00:43:51
    #13

    Una parola per Kevin: Ineguagliabile!

    Grande articolo AngeloR ;)

3 Trackback(s)

  1. gen 25, 2010: Un Grande Programmatore è anche un grande Hacker? | PillolHacking.Net
  2. mar 4, 2010: Il mio kung fu è migliore del tuo « Il blog personale di Cosimo Marasciulo
  3. mag 5, 2010: I più Grandi Hackers di Tutti i Tempi: Kevin Mitnick. | PillolHacking.Net

Sorry, comments for this entry are closed at this time.