Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
BaconSampler — Renifle le trafic sortant à la recherche de rappels suspects ressemblant à des balises, car si ça revient régulièrement, ce n'est probablement pas le petit-déjeuner. | Kitploit
Outils/GitHubGitHub/logisek/baconsampler
Sniffing et Analyse de PaquetsReconnaissanceAnalyse ForensiqueCollecte d'InformationsSécurité RéseauRenseignement sur les MenacesDétection d'IntrusionAnalyse DNSAnalyse de Journaux
GitHublogisek/baconsampler

BaconSampler

Renifle le trafic sortant à la recherche de rappels suspects ressemblant à des balises, car si ça revient régulièrement, ce n'est probablement pas le petit-déjeuner.

2016il y a 8 moisVérifié par Kitploit
Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Bacon Sampler

Sniffe le trafic sortant pour les rappels suspects de type beacon, car si ça revient régulièrement, ce n'est probablement pas le petit-déjeuner.

Connexions sortantes (Windows + libpcap)

Bacon Sampler est un capteur léger de connexions sortantes qui renifle le grésillement de votre trafic réseau et signale les comportements suspects de type « beacon » – ces rappels périodiques, lents et discrets que les malwares adorent utiliser pour communiquer avec leur serveur de commande.

Il surveille passivement les connexions sortantes et les requêtes DNS, puis met en évidence des schémas tels que des intervalles réguliers, des destinations répétées, une gigue étrange et des tailles de paquets cohérentes – en gros, tout ce qui ressemble moins à une navigation normale qu'à un bot qui se connecte pour recevoir des instructions.

Considérez-le comme un Scanner de Beacons, mais plus savoureux : si quelque chose revient exactement à la même heure à chaque fois… nous goûtons le bacon.

Fonctionnalités

  • Capture Pcap avec corrélation PID netstat optionnelle
  • DNS inversé et GeoIP (base de données hors ligne ou recherche en ligne gratuite)
  • Filtres par protocole, plages de ports distants et CIDR IP
  • Résumés par groupe (par IP distante, processus ou pays) avec option des N premiers
  • Détection d'activité de type beacon (rappels lents et discrets)
  • Détection de schémas pour les comportements suspects de connexions + requêtes DNS
  • Export CSV/JSON avec fichiers de résumé dérivés
  • Rapport HTML optionnel avec tous les tableaux

Prérequis

  • Windows 11
  • Python 3.10+
  • Npcap (recommandé) avec « Install Npcap in WinPcap API-compatible Mode »
  • Base de données GeoIP pour la recherche hors ligne de pays par IP :
    • MaxMind GeoLite2 Country (.mmdb) ou DB-IP Lite (.mmdb)
    • IP2Location LITE (.BIN)
  • Exécutez PowerShell en tant qu'administrateur pour une visibilité complète

Installer

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

Téléchargez une base GeoIP et notez le chemin :

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

Si vous préférez une recherche en ligne gratuite, vous pouvez ignorer cette étape et utiliser --geoip-online.

Utilisation

Exemples d'utilisation (combinaisons courantes)

Lister les interfaces :

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

Choisir une interface par son index :

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

Utiliser plusieurs interfaces (répétable) :

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

Ou avec des noms séparés par des virgules :

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

Capture Pcap uniquement (A) avec GeoIP hors ligne :

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

Pcap + corrélation netstat (B) avec GeoIP hors ligne :

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

Pcap + netstat union (A+B) :

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

GeoIP en ligne (gratuit, limité en taux, mis en cache sur disque) :

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

GeoIP en ligne avec token IPinfo :

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

Ou passer le token explicitement :

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

Ajuster le délai d'attente et les tentatives de GeoIP en ligne :

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

Désactiver le DNS inversé (exécutions plus rapides) :

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

Ajuster le délai d'attente DNS :

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

Limiter la capture par nombre de paquets :

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

Filtrer par protocole, port distant et 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

