
BoNeSi - il simulatore di botnet DDoS
BoNeSi, il simulatore di botnet DDoS, è uno strumento per simulare il traffico botnet in un ambiente di test sulla rete. È progettato per studiare l'effetto degli attacchi DDoS.
Quale traffico può essere generato? BoNeSi genera attacchi di flooding ICMP, UDP e TCP (HTTP) da una dimensione di botnet definita (diversi indirizzi IP). BoNeSi è altamente configurabile: è possibile impostare velocità, volume di dati, indirizzi IP sorgente, URL e altri parametri.
Cosa lo rende diverso dagli altri strumenti? Esistono molti altri strumenti per spoofare indirizzi IP con UDP e ICMP, ma per lo spoofing TCP non esiste soluzione. BoNeSi è il primo strumento a simulare flood HTTP-GET da reti bot su larga scala. BoNeSi cerca anche di evitare di generare pacchetti con schemi facilmente identificabili (che possono essere facilmente filtrati).
Dove posso eseguire BoNeSi? Raccomandiamo vivamente di eseguire BoNeSi in un ambiente di test chiuso. Tuttavia, gli attacchi UDP e ICMP possono essere eseguiti anche su Internet, ma bisogna stare attenti. Gli attacchi HTTP-Flooding non possono essere simulati su Internet perché le risposte del server web devono essere instradate verso l'host che esegue BoNeSi.
Come funziona lo spoofing TCP? BoNeSi snifa i pacchetti TCP sull'interfaccia di rete e risponde a tutti i pacchetti per stabilire connessioni TCP. Per questa funzionalità, è necessario che tutto il traffico dal server web di destinazione venga reindirizzato all'host che esegue BoNeSi.
Quanto è buona la performance di BoNeSi? Ci siamo concentrati molto sulle prestazioni per simulare grandi botnet. Su un AMD Opteron a 2 GHz siamo riusciti a generare fino a 150.000 pacchetti al secondo. Su un AMD Phenom II X6 1100T più recente a 3,3 GHz è possibile generare 300.000 pps (eseguendo su 2 core).
Gli attacchi di BoNeSi hanno successo? Sì, hanno molto successo. Gli attacchi UDP/ICMP possono facilmente riempire la larghezza di banda e gli attacchi HTTP-Flooding mettono rapidamente fuori uso i server web. Abbiamo anche testato BoNeSi contro sistemi commerciali di mitigazione DDoS all'avanguardia e siamo riusciti a mandarli in crash o a nascondere l'attacco dalla rilevazione.
Un video dimostrativo di BoNeSi in azione può essere trovato qui.
BoNeSi è un generatore di traffico di rete per diversi tipi di protocollo. Gli attributi dei pacchetti e delle connessioni creati possono essere controllati da diversi parametri come la velocità di invio o la dimensione del payload, oppure sono determinati casualmente. Spoofa gli indirizzi IP sorgente anche quando genera traffico TCP. A tal fine include un semplice stack TCP per gestire le connessioni TCP in modalità promiscua. Per un corretto funzionamento, è necessario garantire che i pacchetti di risposta vengano instradati verso l'host su cui è in esecuzione BoNeSi. Pertanto BoNeSi non può essere utilizzato in infrastrutture di rete arbitrarie. Il tipo di traffico più avanzato che può essere generato sono le richieste HTTP.
TCP/HTTP Per rendere le richieste HTTP più realistiche, diverse cose sono determinate casualmente:
Copyright 2006-2007 Deutsches Forschungszentrum fuer Kuenstliche Intelligenz Questo è software libero. Concesso in licenza sotto la Apache License, Versione 2.0. NON ESISTE ALCUNA GARANZIA, nella misura consentita dalla legge.
:~$ ./configure
:~$ make
:~$ make install
:~$ bonesi [OPTION...] <dst_ip:port>
Options:
-i, --ips=FILENAME filename with ip list
-p, --protocol=PROTO udp (default), icmp or tcp
-r, --send_rate=NUM packets per second, 0 = infinite (default)
-s, --payload_size=SIZE size of the paylod, (default: 32)
-o, --stats_file=FILENAME filename for the statistics, (default: 'stats')
-c, --max_packets=NUM maximum number of packets (requests at tcp/http), 0 = infinite (default)
--integer IPs are integers in host byte order instead of in dotted notation
-t, --max_bots=NUM determine max_bots in the 24bit prefix randomly (1-256)
-u, --url=URL the url (default: '/') (only for tcp/http)
-l, --url_list=FILENAME filename with url list (only for tcp/http)
-b, --useragent_list=FILENAME filename with useragent list (only for tcp/http)
-d, --device=DEVICE network listening device (only for tcp/http, e.g. eth1)
-m, --mtu=NUM set MTU, (default 1500). Currently only when using TCP.
-f, --frag=NUM set fragmentation mode (0=IP, 1=TCP, default: 0). Currently only when using TCP.
-v, --verbose print additional debug messages
-h, --help print help message and exit
50k-bots
browserlist.txt
urllist.txt
Copyright 2006-2007 Deutsches Forschungszentrum fuer Kuenstliche Intelligenz
Copyright 2008-2026 Markus Goldstein
Questo è software libero. Concesso in licenza sotto la Apache License, Versione 2.0.
NON ESISTE ALCUNA GARANZIA, nella misura consentita dalla legge.
Questo software è supportato da ...