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
mallet — Mallet è un proxy di intercettazione per protocolli arbitrari. | Kitploit
Strumenti/GitHubGitHub/sensepost/mallet
Proxy Web e IntercettazioneSicurezza di RetePenetration TestingUtilità e Framework
GitHubsensepost/mallet

mallet

Mallet è un proxy di intercettazione per protocolli arbitrari.

Vedi Repository
292422 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

Mallet, un framework per creare proxy

Mallet è uno strumento per creare proxy per protocolli arbitrari, simile ai familiari proxy web di intercettazione, ma più generico.

È costruito sul framework Netty e si basa fortemente sul concetto di pipeline di Netty, che permette l'assemblaggio grafico di grafi di handler. (Vedi Screenshot più avanti per un esempio.) Nel mondo Netty, le istanze di handler forniscono delimitazione dei frame (cioè dove inizia e finisce un messaggio), decodifica e codifica del protocollo (convertire un flusso di byte in oggetti Java e viceversa, o convertire un flusso di byte in un flusso di byte diverso - pensa a compressione e decompressione), e logica di livello superiore (effettivamente fare qualcosa con quegli oggetti).

Seguendo la attenta separazione dei Codec dagli Handler che effettivamente manipolano i messaggi, Mallet può beneficiare della vasta libreria di Codec esistenti, evitando la reimplementazione di molti protocolli. L'ultimo pezzo del puzzle è fornito da un Handler che copia i messaggi ricevuti su una pipeline a un'altra pipeline, inoltrando quei messaggi alla loro destinazione finale.

Naturalmente, mentre i messaggi sono all'interno di Mallet, possono essere facilmente manomessi, sia con Handler personalizzati scritti in Java o un linguaggio di scripting conforme a JSR-223, sia manualmente, utilizzando uno degli editor forniti.

Puoi farti un'idea dei codec disponibili guardando il sorgente Netty su GitHub, nelle directory codec*. O semplicemente cercando su google netty e il protocollo che ti interessa. Molte implementazioni interessanti di protocolli sono state sviluppate al di fuori del progetto Netty principale, ma dovrebbero comunque funzionare bene con Mallet.

Chi potrebbe usare Mallet?

Mallet è pensato per persone che lavorano con applicazioni di rete che non si basano su comunicazioni HTTP. Esempi potrebbero essere l'Internet delle Cose, che potrebbe usare MQTT, COAP, ecc., sportelli bancomat e dispositivi POS che potrebbero usare ISO8583, o, onestamente, qualsiasi altro protocollo.

In effetti, Mallet può essere utile anche per applicazioni basate su HTTP, che utilizzano protocolli aggiuntivi all'interno di HTTP. Ad esempio, Google Protobuf su WebSocket, che non sono ben supportati dai proxy HTTP esistenti come Burp, Zap, ecc., o gRPC su HTTP2.

Mallet non è necessariamente solo per revisioni di sicurezza. Poiché Mallet è costruito sopra il Netty Framework, una volta che la tua pipeline è stata prototipata usando Mallet, puoi migrare il tuo codice in una semplice applicazione Netty con pochissimo sforzo.

Screenshot

Questo è un esempio di un semplice proxy SOCKS, che può essere usato come primo passo per capire il traffico di rete che stai vedendo.

Mallet Nuovo Diagramma

Una volta che hai un'idea di come appare effettivamente il traffico, puoi iniziare ad aggiungere classi ChannelHandler appropriate lungo la pipeline.

Compilare Mallet

Mallet utilizza Maven, quindi compilare il codice è una questione di

root@kitploit:~
mvn package

Per eseguirlo:

root@kitploit:~
cd target/
java -jar mallet-1.0-SNAPSHOT-spring-boot.jar

Ci sono alcuni grafi campione forniti nella directory examples/. I grafi JSON si aspettano che un client JSON si connetta a Mallet su localhost:9998/tcp, con il server reale su localhost:9999/tcp. Solo l'ultimo grafo JSON (json5.mxe) fa supposizioni sulla struttura dei messaggi JSON scambiati, quindi dovrebbero essere applicabili a qualsiasi app che invii messaggi JSON.

Il demo.mxe mostra un grafo complesso, con due pipeline, sia TCP che UDP. La pipeline TCP è costruita per supportare HTTP e HTTPS rispettivamente sulle porte 80 e 443, oltre a WebSocket, mentre inoltra qualsiasi altro traffico direttamente alla sua destinazione. La pipeline UDP è costruita per elaborare richieste DNS su localhost:1053/udp, sostituire le query per google.com con query per www.sensepost.com e inoltrare le richieste ai server DNS di Google.

Feedback e contributi

Feedback e contributi sono benvenuti. Per favore, crea issue dove appropriato, o contatta l'autore su Twitter @RoganDawes.

Scarica lo strumento