BoNeSi es una herramienta para simular el tráfico de una Botnet con el objetivo de estudiar el efecto de los ataques DDoS.
¿Qué tráfico puede generar? Pues BoNeSi genera ataques de flooding ICMP, UDP y TCP (HTTP) simulando ser una botnet de un tamaño definido (diferentes direcciones IP). BoNeSi es altamente configurable y se pueden configurar distintos ratios, volumen de datos, direcciones IP de origen, URL y otros parámetros.
¿Qué lo hace diferente de otras herramientas? Existen muchas otras herramientas para falsificar direcciones IP con UDP e ICMP, pero para TCP no existe una solución. BoNeSi es la primera herramienta para simular floods HTTP-GET de redes de bots a gran escala. BoNeSi también trata de evitar generar paquetes con patrones fáciles de identificar (que se pueden filtrar fácilmente).
¿Dónde se puede ejecutar BoNeSi? Hasta su autor, Markus Goldstein, recomienda encarecidamente ejecutar BoNeSi en un entorno de prueba cerrado. Sin embargo, los ataques UDP e ICMP también pueden ejecutarse en Internet, pero se debe tener cuidado. Los ataques HTTP-Flooding no se pueden simular en Internet, porque las respuestas del servidor web deben enrutarse al host que ejecuta BoNeSi.
¿Cómo funciona TCP Spoofing? BoNeSi busca paquetes TCP en la interfaz de red y responde a todos los paquetes para establecer conexiones TCP. Para esta función, es necesario que todo el tráfico del servidor web de destino se enrute de nuevo al host que ejecuta BoNeSi
¿Qué tan bueno es el rendimiento de BoNeSi? Se centran mucho en el rendimiento para simular grandes botnets. En un AMD Opteron con 2Ghz pudieron generar hasta 150.000 paquetes por segundo. En un AMD Phenom II X6 1100T más reciente con 3,3 Ghz, puede generar 300.000 pps (que se ejecutan en 2 cores).
¿Son exitosos los ataques BoNeSi? Sí, son muy exitosos. Los ataques UDP/ICMP pueden saturar fácilmente el ancho de banda y los ataques HTTP-Flooding tiran rápidamente los servidores web. También probaron BoNeSi contra sistemas de mitigación DDoS comerciales de última generación y pudieron bloquearlos u ocultar el ataque para que no fuera detectado.
Detalle técnico
BoNeSi es un generador de tráfico de red para diferentes tipos de protocolos. Los atributos de los paquetes y conexiones creadas pueden controlarse mediante varios parámetros, como la velocidad de envío o el tamaño del payload, o se determinan aleatoriamente. Falsifica las direcciones IP de origen incluso al generar tráfico TCP. Por lo tanto, incluye una simple tcp-stack para manejar las conexiones tcp en modo promiscuo. Para que funcione correctamente hay que asegurarse de que los paquetes de respuesta se enruten al host en el que se ejecuta BoNeSi. El tipo de tráfico más avanzado qu puede generar son las peticiones http.
TCP/HTTP
Para que las peticiones http sean más realistas, varias cosas se determinan aleatoriamente:
- Puerto de origen
- ttl: 3..255
- Opciones tcp: siete opciones diferentes realistas con diferentes longitudes y probabilidades
- Agente de usuario para el encabezado http: fuera de una lista dada por archivo (se incluye un archivo de ejemplo)
Instalación
Uso
¿Qué tráfico puede generar? Pues BoNeSi genera ataques de flooding ICMP, UDP y TCP (HTTP) simulando ser una botnet de un tamaño definido (diferentes direcciones IP). BoNeSi es altamente configurable y se pueden configurar distintos ratios, volumen de datos, direcciones IP de origen, URL y otros parámetros.
¿Qué lo hace diferente de otras herramientas? Existen muchas otras herramientas para falsificar direcciones IP con UDP e ICMP, pero para TCP no existe una solución. BoNeSi es la primera herramienta para simular floods HTTP-GET de redes de bots a gran escala. BoNeSi también trata de evitar generar paquetes con patrones fáciles de identificar (que se pueden filtrar fácilmente).
¿Dónde se puede ejecutar BoNeSi? Hasta su autor, Markus Goldstein, recomienda encarecidamente ejecutar BoNeSi en un entorno de prueba cerrado. Sin embargo, los ataques UDP e ICMP también pueden ejecutarse en Internet, pero se debe tener cuidado. Los ataques HTTP-Flooding no se pueden simular en Internet, porque las respuestas del servidor web deben enrutarse al host que ejecuta BoNeSi.
¿Cómo funciona TCP Spoofing? BoNeSi busca paquetes TCP en la interfaz de red y responde a todos los paquetes para establecer conexiones TCP. Para esta función, es necesario que todo el tráfico del servidor web de destino se enrute de nuevo al host que ejecuta BoNeSi
¿Qué tan bueno es el rendimiento de BoNeSi? Se centran mucho en el rendimiento para simular grandes botnets. En un AMD Opteron con 2Ghz pudieron generar hasta 150.000 paquetes por segundo. En un AMD Phenom II X6 1100T más reciente con 3,3 Ghz, puede generar 300.000 pps (que se ejecutan en 2 cores).
¿Son exitosos los ataques BoNeSi? Sí, son muy exitosos. Los ataques UDP/ICMP pueden saturar fácilmente el ancho de banda y los ataques HTTP-Flooding tiran rápidamente los servidores web. También probaron BoNeSi contra sistemas de mitigación DDoS comerciales de última generación y pudieron bloquearlos u ocultar el ataque para que no fuera detectado.
Detalle técnico
BoNeSi es un generador de tráfico de red para diferentes tipos de protocolos. Los atributos de los paquetes y conexiones creadas pueden controlarse mediante varios parámetros, como la velocidad de envío o el tamaño del payload, o se determinan aleatoriamente. Falsifica las direcciones IP de origen incluso al generar tráfico TCP. Por lo tanto, incluye una simple tcp-stack para manejar las conexiones tcp en modo promiscuo. Para que funcione correctamente hay que asegurarse de que los paquetes de respuesta se enruten al host en el que se ejecuta BoNeSi. El tipo de tráfico más avanzado qu puede generar son las peticiones http.
TCP/HTTP
Para que las peticiones http sean más realistas, varias cosas se determinan aleatoriamente:
- Puerto de origen
- ttl: 3..255
- Opciones tcp: siete opciones diferentes realistas con diferentes longitudes y probabilidades
- Agente de usuario para el encabezado http: fuera de una lista dada por archivo (se incluye un archivo de ejemplo)
Instalación
:~$ ./configure
:~$ make
:~$ make install
Uso
:~$ 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
Archivos de ejemplo incluidos adicionalmente
- 50k-bots: 50.000 direcciones IP generadas al azar para usar con la opción --ips
- browserlist.txt: varias identificaciones de navegador para usar con la opción --useragentlist
- urllist.txt: varias urls para usar con la opción --urllist
Repositorio: https://github.com/Markus-Go/bonesi
que quiere decir decir "simular una botnet?". Lo que yo entiendo es una herramienta estilo mirai, no?.
ResponderEliminarcorregirme por favor
Atendiendo a tu petición, se dice 'corregidme' xD
EliminarRealmente se dice "Corregidme, por favor". Mayúscula después de punto y aparte y coma para la pausa xDDD
ResponderEliminar