
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ã.
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ã.
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.
.mmdb) ou DB-IP Lite (.mmdb).BIN)pip install -r requirements.txt
Baixe um banco de dados GeoIP e anote o caminho:
.mmdb).BIN)Se preferir uma consulta online gratuita, pode pular esta etapa e usar --geoip-online.
Listar interfaces:
python capture_outbound.py --list-interfaces
Escolher uma interface pelo índice:
python capture_outbound.py --interface 0
Usar múltiplas interfaces (repetível):
python capture_outbound.py --interface "Ethernet" --interface "Wi-Fi"
Ou com nomes separados por vírgula:
python capture_outbound.py --interfaces "Ethernet,Wi-Fi"
Captura apenas Pcap (A) com GeoIP offline:
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:
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):
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):
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipapi
GeoIP online com token IPinfo:
$env:IPINFO_TOKEN="your_token_here"
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipinfo
Ou passar o token explicitamente:
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:
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):
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --no-dns
Ajustar timeout do DNS:
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --dns-timeout 0.5
Limitar captura por contagem de pacotes:
python capture_outbound.py --mode pcap --duration 60 --packet-limit 5000
Filtrar por protocolo, porta remota e CIDR IP:
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:
python capture_outbound.py --group-by remote_ip,process --top 10
Rastrear total de bytes por conexão:
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --track-bytes
Desabilitar saída de progresso:
python capture_outbound.py --no-progress
Desabilitar saída no console:
python capture_outbound.py --no-console
União Pcap + netstat (A+B) + GeoIP online + Gravar pcap + CSV + HTML:
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:
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):
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):
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:
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):
python capture_outbound.py --duration 180 --dns-timeout 0.25 --dns-pattern-min-queries 5 --pattern-repeat-destination 3
outbound_connections.csvoutbound_connections.json--html "report.html"*_beacon_findings.csv / *_beacon_findings.json*_connection_patterns.csv / *_connection_patterns.json*_dns_patterns.csv / *_dns_patterns.json*_unique_connections.csv / *_unique_connections.json*_unique_processes.csv / *_unique_processes.json*_group_remote_ip*.csv/json, *_group_process*.csv/json, *_group_country*.csv/jsonCaminhos personalizados para saída CSV/JSON:
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:
python capture_outbound.py --mode pcap --duration 20 --output-dir "C:\Path\Reports"
Gerar saída HTML:
python capture_outbound.py --html "outbound.html"
Gravar arquivo pcap:
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --pcap-out "capture.pcap"