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
PacketPirate — Um proxy MITM headless, scriptável e baseado em linha de comando, projetado para interceptação, análise e modificação de tráfego de rede em sistemas Windows. | Kitploit
Ferramentas/GitHubGitHub/d0rb/packetpirate
Sniffing e Análise de PacotesProxies Web e InterceptaçãoScripting e AutomaçãoTestes de Segurança de APIsColeta de InformaçõesSegurança WebTestes de PenetraçãoAprendizado e EducaçãoAnálise de Logs
GitHubd0rb/packetpirate

PacketPirate

Um proxy MITM headless, scriptável e baseado em linha de comando, projetado para interceptação, análise e modificação de tráfego de rede em sistemas Windows.

3há 8 mesesAinda não revisado
Ver Repositório

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

PacketPirate

PacketPirate

Um proxy MITM headless, scriptável e baseado em linha de comando, projetado para interceptação, análise e modificação de tráfego de rede em sistemas Windows. Ele opera de forma semelhante a proxies GUI padrão da indústria, mas é otimizado para ambientes de automação, operação headless e integração com fluxos de trabalho de desenvolvimento.

Nota: Esta é uma ferramenta autônoma, sem dependências, implementada em Node.js.

Visão Geral

  • PacketPirate é uma ferramenta de interceptação de rede em todo o sistema. Ao aproveitar as configurações de proxy HTTP do Windows, ele pode capturar tráfego de qualquer aplicativo em execução na sua máquina — incluindo navegadores web (Chrome, Edge), ferramentas CLI (curl, git) e aplicativos de desktop (Spotify, VS Code, Discord).

  • Interceptação Global do Sistema: Captura tráfego HTTP/HTTPS de qualquer processo que respeite o proxy do sistema.

  • Ciente de Processos: identifica exatamente qual aplicativo está gerando tráfego.

  • Mecanismo de Regras Dinâmico: Configurável via JSON para executar ações específicas em tráfego correspondente (por exemplo, extração de tokens, registro de requisições).

  • Registro Completo de Tráfego: Capaz de despejar corpos completos de requisições e respostas (HTML, JSON, Binário) para análise.

  • Arquitetura Headless: Executa inteiramente a partir da CLI, adequado para serviços em segundo plano e pipelines de teste automatizados.

  • Gerenciamento Personalizado de Certificados: Inclui utilitários para gerar e confiar em CAs Raiz autoassinadas para descriptografia HTTPS.

Instalação

Pré-requisitos

  • Node.js (v14 ou superior)
  • Windows 10/11 (Necessário para os recursos de automação do Proxy do Sistema)
  • PowerShell (para scripts de gerenciamento de certificados)

Configuração Inicial

Clone o repositório e inicialize o ambiente:

root@kitploit:~
# 1. Generate local SSL certificates
npm run setup

# 2. Trust the generated Root CA
npm run trust
# Note: Requires administrative approval to add the certificate to the Trusted Root Store.

Uso

Inicie o servidor proxy:

root@kitploit:~
npm start

Isso inicia a interface CLI padrão.

Operação da CLI

O menu interativo fornece os seguintes controles:

  1. Escanear Processos: Lista processos ativos com conexões de rede estabelecidas. Permite filtrar o tráfego para um PID específico (por exemplo, monitorar exclusivamente code.exe).
  2. Alternar Filtros: Ativa/desativa subsistemas de monitoramento específicos:
    • Varredura de URL de API: Registra endpoints de API solicitados.
    • Despejo de Cabeçalhos: Envia cabeçalhos completos de requisição para o console.
    • Caça a Tokens: Detecção heurística de tokens Bearer em cabeçalhos Authorization.
    • Despejo Completo de Tráfego: Captura todo o tráfego (cabeçalhos + corpos completos) em arquivos de log jsonl estruturados.
  3. Iniciar Proxy: Vincula o servidor à primeira porta disponível (padrão 8080) e configura o Proxy do Sistema do Windows.
  4. Gerar Regras: Auxiliar para criar rapidamente novos padrões de interceptação.

Configuração

A lógica de interceptação é definida em config/rules.json. Este arquivo permite a configuração persistente do tratamento de tráfego.

Esquema:

root@kitploit:~
{
  "rules": [
    {
      "name": "Description of rule",
      "host": "hostname.match",
      "urlPattern": "regex_pattern",
      "action": "log | save_token",
      "outputFile": "path/to/output.txt",
      "tokenFilter": "regex_filter"
    }
  ]
}

Exemplo:

root@kitploit:~
{
    "rules": [
        {
            "name": "Test API",
            "host": "jsonplaceholder.typicode.com",
            "action": "save_token",
            "outputFile": "test_tokens.txt"
        }
    ]
}

Detalhes Técnicos

Arquitetura

A ferramenta usa uma arquitetura de servidor duplo:

  1. Servidor Proxy: Lida com a requisição inicial de tunelamento CONNECT e realiza a filtragem de host.
  2. Servidor MITM: Descriptografa o tráfego HTTPS usando a CA gerada dinamicamente, inspeciona a carga útil contra o mecanismo de regras e encaminha a requisição para o destino.

