Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
fuzzowski — el fuzzer de protocolo de red que querremos usar. | Kitploit
Herramientas/GitHubGitHub/nccgroup/fuzzowski
Análisis de VulnerabilidadesFuzzingSeguridad de RedesPruebas de Penetración
GitHubnccgroup/fuzzowski

fuzzowski

el fuzzer de protocolo de red que querremos usar.

Ver Repositorio
7931145hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Fuzzowski

root@kitploit:~
       █      █       
       ████████       
      ██████████      
     ██  ████  ██     
     ██  ████  ██     
    ████      ████    
   █ ████████████ █   
   █  ██████████  █   Fuzzowski Network Fuzzer
   █    █     █   █           🄯  Fuzzers, inc.
       ██     ██                by Mario Rivas

Travis

La idea es ser el Fuzzer de Protocolos de Red que queramos usar.

El objetivo de esta herramienta es ayudar durante todo el proceso de fuzzing de un protocolo de red, permitiendo definir las comunicaciones, ayudando a identificar los "sospechosos" de causar un fallo en un servicio, y mucho más

Últimos Cambios

[16/12/2019]

  • Módulos de Generación de Datos totalmente recodificados (Primitivas, Bloques, Solicitudes)
    • Bibliotecas de fuzzing de cadenas mejoradas, permitiendo también listas personalizadas, archivos y comandos de callback
    • Tipo de dato Variable, que toma una variable establecida por la sesión, el usuario o una Respuesta
  • Sesión totalmente recodificada. Ahora se basa en TestCases, que contiene toda la información necesaria para realizar la solicitud, verificar la respuesta, almacenar datos como errores recibidos, etc.
  • Respuestas añadidas. Ahora puedes definir respuestas con s_response(), lo que permite verificar la respuesta del servidor, establecer variables e incluso realizar pruebas adicionales en la respuesta para comprobar si algo está mal
