Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
BaconSampler — Schnüffelt ausgehenden Datenverkehr auf verdächtige, beaconartige Callbacks, denn wenn es planmäßig zurückkommt, ist es wahrscheinlich kein Frühstück. | Kitploit
Tools/GitHubGitHub/logisek/baconsampler
Paket-Sniffing & AnalyseAufklärungForensikInformationsbeschaffungNetzwerksicherheitBedrohungsanalyseEinbruchserkennungDNS-AnalyseLog-Analyse
GitHublogisek/baconsampler

BaconSampler

Schnüffelt ausgehenden Datenverkehr auf verdächtige, beaconartige Callbacks, denn wenn es planmäßig zurückkommt, ist es wahrscheinlich kein Frühstück.

20vor 7 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen

Bacon Sampler

Schnüffelt ausgehenden Datenverkehr auf verdächtige, beaconartige Rückrufe, denn wenn etwas immer wieder nach Plan zurückkommt, ist es wahrscheinlich kein Frühstück.

Ausgehende Verbindungen (Windows + libpcap)

Bacon Sampler ist ein leichtgewichtiger Fänger für ausgehende Verbindungen, der das Brutzeln Ihres Netzwerkverkehrs belauscht und verdächtiges „Beacon-ähnliches“ Verhalten aufspürt – diese periodischen, langsamen Rückrufe, mit denen Malware gerne nach Hause telefoniert.

Es überwacht passiv ausgehende Verbindungen und DNS-Abfragen und hebt dann Muster wie gleichmäßige Intervalle, wiederholte Ziele, merkwürdiges Jitter und konsistente Paketgrößen hervor – im Grunde alles, was weniger nach normalem Surfen aussieht und mehr nach einem Bot, der Anweisungen abholt.

Betrachten Sie es als Beacon-Scanner, aber schmackhafter: Wenn etwas immer wieder zur gleichen Zeit zurückkommt … dann verkosten wir den Bacon.

Funktionen

  • Pcap-Erfassung mit optionaler netstat-PID-Korrelation
  • Reverse-DNS und GeoIP (offline-Datenbank oder kostenlose Online-Abfrage)
  • Filter nach Protokoll, Remote-Port-Bereichen und IP-CIDRs
  • Gruppenzusammenfassungen (nach Remote-IP, Prozess oder Land) mit optionalem Top-N
  • Erkennung von Beacon-ähnlicher Aktivität (langsame Rückrufe)
  • Mustererkennung für verdächtiges Verbindungs- und DNS-Abfrageverhalten
  • CSV/JSON-Export mit abgeleiteten Zusammenfassungsdateien
  • Optionaler HTML-Bericht mit allen Tabellen

Voraussetzungen

  • Windows 11
  • Python 3.10+
  • Npcap (empfohlen) mit „Install Npcap in WinPcap API-compatible Mode“
  • GeoIP-Datenbank für die Offline-Länderermittlung per IP:
    • MaxMind GeoLite2 Country (.mmdb) oder DB-IP Lite (.mmdb)
    • IP2Location LITE (.BIN)
  • PowerShell als Administrator ausführen für vollständige Sichtbarkeit

Installation

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

Laden Sie eine GeoIP-Datenbank herunter und notieren Sie den Pfad:

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

Wenn Sie eine kostenlose Online-Abfrage bevorzugen, können Sie diesen Schritt überspringen und --geoip-online verwenden.

Verwendung

Anwendungsbeispiele (häufige Kombinationen)

Schnittstellen auflisten:

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

Eine Schnittstelle nach Index auswählen:

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

Mehrere Schnittstellen verwenden (wiederholbar):

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

Oder mit kommagetrennten Namen:

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

Nur-Pcap-Erfassung (A) mit Offline-GeoIP:

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

Pcap + netstat-Korrelation (B) mit Offline-GeoIP:

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

Pcap + netstat-Vereinigung (A+B):

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

Online-GeoIP (kostenlos, ratenbegrenzt, auf Festplatte zwischengespeichert):

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

Online-GeoIP mit IPinfo-Token:

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

Oder Token explizit übergeben:

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

Online-GeoIP-Timeouts und Wiederholungen optimieren:

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

Reverse-DNS deaktivieren (schnellere Läufe):

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

DNS-Timeout einstellen:

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

Erfassung durch Paketzahl begrenzen:

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

Nach Protokoll, Remote-Port und IP-CIDR filtern:

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

Gruppenzusammenfassungen und Top-N:

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

