La
maggior parte degli attacchi DoS consiste nell'invio di una stringa
appositamente composta che fa crashare il dispositivo remoto. Qui
verrà mostrato invece un tipo di attacco più difficile
da individuare, perchè composta da una sequenza di messaggi
che generano un DoS al SIP Phone.
Questo
attacco è molto difficile da individuare per un semplice
firewall SIP o IPS, perchè necessita il controllo di tutti e
tre i messaggi che generano l'attacco.
Il
risultato dell'attacco è che dopo una serie di 3 messaggi SIP
il dispositivo si riavvia. I dispositivi infetti sono i Cisco Phone
7940 (ma potrebbero essercene anche altri) in cui gira il Firmware
P0S3-08-6-00
Vediamo
ora la sequenza dei tre messaggi, notate bene che tra un messaggio e
un'altro bisogna aspettare la risposta del dispositivo sotto attacco
DoS;
X ------------------------- INVITE -----------------------> Cisco
X <--- 481 transaction does not exists ------------------- Cisco
X ------------------------- OPTIONS-----------------------> Cisco
X <--------------------------- OK ------------------------ Cisco
X <--- 481 transaction does not exists ------------------- Cisco
X ------------------------- OPTIONS-----------------------> Cisco
A questo punto il SIP Phone si riavvierà
Il messaggio
INVITE che abbiamo mandato ha la particolarità che il tag
remoto è già impostato. I due seguenti messaggi di
OPTIONS devono avere lo stesso Call-ID dell'INVITE e il valore Cseq
deve essere incrementato, altrimenti l'attacco non funziona.
Exploit:
Dovete lanciare il
seguente script che si chiama stateful-cisco-8.6.pl.
Perl
stateful-cisco-8.6.pl 192.168.10.52 5060 7940-1
Lo script è
molto semplice e non controlla se il messaggio viene ricevuto, ma si
limita ad aspettare un secondo prima di inviare il messaggio seguente.
Ultimo aggiornamento: 01-11-2007 15:23
|