Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
fwknop — Autorizzazione a singolo pacchetto > Port Knocking | Kitploit
Strumenti/GitHubGitHub/mrash/fwknop
Autenticazione e AutorizzazioneStrumenti DifensiviStrumenti di Crittografia/DecrittografiaSicurezza di ReteCrittografiaAutenticazione
GitHubmrash/fwknop

fwknop

Autorizzazione a singolo pacchetto > Port Knocking

Vedi Repository
1.4k253314 mesi 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
Sito web

fwknop - Autorizzazione a Pacchetto Singolo

Introduzione

fwknop implementa uno schema di autorizzazione noto come Single Packet Authorization (SPA) per un forte occultamento dei servizi. SPA richiede un singolo pacchetto crittografato, non riproducibile e autenticato tramite un HMAC per comunicare l'accesso desiderato a un servizio nascosto dietro un firewall in una politica di default-drop. L'applicazione principale di SPA è quella di utilizzare un firewall per bloccare tutti i tentativi di connessione a servizi come SSH, rendendo più difficile lo sfruttamento di vulnerabilità (sia 0-day che codice non aggiornato). Poiché non ci sono porte aperte, qualsiasi servizio occultato da SPA non può essere scansionato con Nmap. Il progetto fwknop supporta quattro diversi firewall: iptables, firewalld, PF e ipfw su Linux, OpenBSD, FreeBSD e Mac OS X. È inoltre disponibile il supporto per script personalizzati in modo che fwknop possa essere adattato per supportare altre infrastrutture come ipset o nftables.

SPA è essenzialmente la successiva generazione del Port Knocking (PK), ma risolve molte delle limitazioni mostrate dal PK mantenendone i vantaggi principali. Le limitazioni del PK includono una generale difficoltà nella protezione dagli attacchi di replay, i cifrari asimmetrici e gli schemi HMAC non sono solitamente supportabili in modo affidabile, ed è banalmente facile effettuare un attacco DoS contro un server PK semplicemente spoofando un pacchetto aggiuntivo in una sequenza PK mentre attraversa la rete (convincendo così il server PK che il client non conosca la sequenza corretta). Tutte queste carenze sono risolte da SPA. Allo stesso tempo, SPA nasconde i servizi dietro una politica firewall di default-drop, acquisisce i dati SPA passivamente (di solito tramite libpcap o altri mezzi) e implementa operazioni crittografiche standard per l'autenticazione e la crittografia/decifratura dei pacchetti SPA.

I pacchetti SPA generati da fwknop sfruttano HMAC per la crittografia autenticata nel modello encrypt-then-authenticate. Sebbene l'uso di un HMAC sia attualmente opzionale (abilitato tramite l'opzione da riga di comando --use-hmac), è fortemente raccomandato per tre motivi:

  1. Senza un HMAC, non è possibile un'autenticazione crittograficamente forte con fwknop a meno che non venga utilizzato GnuPG, ma anche in tal caso dovrebbe comunque essere applicato un HMAC.
  2. Un HMAC applicato dopo la crittografia protegge dagli attacchi crittanalitici di tipo padding oracle in modalità CBC, come l'attacco Vaudenay e simili (come il più recente attacco "Lucky 13" contro SSL).
  3. Il codice richiesto dal demone fwknopd per verificare un HMAC è molto più semplice del codice necessario per decifrare un pacchetto SPA, quindi un pacchetto SPA senza un HMAC corretto non viene nemmeno inviato attraverso le routine di decifratura.

L'ultimo motivo sopra è il motivo per cui un HMAC dovrebbe essere utilizzato anche quando i pacchetti SPA sono crittografati con GnuPG, poiché i dati SPA non vengono inviati attraverso le funzioni libgpgme a meno che l'HMAC non venga prima verificato. GnuPG e libgpgme sono corpi di codice relativamente complessi, quindi limitare la capacità di un potenziale aggressore di interagire con questo codice tramite un'operazione HMAC aiuta a mantenere una posizione di sicurezza più forte. La generazione di un HMAC per le comunicazioni SPA richiede una chiave dedicata in aggiunta alla normale chiave di crittografia, ed entrambe possono essere generate con l'opzione --key-gen.

fwknop crittografa i pacchetti SPA o con il cifrario a blocchi Rijndael o tramite GnuPG e il relativo cifrario asimmetrico. Se viene scelto il metodo di crittografia simmetrica, come di consueto la chiave di crittografia è condivisa tra client e server (vedere il file /etc/fwknop/access.conf per i dettagli). La chiave di crittografia effettiva utilizzata per la crittografia Rijndael viene generata tramite il derivatore di chiave standard PBKDF1 e viene impostata la modalità CBC. Se viene scelto il metodo GnuPG, le chiavi di crittografia derivano dai portachiavi GnuPG.

Casi d'uso

Le persone che utilizzano Single Packet Authorization (SPA) o il suo cugino meno sicuro Port Knocking (PK) di solito accedono a SSHD in esecuzione sullo stesso sistema in cui è distribuito il software SPA/PK. Cioè, un firewall in esecuzione su un host ha una politica di default-drop contro tutte le connessioni SSH in arrivo, in modo che SSHD non possa essere scansionato, ma un demone SPA riconfigura il firewall per concedere temporaneamente l'accesso a un client SPA autenticato passivamente:

SPA-basic-access-SSHD "Utilizzo base di SPA per accedere a SSHD"

fwknop supporta quanto sopra, ma va anche molto oltre e fa un uso robusto del NAT (per firewall iptables/firewalld). Dopo tutto, i firewall importanti sono solitamente gateway tra reti, piuttosto che essere distribuiti solo su host autonomi. Il NAT è comunemente utilizzato su tali firewall (almeno per comunicazioni IPv4) per fornire accesso a Internet a reti interne che si trovano nello spazio di indirizzi RFC 1918, e anche per consentire a host esterni di accedere a servizi ospitati su sistemi interni.

Poiché fwknop si integra con il NAT, SPA può essere sfruttato per accedere a servizi interni attraverso il firewall da parte di utenti su Internet esterno. Sebbene ciò abbia molte applicazioni nelle reti tradizionali moderne, consente anche a fwknop di supportare ambienti di cloud computing come Amazon AWS:

SPA-Amazon-AWS-cloud "Utilizzo di SPA in ambienti cloud Amazon AWS"

Interfaccia utente

L'interfaccia utente ufficiale del client fwknop multipiattaforma fwknop-gui (download, github) è sviluppata da Jonathan Bennett. Sono supportate la maggior parte delle modalità SPA lato client, incluse richieste NAT, chiavi HMAC e Rijndael (GnuPG non è ancora supportato), salvataggio di stanze fwknoprc e altro. Attualmente fwknop-gui funziona su Linux, Mac OS X e Windows - ecco uno screenshot da OS X: fwknop-gui-OS-X-screenshot "fwknop-gui su Mac OS X" Allo stesso modo, è disponibile anche un client Android aggiornato.

Tutorial

Un tutorial completo su fwknop può essere trovato qui:

http://www.cipherdyne.org/fwknop/docs/fwknop-tutorial.html

Caratteristiche

Di seguito è riportato un elenco completo delle funzionalità supportate dal progetto fwknop:

Scarica lo strumento