Résumés par groupe et N premiers :

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

Suivre le nombre total d'octets par connexion :

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

Désactiver la sortie de progression :

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

Désactiver la sortie console :

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

Exemples d'utilisation (combinaisons avancées)

Pcap + netstat union (A+B) + GeoIP en ligne + Écrire un 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"

Pcap uniquement + dossier de sortie + noms CSV/JSON personnalisés :

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"

Détection d'activité de type beacon (rappels lents et discrets) :

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

Détection de schémas (intervalles réguliers, gigue, destinations répétées, tailles cohérentes) :

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

Seuils beacon + schémas serrés avec filtrage :

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

Capture centrée DNS (résolution DNS rapide + schémas DNS) :

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

Sorties

  • Tableau console par défaut
  • CSV : outbound_connections.csv
  • JSON : outbound_connections.json
  • HTML : --html "report.html"
  • Résultats beacon : *_beacon_findings.csv / *_beacon_findings.json
  • Schémas de connexion : *_connection_patterns.csv / *_connection_patterns.json
  • Schémas DNS : *_dns_patterns.csv / *_dns_patterns.json
  • Connexions uniques : *_unique_connections.csv / *_unique_connections.json
  • Processus uniques : *_unique_processes.csv / *_unique_processes.json
  • Résumés par groupe : *_group_remote_ip*.csv/json, *_group_process*.csv/json, *_group_country*.csv/json

Chemins CSV/JSON de sortie personnalisés :

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

Envoyer toutes les sorties vers un dossier :

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

Écrire la sortie HTML :

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

Écrire un fichier pcap :

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

Options de ligne de commande

  • --mode {pcap,pcap_plus_netstat,both} : Stratégie de capture (par défaut : pcap)
  • --duration SECONDS : Durée de capture (par défaut : 15)
  • --packet-limit COUNT : Arrêter après N paquets (0 = illimité)
  • --list-interfaces : Afficher les interfaces Npcap et quitter
  • --interface NAME : Nom de l'interface de capture (répétable)
  • --interfaces "NAME,NAME" : Noms d'interface séparés par des virgules
  • --filter-protocol tcp,udp : Filtre de protocole (répétable ou séparé par des virgules)
  • --filter-port 80,443,1000-2000 : Filtres de port distant
  • --allow-ip CIDR : Autoriser les CIDR IP distants
  • --deny-ip CIDR : Refuser les CIDR IP distants
  • --group-by remote_ip,process,country : Sortie de résumé par groupe
  • --top N : Limiter les résumés par groupe aux N premières lignes
  • --beacon-min-duration SECONDS : Durée minimale pour la détection de beacon
  • --beacon-min-packets COUNT : Nombre minimum de paquets pour la détection de beacon
  • --beacon-min-interval SECONDS : Intervalle moyen minimum pour la détection de beacon
  • --beacon-max-interval SECONDS : Intervalle moyen maximum pour la détection de beacon
  • --beacon-max-jitter SECONDS : Gigue d'intervalle maximum pour la détection de beacon
  • --beacon-max-rate PPS : Paquets par seconde maximum pour la détection de beacon
  • --pattern-high-jitter SECONDS : Seuil de gigue d'intervalle pour les schémas randomisés
  • --pattern-repeat-destination COUNT : Connexions minimales pour signaler les destinations répétées
  • --pattern-max-byte-jitter BYTES : Plage de taille d'octet maximale pour la cohérence
  • --dns-pattern-min-queries COUNT : Requêtes DNS minimales pour signaler des schémas
  • --csv PATH : Chemin de sortie CSV (par défaut : outbound_connections.csv)
  • --json PATH : Chemin de sortie JSON (par défaut : outbound_connections.json)
  • --html PATH : Chemin de sortie du rapport HTML
  • --pcap-out PATH : Écrire les paquets capturés dans un pcap
  • --output-dir PATH : Écrire tous les fichiers de sortie dans ce répertoire
  • --no-console : Désactiver la sortie du tableau console
  • --no-progress : Désactiver la sortie de progression
  • --log-json : Émettre les avertissements/erreurs sous forme de lignes JSON sur stderr
  • --track-bytes : Suivre le nombre total d'octets par connexion lorsque disponible
  • --geoip-db PATH : Chemin de la base de données GeoIP (.mmdb ou IP2Location .BIN)
  • --geoip-db-type {auto,maxmind,dbip,ip2location} : Type de base GeoIP (par défaut : auto)
  • --geoip-online {ipapi,ip-api,ipinfo} : Utiliser un service GeoIP en ligne gratuit (limité en taux)
  • --geoip-online-token TOKEN : Jeton API pour le fournisseur GeoIP en ligne (ex. IPinfo)
  • --geoip-cache-path PATH : Remplacer le chemin du cache JSON GeoIP en ligne
  • --geoip-timeout SECONDS : Délai d'attente de la requête GeoIP en ligne (par défaut : 3.0)
  • --geoip-retries COUNT : Nombre de tentatives de GeoIP en ligne (par défaut : 2)
  • --no-dns : Désactiver la recherche DNS inversée
  • --dns-timeout SECONDS : Délai d'attente de la recherche DNS (par défaut : 2.0)

