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ã.

20há 7 mesesRevisado 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
Ver Repositório

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

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

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, ,

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/, // (com ) e totais por destino

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: -> MaxMind/DB-IP, -> IP2Location.
Baixar ferramenta
  • Resumos agrupados: *_group_remote_ip*.csv/json, *_group_process*.csv/json, *_group_country*.csv/json
  • --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)
  • last_seen
    source
  • byte_count (quando --track-bytes está ativado)
  • pattern_reason
    byte_min
    byte_max
    byte_range
    --track-bytes
  • 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)
  • .mmdb
    .BIN
  • 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.