BoNeSi , o simulador de botnet DDoS é uma ferramenta para simular o tráfego de botnet em um ambiente de teste no fio. Ele é projetado para estudar o efeito de ataques DDoS.
Qual tráfego pode ser gerado?
O BoNeSi gera ataques de inundação ICMP, UDP e TCP (HTTP) a partir de um tamanho de botnet definido (diferentes endereços IP). BoNeSi é altamente configurável e taxas, volume de dados, endereços IP de origem, URLs e outros parâmetros podem ser configurados.
O que o torna diferente de outras ferramentas?
Existem muitas outras ferramentas para falsificar endereços IP com UDP e ICMP, mas para o spoofing de TCP, não há solução. O BoNeSi é a primeira ferramenta para simular inundações HTTP-GET de redes de bots de larga escala. O BoNeSi também tenta evitar gerar pacotes com padrões facilmente identificáveis (que podem ser filtrados facilmente).
Onde posso executar o BoNeSi ?
É altamente recomendável executar o BoNeSi em um ambiente de teste fechado. No entanto, ataques UDP e ICMP podem ser executados na Internet também, mas você deve ter cuidado. Os ataques HTTP-Flooding não podem ser simulados na Internet, porque as respostas do servidor da Web devem ser roteadas de volta para o host que está executando o BoNeSi .
Como funciona o TCP Spoofing ?
BoNeSi fareja pacotes TCP na interface de rede e responde a todos os pacotes para estabelecer conexões TCP. Para esse recurso, é necessário que todo o tráfego do servidor da Web de destino seja roteado de volta para o host que está executando o BoNeSi
Quão boa é a perfomance do BoNeSi ?
Nós nos concentramos muito no desempenho para simular grandes botnets. Em um AMD Opteron com 2Ghz, conseguimos gerar até 150.000 pacotes por segundo. Em um AMD Phenom II X6 1100T mais recente com 3.3Ghz você pode gerar 300.000 pps (rodando em 2 núcleos).
Os ataques BoNeSi são bem-sucedidos?
Sim, eles são muito bem sucedidos. Os ataques UDP / ICMP podem facilmente preencher a largura de banda e os ataques de HTTP-Flooding eliminam rapidamente os servidores da Web. Também testamos o BoNeSi contra sistemas de mitigação de DDoS comerciais de última geração e onde podemos derrubá -los ou impedir que o ataque seja detectado.
Informações detalhadas O
BoNeSi é um gerador de tráfego de redepara diferentes tipos de protocolos. Os atributos dos pacotes e conexões criados podem ser controlados por vários parâmetros, como taxa de envio outamanho da carga útil, ou são determinados por acaso. Ele falsifica os endereços IP de origem, mesmo quando gera tráfego tcp. Por isso, inclui uma simples tcp-stack para lidar com conexões tcp em modo promíscuo. Para o trabalho correto, é preciso garantir que os pacotes de resposta sejam roteados para o host no qual o BoNeSi está sendo executado. Portanto, o BoNeSi não pode ser usado em infra-estruturas de rede arbitrárias. O tipo mais avançado de tráfego que pode ser gerado são solicitações http.
TCP / HTTP Para tornar os pedidos de http mais realistas, várias coisas são determinadas por acaso:
- porta de origem
- ttl: 3..255
- opções de tcp: de sete diferentes opções da vida real com diferentes comprimentos e probabilidades
- user agent for http header: fora de uma lista dada por arquivo (um arquivo de exemplo está incluído, veja abaixo)
Instalação
:~$ ./configure
:~$ make
:~$ make install
Uso
:~$ bonesi [OPTION...] 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
Arquivos de exemplo adicionais incluídos
50k-bots
- 50.000 endereços IP gerados aleatoriamente para usar com a opção --ips
- várias identificações do navegador para usar com a opção --useragentlist
- vários URLs para usar com opção --urllist