Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
mallet — Mallet é um proxy de interceptação para protocolos arbitrários | Kitploit
Ferramentas/GitHubGitHub/sensepost/mallet
Proxies Web e InterceptaçãoSegurança de RedeTestes de PenetraçãoUtilitários e Frameworks
GitHubsensepost/mallet

mallet

Mallet é um proxy de interceptação para protocolos arbitrários

Ver Repositório
29242há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Mallet, um framework para criar proxies

Mallet é uma ferramenta para criar proxies para protocolos arbitrários, seguindo linhas semelhantes aos familiares proxies web de interceptação, apenas mais genérico.

Ele é construído sobre o framework Netty e depende fortemente do conceito de pipeline do Netty, que permite a montagem gráfica de gráficos de handlers. (Veja Capturas de Tela abaixo para um exemplo.) No mundo Netty, instâncias de handler fornecem delimitação de frame (ou seja, onde uma mensagem começa e termina), decodificação e codificação de protocolo (convertendo um fluxo de bytes em objetos Java e vice-versa, ou convertendo um fluxo de bytes em um fluxo de bytes diferente - pense em compressão e descompressão) e lógica de nível superior (realmente fazer algo com esses objetos).

Ao seguir a separação cuidadosa entre Codecs e Handlers que realmente manipulam as mensagens, o Mallet pode se beneficiar da grande biblioteca de Codecs existentes e evitar a reimplementação de muitos protocolos. A peça final do quebra-cabeça é fornecida por um Handler que copia mensagens recebidas em um pipeline para outro pipeline, encaminhando essas mensagens para seu destino final.

Claro, enquanto as mensagens estão dentro do Mallet, elas podem ser facilmente adulteradas, seja com Handlers personalizados escritos em Java ou uma linguagem de script compatível com JSR-223, ou manualmente, usando um dos editores fornecidos.

Você pode ter uma ideia dos codecs disponíveis olhando o código fonte do Netty no GitHub, sob os diretórios codec*. Ou apenas pesquisando no Google por netty e o protocolo de seu interesse. Muitas implementações interessantes de protocolos foram desenvolvidas fora do projeto principal do Netty, mas ainda devem funcionar bem com o Mallet.

Quem poderia usar o Mallet?

O Mallet é voltado para pessoas que trabalham com aplicações em rede que não são baseadas em comunicações HTTP. Exemplos podem ser Internet das Coisas, que podem usar MQTT, COAP, etc, caixas eletrônicos e dispositivos de ponto de venda que podem usar ISO8583, ou, para ser honesto, qualquer outro protocolo.

Na verdade, o Mallet pode até ser útil para aplicações baseadas em HTTP que usam protocolos adicionais dentro do HTTP. Por exemplo, Google Protobuf sobre WebSockets, que não são bem suportados por proxies HTTP existentes como Burp, Zap, etc, ou gRPC sobre HTTP2.

O Mallet não é necessariamente apenas para revisões de segurança. Como o Mallet é construído sobre o Netty Framework, uma vez que seu pipeline tenha sido prototipado usando o Mallet, você pode migrar seu código para uma aplicação Netty pura com muito pouco esforço.

Capturas de Tela

Este é um exemplo de um proxy SOCKS simples, que pode ser usado como primeiro passo ao entender o tráfego de rede que você está vendo.

Novo Diagrama do Mallet

Depois de ter uma ideia de como o tráfego realmente se parece, você pode começar a adicionar classes ChannelHandler apropriadas ao longo do pipeline.

Compilando o Mallet

O Mallet utiliza Maven, então compilar o código é uma questão de

root@kitploit:~
mvn package

Para executá-lo:

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

Há alguns gráficos de exemplo fornecidos no diretório examples/. Os gráficos JSON esperam que um cliente JSON se conecte ao Mallet em localhost:9998/tcp, com o servidor real em localhost:9999/tcp. Apenas o último gráfico JSON (json5.mxe) faz suposições sobre a estrutura das mensagens JSON sendo passadas, então eles devem ser aplicáveis a qualquer aplicativo que envie mensagens JSON.

O demo.mxe mostra um gráfico complexo, com dois pipelines, ambos TCP e UDP. O pipeline TCP é construído para suportar HTTP e HTTPS nas portas 80 e 443 respectivamente, bem como WebSockets, enquanto retransmite qualquer outro tráfego diretamente para seu destino. O pipeline UDP é construído para processar requisições DNS em localhost:1053/udp, substituir consultas por google.com por consultas por www.sensepost.com e encaminhar as requisições para os servidores DNS do Google.

Feedback e contribuições

Feedback e contribuições são bem-vindos. Por favor, crie issues quando apropriado, ou entre em contato com o autor no Twitter @RoganDawes.

Baixar ferramenta