Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
fuzzowski — il Network Protocol Fuzzer che vorremo utilizzare. | Kitploit
Strumenti/GitHubGitHub/nccgroup/fuzzowski
Analisi delle VulnerabilitàFuzzingSicurezza di RetePenetration Testing
GitHubnccgroup/fuzzowski

fuzzowski

il Network Protocol Fuzzer che vorremo utilizzare.

Vedi Repository
79311454 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Fuzzowski

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

Travis

L'idea è essere il Network Protocol Fuzzer che vogliamo usare.

Lo scopo di questo strumento è assistere durante l'intero processo di fuzzing di un protocollo di rete, permettendo di definire le comunicazioni, aiutando a identificare i "sospetti" di crash di un servizio, e molto altro.

Ultime Modifiche

[16/12/2019]

  • Moduli di Generazione Dati completamente riscritti (Primitive, Blocchi, Richieste)
    • Librerie di fuzzing per Stringhe migliorate, che consentono anche elenchi personalizzati, file e comandi callback
    • Tipo di dato Variabile, che prende una variabile impostata dalla sessione, dall'utente o da una Risposta
  • Sessione completamente riscritta. Ora è basata su TestCase, che contengono tutte le informazioni necessarie per eseguire la richiesta, controllare la risposta, memorizzare dati come errori ricevuti, ecc.
  • Risposte aggiunte. Ora puoi definire risposte con s_response(), ciò permette di controllare la risposta dal server, impostare variabili e persino eseguire test aggiuntivi sulla risposta per verificare se qualcosa non va
Scarica lo strumento
  • Monitor ora contrassegnano automaticamente i TestCase come sospetti se falliscono
  • Aggiunto il Fuzzer per IPP (Internet Printing Protocol) che abbiamo usato per trovare diverse vulnerabilità in diverse marche di stampanti durante il nostro progetto di ricerca sulle stampanti (https://www.youtube.com/watch?v=3X-ZnlyGuWc&t=7s)
  • Caratteristiche

    • Basato su Sulley Fuzzer per la generazione di dati [https://github.com/OpenRCE/sulley]
    • In realtà, fork di BooFuzz (che è un fork di Sulley) [https://github.com/jtpereyda/boofuzz]
    • Python3
    • Non casuale (numero finito di possibilità)
    • Richiede di "creare i pacchetti" con tipi (stile spike fuzzer)
    • Permette anche di creare pacchetti ""Grezzi"" da parametri, con punti di iniezione (molto utile per fuzzare protocolli semplici)
    • Ha una bella console per mettere in pausa, rivedere e ritestare qualsiasi sospetto (prompt_toolkit ftw)
    • Permette di saltare parametri che causano errori, automaticamente o tramite la console
    • Bei formati di stampa per pacchetti sospetti (per sapere esattamente cosa è stato fuzzato)
    • Salva PoC come script Python per te quando contrassegni un test case come crash
    • Moduli Monitor per raccogliere informazioni sul target, rilevare comportamenti anomali e contrassegnare sospetti
    • Moduli Riavvio che riavvieranno il target se la connessione viene persa (ad es. spegnendo e riaccendendo una smart plug)

    Protocolli implementati

    • LPD (Line Printing Daemon): Completamente implementato
    • IPP (Internet Printing Protocol): Parzialmente implementato
    • BACnet (Protocollo per automazione e controllo edifici): Parzialmente implementato
    • Modbus (Protocollo di comunicazione ICS): Parzialmente implementato

    Installazione

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

    Aiuto

    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.
           ██     ██       
    
    positional arguments:
      host                  Host di destinazione
      port                  Porta di destinazione
    
    optional arguments:
      -h, --help            mostra questo messaggio di aiuto ed esci
    
    Connection Options:
      -p {tcp,udp,ssl}, --protocol {tcp,udp,ssl}
                            Protocollo (Default tcp)
      -b BIND, --bind BIND  Bind a una porta
      -st SEND_TIMEOUT, --send_timeout SEND_TIMEOUT
                            Imposta timeout send() (Default 5s)
      -rt RECV_TIMEOUT, --recv_timeout RECV_TIMEOUT
                            Imposta timeout recv() (Default 5s)
      --sleep-time SLEEP_TIME
                            Tempo di pausa tra ogni test (Default 0)
      -nc, --new-conns      Apre una nuova connessione dopo ogni pacchetto dello stesso test
      -tn, --transmit-next-node
                            Trasmette il nodo successivo nel grafico del nodo fuzzato
    
    RECV() Options:
      -nr, --no-recv        Non esegue recv() sul socket dopo ogni invio
      -nrf, --no-recv-fuzz  Non esegue recv() sul socket dopo l'invio di una richiesta fuzzata
      -cr, --check-recv     Controlla che siano stati ricevuti dati in recv()
    
    Crashes Options:
      --threshold-request CRASH_THRESHOLD_REQUEST
                            Imposta il numero di crash consentiti in una Request prima di saltarla (Default 9999)
      --threshold-element CRASH_THRESHOLD_ELEMENT
                            Imposta il numero di crash consentiti in una Primitiva prima di saltarla (Default 3)
      --ignore-aborted      Ignora errori ECONNABORTED
      --ignore-reset        Ignora errori ECONNRESET
      --error-fuzz-issues   Registra come errore quando c'è un problema di connessione nel nodo fuzzato
    
    Fuzz Options:
      -c CALLBACK, --callback CALLBACK
                            Imposta un indirizzo callback per fuzzare con generatore di callback invece di mutazioni normali
      --file FILENAME       Usa il contenuto di un file per le mutazioni di fuzz
    
    Fuzzers:
      -f {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw}, --fuzz {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw}
                            Protocolli disponibili
      -r FUZZ_REQUESTS [FUZZ_REQUESTS ...], --requests FUZZ_REQUESTS [FUZZ_REQUESTS ...]
                            Richieste del protocollo da fuzzare, default tutte
                              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' ...]
    
    Restart options:
      --restart module_name [args ...]
                            Moduli Riavvio:
                              run: '<eseguibile> [<argomento> ...]' (Passa comando e argomenti tra virgolette, come un solo argomento)
                              smartplug: Spegne e riaccende la Smart Plug
                              teckin: <PLUG_IP>
      --restart-sleep RESTART_SLEEP_TIME
                            Imposta secondi di pausa dopo un crash prima di continuare (Default 5)
    
    Monitor options:
      --monitors {IPPMon} [{IPPMon} ...], -m {IPPMon} [{IPPMon} ...]
                            Moduli Monitor:
                              IPPMon: Invia un messaggio IPP get-attributes al target
    
    Other Options:
      --path PATH           Imposta il percorso per fuzzare protocolli basati su HTTP (Default /)
      --document_url DOCUMENT_URL
                            Imposta URL documento per print_uri
    
    

    Esempi

    Fuzza l'operazione IPP get_printer_attribs con opzioni predefinite:

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

    asciicast

    Usa la funzionalità raw di IPP per fuzzare il protocollo finger:

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

    asciicast

    Usa la funzionalità raw di IPP per fuzzare il protocollo finger, ma invece di usare le mutazioni predefinite, usa un file:

    python -m fuzzowski stampante 79 -f raw -r '{{root}}\n' --file 'percorso/verso/la/mia/fuzzlist'

    Esempio di Fuzzer stateful, che dimostra l'uso di s_response e s_variable per ottenere un token necessario per fuzzare una richiesta. Questo esempio è basato sul mock http server test case

    asciicast