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
BaconSampler — Fareja tráfego de saída em busca de callbacks suspeitos, semelhantes a beacons, porque se continua voltando no horário, provavelmente não é café da manhã. | Kitploit
Ferramentas/GitHubGitHub/logisek/baconsampler
Sniffing e Análise de PacotesReconhecimentoAnálise ForenseColeta de InformaçõesSegurança de RedeInteligência de AmeaçasDetecção de IntrusãoAnálise de DNSAnálise de Logs
GitHublogisek/baconsampler

BaconSampler

Fareja tráfego de saída em busca de callbacks suspeitos, semelhantes a beacons, porque se continua voltando no horário, provavelmente não é café da manhã.

203há 7 mesesRevisado pelo Kitploit
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

Bacon Sampler

Espiona o tráfego de saída em busca de callbacks suspeitos, semelhantes a beacons, porque se continua voltando no horário, provavelmente não é café da manhã.

Conexões de Saída (Windows + libpcap)

Bacon Sampler é um coletor leve de conexões de saída que espiona o chiado do tráfego da sua rede e sinaliza comportamentos suspeitos "semelhantes a beacons" — aqueles callbacks periódicos, lentos e discretos que malwares adoram usar para se comunicar com o comando.

Ele monitora passivamente conexões de saída e consultas DNS, destacando padrões como intervalos regulares, destinos repetidos, jitter estranho e tamanhos de bytes consistentes, basicamente qualquer coisa que pareça menos uma navegação normal e mais um bot verificando instruções.

Pense nisso como um Scanner de Beacons, mas mais saboroso: se algo continua voltando sempre no mesmo horário... estamos provando o bacon.

Recursos

  • Captura Pcap com correlação opcional de PID via netstat
  • DNS reverso e GeoIP (banco de dados offline ou consulta online gratuita)
  • Filtros por protocolo, faixas de portas remotas e CIDRs IP
  • Resumos agrupados (por IP remoto, processo ou país) com top N opcional
  • Detecção de atividade semelhante a beacon (callbacks lentos e discretos)
  • Detecção de padrões para comportamento suspeito de conexão + consulta DNS
  • Exportação CSV/JSON com arquivos de resumo derivados
  • Relatório HTML opcional com todas as tabelas