Gesamtbytes pro Verbindung verfolgen:

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

Fortschrittsausgabe deaktivieren:

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

Konsolenausgabe deaktivieren:

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

Anwendungsbeispiele (fortgeschrittene Kombinationen)

Pcap + netstat-Vereinigung (A+B) + Online-GeoIP + Pcap + CSV + HTML schreiben:

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"

Nur-Pcap + Ausgabeordner + benutzerdefinierte CSV/JSON-Namen:

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"

Erkennung von Beacon-ähnlicher Aktivität (langsame Rückrufe):

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

Mustererkennung (gleichmäßige Intervalle, Jitter, wiederholte Ziele, konsistente Größen):

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

Strenge Beacon- + Pattern-Schwellenwerte mit Filterung:

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

DNS-fokussierte Erfassung (schnelle DNS-Abfrage + DNS-Muster):

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

Ausgaben

  • Konsolentabelle standardmäßig
  • CSV: outbound_connections.csv
  • JSON: outbound_connections.json
  • HTML: --html "report.html"
  • Beacon-Funde: *_beacon_findings.csv / *_beacon_findings.json
  • Verbindungsmuster: *_connection_patterns.csv / *_connection_patterns.json
  • DNS-Muster: *_dns_patterns.csv / *_dns_patterns.json
  • Einzigartige Verbindungen: *_unique_connections.csv / *_unique_connections.json
  • Einzigartige Prozesse: *_unique_processes.csv / *_unique_processes.json

Benutzerdefinierte CSV/JSON-Ausgabepfade:

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

Alle Ausgaben in einen Ordner senden:

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

HTML-Ausgabe schreiben:

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

Eine Pcap-Datei schreiben:

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

Befehlszeilenoptionen

  • --mode {pcap,pcap_plus_netstat,both}: Erfassungsstrategie (Standard: pcap)
  • --duration SECONDS: Erfassungsdauer (Standard: 15)
  • --packet-limit COUNT: Stopp nach N Paketen (0 = unbegrenzt)
  • --list-interfaces: Npcap-Schnittstellen anzeigen und beenden
  • --interface NAME: Name der Erfassungsschnittstelle (wiederholbar)
  • --interfaces "NAME,NAME": Kommagetrennte Schnittstellennamen
  • --filter-protocol tcp,udp: Protokollfilter (wiederholbar oder kommagetrennt)
  • --filter-port 80,443,1000-2000: Remote-Port-Filter
  • --allow-ip CIDR: Erlaubte Remote-IP-CIDR(s)

Ausgabedaten

Hauptausgaben (--csv/--json) enthalten Felder:

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

Abgeleitete Ausgaben umfassen:

  • Einzigartige Verbindungen: remote_ip, remote_port, remote_hostname, remote_fqdn, remote_country
  • Einzigartige Prozesse: pid, process_name, connection_count, unique_remote_ips
  • Gruppenzusammenfassungen: Zählungen und eindeutige Metriken pro remote_ip, process oder country
  • Beacon-Funde: Hauptausgabefelder plus beacon_reason
  • Verbindungsmuster: Hauptausgabefelder plus pattern_type/, // (mit ) und Zielsummen

Hinweise

  • Verwenden Sie PowerShell als Administrator, um erweiterten Datenverkehr zu erfassen und PIDs zuzuordnen.
  • --mode pcap_plus_netstat reichert nur erfasste Verbindungen mit PID/Prozessdaten an.
  • --mode both fügt netstat-only-Verbindungen zur endgültigen Ausgabe hinzu.
  • Falls die Paketerfassung fehlschlägt oder Npcap/scapy fehlt, fällt das Skript auf reine netstat-Ergebnisse zurück und beendet sich nach dem Schreiben der Ausgaben mit Code 2.
  • --log-json formatiert Warnungen/Fehler als JSON-Zeilen (nützlich für die Weiterverarbeitung).
  • --duration ist in Sekunden.
  • --packet-limit stoppt die Erfassung nach N Paketen, auch wenn die Dauer noch nicht abgelaufen ist.
  • --no-dns überspringt die Reverse-DNS-Auflösung (Hostname/FQDN bleiben leer).
  • --dns-timeout steuert das DNS-Abfrage-Timeout (Sekunden).
  • Online-GeoIP-Ergebnisse werden in geoip_online_cache.json im Ausgabeverzeichnis (oder Arbeitsverzeichnis) zwischengespeichert, sofern nicht mit --geoip-cache-path überschrieben.