Données de sortie

Les sorties principales (--csv/--json) incluent les champs :

  • 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 (lorsque --track-bytes est activé)

Les sorties dérivées incluent :

  • Connexions uniques : remote_ip, remote_port, remote_hostname, remote_fqdn, remote_country
  • Processus uniques : pid, process_name, connection_count, unique_remote_ips
  • Résumés par groupe : nombres et métriques uniques par remote_ip, process, ou country
  • Résultats beacon : champs de sortie principaux plus beacon_reason
  • Schémas de connexion : champs de sortie principaux plus pattern_type/pattern_reason, byte_min/byte_max/byte_range (avec --track-bytes), et totaux de destination
  • Schémas DNS : dns_query, query_count, IP/port du résolveur, détails du schéma, et byte_min/byte_max/byte_range (avec --track-bytes)

Remarques

  • Utilisez PowerShell en tant qu'administrateur pour capturer le trafic élevé et mapper les PID.
  • --mode pcap_plus_netstat enrichit uniquement les connexions capturées avec les données PID/processus.
  • --mode both ajoute les connexions netstat uniquement à la sortie finale.
  • Si la capture de paquets échoue ou si Npcap/scapy est manquant, le script revient aux résultats netstat uniquement et se termine avec le code 2 après avoir écrit les sorties.
  • --log-json formate les avertissements/erreurs sous forme de lignes JSON (utile pour l'ingestion).
  • --duration est en secondes.
  • --packet-limit arrête la capture après N paquets même si la durée reste.
  • --no-dns ignore la résolution DNS inversée (hostname/FQDN seront vides).
  • --dns-timeout contrôle les délais d'attente de recherche DNS (secondes).
  • Les résultats GeoIP en ligne sont mis en cache dans geoip_online_cache.json dans le répertoire de sortie (ou le répertoire de travail) sauf si remplacé par --geoip-cache-path.
  • --geoip-db-type auto utilise l'extension de fichier : .mmdb -> MaxMind/DB-IP, .BIN -> IP2Location.
  • IPinfo renvoie des codes de pays ISO (ex. US) au lieu des noms complets de pays.
  • La détection de schémas DNS est dérivée des paquets de requête DNS capturés en mode pcap.
  • Si --geoip-db est omis, la colonne remote_country est laissée vide sauf si --geoip-online est utilisé.
  • Si --geoip-db et --geoip-online sont tous deux définis, la base de données est utilisée.
  • --filter-port s'applique au port distant (destination sortante).
  • --track-bytes ajoute des colonnes byte_count et active les schémas de cohérence de taille.
Télécharger l’outil