Pré-requisitos

  • Windows 11
  • Python 3.10+
  • Npcap (recomendado) com "Install Npcap in WinPcap API-compatible Mode"
  • Banco de dados GeoIP para consulta offline de país por IP:
    • MaxMind GeoLite2 Country (.mmdb) ou DB-IP Lite (.mmdb)
    • IP2Location LITE (.BIN)
  • Execute PowerShell como Administrador para visibilidade total
  • Instalação

    root@kitploit:~
    pip install -r requirements.txt
    

    Baixe um banco de dados GeoIP e anote o caminho:

    • GeoLite2 ou DB-IP Lite (.mmdb)
    • IP2Location LITE (.BIN)

    Se preferir uma consulta online gratuita, pode pular esta etapa e usar --geoip-online.

    Uso

    Exemplos de uso (combinações comuns)

    Listar interfaces:

    root@kitploit:~
    python capture_outbound.py --list-interfaces
    

    Escolher uma interface pelo índice:

    root@kitploit:~
    python capture_outbound.py --interface 0
    

    Usar múltiplas interfaces (repetível):

    root@kitploit:~
    python capture_outbound.py --interface "Ethernet" --interface "Wi-Fi"
    

    Ou com nomes separados por vírgula:

    root@kitploit:~
    python capture_outbound.py --interfaces "Ethernet,Wi-Fi"
    

    Captura apenas Pcap (A) com GeoIP offline:

    root@kitploit:~
    python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-db "C:\Path\GeoLite2-Country.mmdb"
    

    Captura Pcap + correlação netstat (B) com GeoIP offline:

    root@kitploit:~
    python capture_outbound.py --mode pcap_plus_netstat --duration 20 --interface "Ethernet" --geoip-db "C:\Path\GeoLite2-Country.mmdb"
    

    União Pcap + netstat (A+B):

    root@kitploit:~
    python capture_outbound.py --mode both --duration 20 --interface "Ethernet" --geoip-db "C:\Path\GeoLite2-Country.mmdb"
    

    GeoIP online (gratuito, com limite de taxa, cache em disco):

    root@kitploit:~
    python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipapi
    

    GeoIP online com token IPinfo:

    root@kitploit:~
    $env:IPINFO_TOKEN="your_token_here"
    python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipinfo
    

    Ou passar o token explicitamente:

    root@kitploit:~
    python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipinfo --geoip-online-token "your_token_here"
    

    Ajustar timeout e tentativas do GeoIP online:

    root@kitploit:~
    python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipapi --geoip-timeout 2.5 --geoip-retries 1
    

    Desabilitar DNS reverso (execuções mais rápidas):

    root@kitploit:~
    python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --no-dns
    

    Ajustar timeout do DNS:

    root@kitploit:~
    python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --dns-timeout 0.5
    

    Limitar captura por contagem de pacotes:

    root@kitploit:~
    python capture_outbound.py --mode pcap --duration 60 --packet-limit 5000
    

    Filtrar por protocolo, porta remota e CIDR IP:

    root@kitploit:~
    python capture_outbound.py --filter-protocol tcp --filter-port 80,443,1000-2000 --allow-ip 1.2.3.0/24 --deny-ip 1.2.3.4/32
    

    Resumos agrupados e top N:

    root@kitploit:~
    python capture_outbound.py --group-by remote_ip,process --top 10
    

    Rastrear total de bytes por conexão:

    root@kitploit:~
    python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --track-bytes
    

    Desabilitar saída de progresso:

    root@kitploit:~
    python capture_outbound.py --no-progress
    

    Desabilitar saída no console:

    root@kitploit:~
    python capture_outbound.py --no-console
    

    Exemplos de uso (combinações avançadas)

    União Pcap + netstat (A+B) + GeoIP online + Gravar pcap + CSV + HTML:

    root@kitploit:~
    python capture_outbound.py --mode both --duration 20 --interface "Ethernet,Wi-Fi" --geoip-online ipapi --pcap-out "C:\Path\capture.pcap" --csv "C:\Path\outbound.csv" --html "C:\Path\outbound.html"
    

    Apenas Pcap + pasta de saída + nomes personalizados CSV/JSON:

    root@kitploit:~
    python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --output-dir "C:\Path\Reports" --csv "C:\Path\Reports\outbound.csv" --json "C:\Path\Reports\outbound.json"
    

    Detecção de atividade semelhante a beacon (callbacks lentos e discretos):

    root@kitploit:~
    python capture_outbound.py --duration 300 --beacon-min-duration 120 --beacon-min-interval 60 --beacon-max-interval 1800 --beacon-max-jitter 10 --beacon-min-packets 6 --beacon-max-rate 0.05
    

    Detecção de padrões (intervalos regulares, jitter, destinos repetidos, tamanhos consistentes):

    root@kitploit:~
    python capture_outbound.py --duration 300 --track-bytes --pattern-high-jitter 120 --pattern-repeat-destination 4 --pattern-max-byte-jitter 64 --dns-pattern-min-queries 4
    

    Limiares rigorosos de beacon + padrões com filtragem:

    root@kitploit:~
    python capture_outbound.py --duration 600 --filter-protocol tcp --filter-port 443 --track-bytes --beacon-min-duration 180 --beacon-min-interval 90 --beacon-max-interval 900 --beacon-max-jitter 5 --beacon-min-packets 8 --pattern-high-jitter 60 --pattern-repeat-destination 5 --pattern-max-byte-jitter 32
    

    Captura focada em DNS (consulta rápida DNS + padrões DNS):

    root@kitploit:~
    python capture_outbound.py --duration 180 --dns-timeout 0.25 --dns-pattern-min-queries 5 --pattern-repeat-destination 3
    

    Saídas

    • Tabela no console por padrão
    • CSV: outbound_connections.csv
    • JSON: outbound_connections.json
    • HTML: --html "report.html"
    • Resultados de beacon: *_beacon_findings.csv / *_beacon_findings.json
    • Padrões de conexão: *_connection_patterns.csv / *_connection_patterns.json
    • Padrões DNS: *_dns_patterns.csv / *_dns_patterns.json
    • Conexões únicas: *_unique_connections.csv / *_unique_connections.json
    • Processos únicos: *_unique_processes.csv / *_unique_processes.json
    • Resumos agrupados: *_group_remote_ip*.csv/json, *_group_process*.csv/json, *_group_country*.csv/json

    Caminhos personalizados para saída CSV/JSON:

    root@kitploit:~
    python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --csv "C:\Path\outbound.csv" --json "C:\Path\outbound.json"
    

    Enviar todas as saídas para uma pasta:

    root@kitploit:~
    python capture_outbound.py --mode pcap --duration 20 --output-dir "C:\Path\Reports"
    

    Gerar saída HTML:

    root@kitploit:~
    python capture_outbound.py --html "outbound.html"
    

    Gravar arquivo pcap:

    root@kitploit:~
    python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --pcap-out "capture.pcap"
    

    Opções da linha de comando

    • --mode {pcap,pcap_plus_netstat,both}: Estratégia de captura (padrão: pcap)
    • --duration SECONDS: Duração da captura (padrão: 15)
    • --packet-limit COUNT: Parar após N pacotes (0 = ilimitado)
    • --list-interfaces: Mostrar interfaces Npcap e sair
    • --interface NAME: Nome da interface de captura (repetível)
    • --interfaces "NOME,NOME": Nomes de interfaces separados por vírgula
    • --filter-protocol tcp,udp: Filtro de protocolo (repetir ou separado por vírgula)
    • --filter-port 80,443,1000-2000: Filtros de porta remota
    • --allow-ip CIDR: Permitir CIDR(s) de IP remoto
    • --deny-ip CIDR: Negar CIDR(s) de IP remoto
    • --group-by remote_ip,process,country: Saída de resumo agrupado
    • --top N: Limitar resumos agrupados às N primeiras linhas
    • --beacon-min-duration SEGUNDOS: Duração mínima para detecção de beacon
    • --beacon-min-packets COUNT: Contagem mínima de pacotes para detecção de beacon
    • --beacon-min-interval SEGUNDOS: Intervalo médio mínimo para detecção de beacon
    • --beacon-max-interval SEGUNDOS: Intervalo médio máximo para detecção de beacon
    • --beacon-max-jitter SEGUNDOS: Jitter máximo de intervalo para detecção de beacon
    • --beacon-max-rate PPS: Pacotes por segundo máximo para detecção de beacon
    • --pattern-high-jitter SEGUNDOS: Limiar de jitter de intervalo para padrões aleatórios
    • --pattern-repeat-destination COUNT: Mínimo de conexões para sinalizar destinos repetidos
    • --pattern-max-byte-jitter BYTES: Faixa máxima de tamanho de byte para consistência
    • --dns-pattern-min-queries COUNT: Mínimo de consultas DNS para sinalizar padrões
    • --csv CAMINHO: Caminho de saída CSV (padrão: outbound_connections.csv)
    • --json CAMINHO: Caminho de saída JSON (padrão: outbound_connections.json)
    • --html CAMINHO: Caminho de saída do relatório HTML
    • --pcap-out CAMINHO: Gravar pacotes capturados em pcap
    • --output-dir CAMINHO: Gravar todos os arquivos de saída neste diretório
    • --no-console: Desabilitar saída de tabela no console
    • --no-progress: Desabilitar saída de progresso
    • --log-json: Emitir avisos/erros como linhas JSON no stderr
    • --track-bytes: Rastrear total de bytes por conexão quando disponível
    • --geoip-db CAMINHO: Caminho do banco de dados GeoIP (.mmdb ou IP2Location .BIN)
    • --geoip-db-type {auto,maxmind,dbip,ip2location}: Tipo do banco de dados GeoIP (padrão: auto)
    • --geoip-online {ipapi,ip-api,ipinfo}: Usar serviço GeoIP online gratuito (com limite de taxa)
    • --geoip-online-token TOKEN: Token de API para provedor GeoIP online (ex.: IPinfo)
    • --geoip-cache-path CAMINHO: Substituir caminho do cache JSON do GeoIP online
    • --geoip-timeout SEGUNDOS: Timeout de requisição GeoIP online (padrão: 3.0)
    • --geoip-retries COUNT: Tentativas de repetição GeoIP online (padrão: 2)
    • --no-dns: Desabilitar consulta DNS reversa
    • --dns-timeout SEGUNDOS: Timeout de consulta DNS (padrão: 2.0)

    Dados de saída

    Saídas principais (--csv/--json) incluem campos:

    • protocol, local_ip, local_port
    • remote_ip, remote_port, remote_hostname, remote_fqdn, remote_country
    • pid, process_name, packet_count
    • duration_seconds, avg_interval_seconds, interval_jitter_seconds
    • first_seen, last_seen, source
    • byte_count (quando --track-bytes está ativado)

    Saídas derivadas incluem:

    • Conexões únicas: remote_ip, remote_port, remote_hostname, remote_fqdn, remote_country
    • Processos únicos: pid, process_name, connection_count, unique_remote_ips
    • Resumos agrupados: contagens e métricas únicas por remote_ip, process ou country
    • Resultados de beacon: campos da saída principal mais beacon_reason
    • Padrões de conexão: campos da saída principal mais pattern_type/pattern_reason, byte_min/byte_max/byte_range (com --track-bytes) e totais por destino
    • Padrões DNS: dns_query, query_count, IP/porta do resolvedor, detalhes do padrão e byte_min/byte_max/byte_range (com --track-bytes)

    Notas

    • Use PowerShell como Administrador para capturar tráfego elevado e mapear PIDs.
    • --mode pcap_plus_netstat apenas enriquece conexões capturadas com dados de PID/processo.
    • --mode both adiciona conexões apenas do netstat à saída final.
    • Se a captura de pacotes falhar ou Npcap/scapy estiver ausente, o script volta para resultados apenas do netstat e sai com código 2 após gravar as saídas.
    • --log-json formata avisos/erros como linhas JSON (útil para ingestão).
    • --duration está em segundos.
    • --packet-limit interrompe a captura após N pacotes, mesmo que a duração não tenha terminado.
    • --no-dns ignora a resolução DNS reversa (hostname/FQDN ficarão em branco).
    • --dns-timeout controla o tempo limite das consultas DNS (segundos).
    • Os resultados do GeoIP online são armazenados em cache em geoip_online_cache.json no diretório de saída (ou diretório de trabalho), a menos que substituído por --geoip-cache-path.
    • --geoip-db-type auto usa a extensão do arquivo: .mmdb -> MaxMind/DB-IP, .BIN -> IP2Location.
    • IPinfo retorna códigos de país ISO (ex.: US) em vez de nomes completos de país.
    • A detecção de padrões DNS é derivada dos pacotes de consulta DNS capturados no modo pcap.
    • Se --geoip-db for omitido, a coluna remote_country fica vazia, a menos que --geoip-online seja usado.
    • Se ambos --geoip-db e --geoip-online forem definidos, o banco de dados é usado.
    • --filter-port aplica-se à porta remota (destino de saída).
    • --track-bytes adiciona colunas byte_count e habilita padrões de consistência de tamanho.
    Baixar ferramenta