Tool herunterladen
  • Gruppenzusammenfassungen: *_group_remote_ip*.csv/json, *_group_process*.csv/json, *_group_country*.csv/json
  • --deny-ip CIDR: Abgelehnte Remote-IP-CIDR(s)
  • --group-by remote_ip,process,country: Gruppenausgabe
  • --top N: Begrenze Gruppenzusammenfassungen auf die obersten N Zeilen
  • --beacon-min-duration SECONDS: Mindestdauer für Beacon-Erkennung
  • --beacon-min-packets COUNT: Mindestpaketanzahl für Beacon-Erkennung
  • --beacon-min-interval SECONDS: Mindestdurchschnittsintervall für Beacon-Erkennung
  • --beacon-max-interval SECONDS: Maximales Durchschnittsintervall für Beacon-Erkennung
  • --beacon-max-jitter SECONDS: Maximaler Intervall-Jitter für Beacon-Erkennung
  • --beacon-max-rate PPS: Maximale Pakete pro Sekunde für Beacon-Erkennung
  • --pattern-high-jitter SECONDS: Intervall-Jitter-Schwellenwert für zufällige Muster
  • --pattern-repeat-destination COUNT: Mindestverbindungen, um wiederholte Ziele zu kennzeichnen
  • --pattern-max-byte-jitter BYTES: Maximale Bytegroßenspanne für Konsistenz
  • --dns-pattern-min-queries COUNT: Mindest-DNS-Abfragen, um Muster zu kennzeichnen
  • --csv PFAD: CSV-Ausgabepfad (Standard: outbound_connections.csv)
  • --json PFAD: JSON-Ausgabepfad (Standard: outbound_connections.json)
  • --html PFAD: HTML-Berichtsausgabepfad
  • --pcap-out PFAD: Erfasste Pakete in eine Pcap-Datei schreiben
  • --output-dir PFAD: Alle Ausgabedateien in dieses Verzeichnis schreiben
  • --no-console: Konsolentabellenausgabe deaktivieren
  • --no-progress: Fortschrittsausgabe deaktivieren
  • --log-json: Warnungen/Fehler als JSON-Zeilen nach stderr ausgeben
  • --track-bytes: Gesamtbytes pro Verbindung verfolgen, wenn verfügbar
  • --geoip-db PFAD: GeoIP-Datenbankpfad (.mmdb oder IP2Location .BIN)
  • --geoip-db-type {auto,maxmind,dbip,ip2location}: GeoIP-DB-Typ (Standard: auto)
  • --geoip-online {ipapi,ip-api,ipinfo}: Kostenlosen Online-GeoIP-Dienst verwenden (ratenbegrenzt)
  • --geoip-online-token TOKEN: API-Token für Online-GeoIP-Anbieter (z. B. IPinfo)
  • --geoip-cache-path PFAD: Online-GeoIP-Cache-JSON-Pfad überschreiben
  • --geoip-timeout SECONDS: Online-GeoIP-Anfrage-Timeout (Standard: 3.0)
  • --geoip-retries COUNT: Online-GeoIP-Wiederholungsversuche (Standard: 2)
  • --no-dns: Reverse-DNS-Abfrage deaktivieren
  • --dns-timeout SECONDS: DNS-Abfrage-Timeout (Standard: 2.0)
  • last_seen
    source
  • byte_count (wenn --track-bytes aktiviert ist)
  • pattern_reason
    byte_min
    byte_max
    byte_range
    --track-bytes
  • DNS-Muster: dns_query, query_count, Resolver-IP/Port, Musterdetails und byte_min/byte_max/byte_range (mit --track-bytes)
  • --geoip-db-type auto verwendet die Dateierweiterung: .mmdb -> MaxMind/DB-IP, .BIN -> IP2Location.
  • IPinfo gibt ISO-Ländercodes zurück (z. B. US) statt vollständiger Ländernamen.
  • Die DNS-Mustererkennung wird aus DNS-Abfragepaketen abgeleitet, die im Pcap-Modus erfasst wurden.
  • Wenn --geoip-db weggelassen wird, bleibt die Spalte remote_country leer, es sei denn, --geoip-online wird verwendet.
  • Wenn sowohl --geoip-db als auch --geoip-online angegeben sind, wird die Datenbank verwendet.
  • --filter-port bezieht sich auf den Remote-Port (ausgehendes Ziel).
  • --track-bytes fügt byte_count-Spalten hinzu und ermöglicht Größenkonsistenzmuster.