Tratamento de Rede

  • Gerenciamento de Portas: Detecta automaticamente erros EADDRINUSE e incrementa o número da porta até encontrar uma porta livre.
  • Proxy do Sistema: Usa manipulação direta do registro via PowerShell para aplicar as configurações de proxy em todo o sistema.
  • Limpeza: Implementa handlers de SIGINT/SIGTERM para garantir que as configurações de proxy sejam revertidas na saída, prevenindo problemas de conectividade de rede.

Ciclo de Vida do Certificado e Segurança

A ferramenta depende de um modelo de certificado duplo para interceptação HTTPS:

  1. Geração da CA Raiz: npm run setup cria uma CA Raiz autoassinada (PacketPirateRoot).
    • Lógica: Usa o New-SelfSignedCertificate do PowerShell para gerar um par de chaves válido por 5 anos.
    • Exportação: A chave é exportada para src/certs/server.pfx (formato PKCS#12) com a senha "headless".
  2. Estabelecimento de Confiança: npm run trust injeta essa CA Raiz no repositório CurrentUser\Root do Windows.
    • Escopo de Segurança: Ao segmentar CurrentUser em vez de LocalMachine, limitamos o raio de confiança ao seu perfil de usuário específico, reduzindo o risco em todo o sistema.
    • Aceitação pelos Navegadores: Chrome, Edge e IE herdam esse repositório de confiança. O Firefox exige uma opção separada (security.enterprise_roots.enabled) para respeitar o repositório de confiança do Windows.
  3. Remoção: npm run untrust fornece uma desmontagem limpa.
    • Identificação: Os scripts localizam o certificado pelo seu FriendlyName exclusivo ("PacketPirateRoot"), garantindo que nunca toquemos em outros certificados do usuário.
    • Verificação: Realiza uma verificação após a remoção para confirmar que a impressão digital do certificado não está mais presente no registro.

🎓 Educacional: Como Construímos

Este projeto é um exemplo prático de Programação de Sistema usando Node.js. Ele vai além dos servidores web típicos para interagir com o Sistema Operacional e a Pilha de Rede em um nível mais baixo.

Arquitetura

root@kitploit:~
participant App as Application (VS Code)
participant OS as Windows OS
participant Proxy as Proxy Server
participant MITM as MITM Server
participant Web as Internet

Note over App,Proxy: 1. Plain HTTP Tunneling
App->>Proxy: CONNECT google.com:443
Proxy-->>App: 200 Connection Established

Note over Proxy,MITM: 2. The "Hand-Off" Trick
Proxy->>MITM: Pipe socket data (raw encrypted bytes)

Note over App,MITM: 3. TLS Handshake and Decryption
MITM-->>App: ServerHello (signed by local root CA)
App->>MITM: Encrypted request (GET /)

Note over MITM: 4. Interception Logic
MITM->>MITM: Decrypt → Inspect headers → Log

Note over MITM,Web: 5. Upstream Forwarding
MITM->>Web: New HTTPS request (GET /)
Web-->>MITM: Response
MITM-->>App: Response

Conceitos Centrais

PacketPirate

1. O Padrão de "Servidor Duplo"

O módulo http padrão do Node.js não consegue lidar facilmente com o método CONNECT (usado para túneis HTTPS) e tráfego HTTPS normal na mesma instância de servidor.

  • Servidor A (Net/HTTP): Escuta na porta 8080. Ele lida com a requisição inicial CONNECT. Atua como um pipe TCP simples.
  • Servidor B (HTTPS): Existe apenas em memória (ou em uma porta aleatória). Ele contém a chave privada.
  • O Truque: Quando o Servidor A recebe uma conexão, ele "emite" o socket para o Servidor B. O Servidor B pensa que acabou de receber uma nova conexão e inicia o handshake SSL. Isso nos permite descriptografar o tráfego de forma transparente.

2. Atribuição de Processos (O Truque do netstat)

Como sabemos qual aplicativo está enviando tráfego? Os próprios pacotes TCP não têm um adesivo de "ID do Processo".

  • Portas Efêmeras: Cada conexão de saída usa uma porta aleatória de numeração alta (por exemplo, 54321).
  • Correlação: Executamos netstat -ano para descobrir qual PID é dono da porta 54321.
  • Otimização: Fazer isso para cada pacote é lento, então armazenamos os resultados em cache ou verificamos apenas quando necessário.

3. Bifurcação de Streams

Usamos Streams do Node.js para lidar com dados de forma eficiente. Em vez de esperar a resposta completa de 10MB ser baixada antes de mostrá-la, nós "bifurcamos" o fluxo:

  • Pipe 1: Vai para o Cliente (para que o aplicativo continue funcionando).
  • Pipe 2: Vai para o nosso Logger (para que possamos salvá-lo em disco). Isso é feito usando streams PassThrough, permitindo monitoramento em tempo real com latência adicional mínima.

Licença

GNU GPL v3.0

Baixar ferramenta