Descargar herramienta
  • Monitores ahora marcan automáticamente los TestCases como sospechosos si fallan
  • Añadido el IPP (Internet Printing Protocol) Fuzzer que usamos para encontrar varias vulnerabilidades en diferentes marcas de impresoras durante nuestro proyecto de investigación de impresoras (https://www.youtube.com/watch?v=3X-ZnlyGuWc&t=7s)
  • Características

    • Basado en Sulley Fuzzer para generación de datos [https://github.com/OpenRCE/sulley]
    • En realidad, bifurcado (fork) de BooFuzz (que es un fork de Sulley) [https://github.com/jtpereyda/boofuzz ]
    • Python3
    • No aleatorio (número finito de posibilidades)
    • Requiere “crear los paquetes” con tipos (estilo spike fuzzer)
    • También permite crear paquetes ""Raw"" a partir de parámetros, con puntos de inyección (muy útil para fuzzing de protocolos simples)
    • Tiene una consola agradable para pausar, revisar y volver a probar cualquier sospechoso (prompt_toolkit ftw)
    • Permite saltar parámetros que causan errores, automáticamente o con la consola
    • Bonitos formatos de impresión para paquetes sospechosos (para saber exactamente qué fue fuzzeado)
    • Guarda los PoCs como scripts de Python para ti cuando marcas un caso de prueba como crash
    • Módulos de monitor para recopilar información del objetivo, detectando comportamientos extraños y marcando sospechosos
    • Módulos de reinicio que reiniciarán el objetivo si la conexión se pierde (p. ej., apagar y encender un enchufe inteligente)

    Protocolos implementados

    • LPD (Line Printing Daemon): Totalmente implementado
    • IPP (Internet Printing Protocol): Parcialmente implementado
    • BACnet (Building Automation and Control networks Protocol): Parcialmente implementado
    • Modbus (protocolo de comunicación ICS): Parcialmente implementado

    Instalación

    root@kitploit:~
    virtualenv venv -p python3
    source venv/bin/activate
    pip install -r requirements.txt
    

    Ayuda

    root@kitploit:~
    usage: python -m fuzzowski [-h] [-p {tcp,udp,ssl}] [-b BIND] [-st SEND_TIMEOUT]
                        [-rt RECV_TIMEOUT] [--sleep-time SLEEP_TIME] [-nc] [-tn]
                        [-nr] [-nrf] [-cr]
                        [--threshold-request CRASH_THRESHOLD_REQUEST]
                        [--threshold-element CRASH_THRESHOLD_ELEMENT]
                        [--ignore-aborted] [--ignore-reset] [--error-fuzz-issues]
                        [-c CALLBACK | --file FILENAME] -f
                        {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw}
                        [-r FUZZ_REQUESTS [FUZZ_REQUESTS ...]]
                        [--restart module_name [args ...]]
                        [--restart-sleep RESTART_SLEEP_TIME]
                        [--monitors {IPPMon} [{IPPMon} ...]] [--path PATH]
                        [--document_url DOCUMENT_URL]
                        host port
    
           █      █       
           ████████       
          ██████████      
         ██  ████  ██     
         ██  ████  ██     
        ████      ████    
       █ ████████████ █   
       █  ██████████  █   Fuzzowski Network Fuzzer
       █    █     █   █           🄯  Fuzzers, inc.
           ██     ██       
    
    argumentos posicionales:
      host                  Host de destino
      port                  Puerto de destino
    
    argumentos opcionales:
      -h, --help            mostrar este mensaje de ayuda y salir
    
    Opciones de Conexión:
      -p {tcp,udp,ssl}, --protocol {tcp,udp,ssl}
                            Protocolo (Por defecto tcp)
      -b BIND, --bind BIND  Vincular a puerto
      -st SEND_TIMEOUT, --send_timeout SEND_TIMEOUT
                            Establecer tiempo de espera de send() (Por defecto 5s)
      -rt RECV_TIMEOUT, --recv_timeout RECV_TIMEOUT
                            Establecer tiempo de espera de recv() (Por defecto 5s)
      --sleep-time SLEEP_TIME
                            Tiempo de espera entre cada prueba (Por defecto 0)
      -nc, --new-conns      Abrir una nueva conexión después de cada paquete de la misma prueba
      -tn, --transmit-next-node
                            Transmitir el siguiente nodo en el grafo del nodo fuzzeado
    
    Opciones de RECV():
      -nr, --no-recv        No hacer recv() en el socket después de cada envío
      -nrf, --no-recv-fuzz  No hacer recv() en el socket después de enviar una solicitud fuzzeada
      -cr, --check-recv     Verificar que se han recibido datos en recv()
    
    Opciones de Crash:
      --threshold-request CRASH_THRESHOLD_REQUEST
                            Establecer el número de crash permitidos en una Solicitud antes de saltarla (Por defecto 9999)
      --threshold-element CRASH_THRESHOLD_ELEMENT
                            Establecer el número de crash permitidos en una Primitiva antes de saltarla (Por defecto 3)
      --ignore-aborted      Ignorar errores ECONNABORTED
      --ignore-reset        Ignorar errores ECONNRESET
      --error-fuzz-issues   Registrar como error cuando haya cualquier problema de conexión en el nodo fuzzeado
    
    Opciones de Fuzzing:
      -c CALLBACK, --callback CALLBACK
                            Establecer una dirección de callback para fuzzear con el generador de callback en lugar de mutaciones normales
      --file FILENAME       Usar contenido de un archivo para mutaciones de fuzzing
    
    Fuzzers:
      -f {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw}, --fuzz {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw}
                            Protocolos Disponibles
      -r FUZZ_REQUESTS [FUZZ_REQUESTS ...], --requests FUZZ_REQUESTS [FUZZ_REQUESTS ...]
                            Solicitudes del protocolo a fuzzear, por defecto Todas
                              dhcp: [opt82]
                              ipp: [http_headers, get_printer_attribs, print_uri_message, send_uri, get_jobs, get_job_attribs]
                              lpd: [long_queue, short_queue, ctrl_file, data_file, remove_job]
                              telnet_cli: [commands]
                              tftp: [read]
                              raw: ['\x01string\n' '\x02request2\x00' ...]
    
    Opciones de Reinicio:
      --restart module_name [args ...]
                            Módulos de Reinicio:
                              run: '<ejecutable> [<argumento> ...]' (Pase el comando y los argumentos entre comillas, como un solo argumento)
                              smartplug: Apagará y encenderá el Enchufe Inteligente
                              teckin: <PLUG_IP>
      --restart-sleep RESTART_SLEEP_TIME
                            Establecer segundos de espera después de un crash antes de continuar (Por defecto 5)
    
    Opciones de Monitor:
      --monitors {IPPMon} [{IPPMon} ...], -m {IPPMon} [{IPPMon} ...]
                            Módulos de Monitor:
                              IPPMon: Envía un mensaje IPP get-attributes al objetivo
    
    Otras Opciones:
      --path PATH           Establecer ruta al fuzzear protocolos basados en HTTP (Por defecto /)
      --document_url DOCUMENT_URL
                            Establecer URL del documento para print_uri
    
    

    Ejemplos

    Fuzzear la operación IPP get_printer_attribs con opciones predeterminadas:

    python -m fuzzowski printer1 631 -f ipp -r get_printer_attribs --restart smartplug

    asciicast

    Usar la función raw de IPP para fuzzear el protocolo finger:

    python -m fuzzowski printer 79 -f raw -r '{{root}}\n'

    asciicast

    Usar la función raw de IPP para fuzzear el protocolo finger, pero en lugar de usar las mutaciones predefinidas, usar un archivo:

    python -m fuzzowski printer 79 -f raw -r '{{root}}\n' --file 'path/to/my/fuzzlist'

    Ejemplo de Fuzzer con estado, demostrando el uso de s_response y s_variable para obtener un token necesario para fuzzear una solicitud. Este ejemplo está basado en el caso de prueba del servidor HTTP simulado

    asciicast