Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
Prober — Automatisiertes, reproduzierbares Netzwerksicherheits-Testframework, das Ansible und BATS verwendet, um DNS, Hostverfügbarkeit, offene Ports und TLS-Konfiguration von mehreren Standpunkten aus zu überprüfen. | Kitploit
Tools/GitLabGitLab/isnic/prober
SchwachstellenscannerPort-ScanningKonfigurationsprüfungNetzwerksicherheitPenetrationstestsDNS-Analyse
GitLabisnic/prober

Prober

Automatisiertes, reproduzierbares Netzwerksicherheits-Testframework, das Ansible und BATS verwendet, um DNS, Hostverfügbarkeit, offene Ports und TLS-Konfiguration von mehreren Standpunkten aus zu überprüfen.

Repository anzeigen
119vor 5 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Netzwerkanahmen reproduzierbar überprüfen

Dieses Projekt verwendet Ansible, um BATS-Testdateien zu generieren, die Sicherheitsannahmen über die Netzwerkinfrastruktur überprüfen. Tests werden von Testmaschinen („Prober-Knoten“) ausgeführt, auf denen Prober bereitgestellt wird.

Dieses Tool ist für reproduzierbare, automatisierte Tests eigener Netzwerke gedacht. Es unterstützt mehrere Prober-Knoten, die Tests ausführen, jeder mit einer anderen Sicht auf das getestete Netzwerk — zum Beispiel eine Sicht aus der externen Zone, eine aus der internen Zone und eine Sicht aus der DMZ.

Die Verwendung von Prober zum Sondieren von Netzwerken, für die Sie nicht autorisiert sind, könnte illegal sein.

Voraussetzungen

Auf dem Ansible-Master, der zum Bereitstellen von Tests auf Prober-Knoten verwendet wird:

  • ansible (klar!)
  • python*-netaddr (unter GNU/Linux) / py*-netaddr (unter FreeBSD)

Auf den Prober-Knoten selbst:

  • bash
  • ssh
  • nmap
  • dig/kdig
  • testssl
  • und alle weiteren Abhängigkeiten, die von der Ansible-Rolle installiert werden.

Auf einem System, auf dem Sie die Ergebnisse (*.tap-Dateien) überprüfen, möchten Sie vielleicht tappy installieren. Die Ergebnisse werden auf jedem Prober-Knoten in lokalen Git-Repositories gespeichert (standardmäßig in /var/run/prober/results/, siehe unten für Konfigurationsoptionen), mit Commits, die mit dem Datum jedes abgeschlossenen Scan-Durchlaufs getaggt sind, für historische Aufzeichnung und einfachen Vergleich.

Betrieb

Ansible wird verwendet, um Tests auf Prober-Knoten zu generieren. Ein Prober-Knoten kann jeder FreeBSD- oder GNU/Linux-Host sein, solange es möglich ist, Probers Abhängigkeiten zu installieren. Er muss nicht dediziert für Tests sein, wird aber empfohlen — ein Scan eines vernünftig großen Netzwerks wird Stunden dauern, viel CPU verbrauchen und eine beträchtliche Menge an Datenverkehr erzeugen.

Es ist sinnvoll, Prober auf mehreren verschiedenen Maschinen bereitzustellen, um zu überprüfen, wie Ihr Netzwerk von verschiedenen Blickwinkeln aussieht (z.B. internes Netzwerk, DMZ, Internet).

Im Testverzeichnis auf den Prober-Knoten wird ein Skript run-tests.sh erstellt, um die Ausführung der Tests zu erleichtern. Die Tests werden so ausgeführt, dass zu jeder Zeit <simultaneous_tests_count> Tests gleichzeitig laufen — diese Variable ist die Hauptmethode, um zu steuern, wie viele Ressourcen ein Scan verwendet und wie viel Bandbreite er benötigt.

Testergebnisse werden dann in einem lokalen Git-Repository gespeichert, wobei Commits mit dem Datum getaggt sind, an dem ein bestimmter Durchlauf beendet wurde (welches sich vom Startdatum für einige lange Scan-Durchläufe unterscheiden kann).

Wenn Sie mit einer Infrastruktur umgehen, die größer als nur ein paar Hosts ist, kann es sinnvoll sein, ein Tool wie Mitogen zu verwenden, um die Testgenerierung drastisch zu beschleunigen.

Schnellstart

  1. Bereiten Sie einen Debian- oder FreeBSD-Server zur Nutzung als Prober-Knoten vor (nennen wir ihn prober.example.com), stellen Sie sicher, dass Sie SSH-Zugriff darauf haben und sudo ausführen können.

  2. Kopieren Sie das Beispiel-Inventar als inventories/test/.

  3. In diesem test-Inventar:

    1. Bearbeiten Sie group_vars/all.yml und setzen Sie zone_nameserver, zone_domains, address_blocks nach Ihren Wünschen; nehmen wir an, Sie fügen example.com als einzige zu testende Domain hinzu.
    2. Bearbeiten Sie die Datei hosts und konfigurieren Sie Ihren Prober-Knoten prober.example.com im Abschnitt [prober-nodes]; sagen wir, Sie setzen tested_zone auf test.
  4. Kopieren Sie die Beispiel-Zonenkonfiguration als data/<tested_zone>.yml (also in unserem Fall: data/test.yml) und bearbeiten Sie sie; mindestens muss der Schlüssel tested_zone_settings.name den Wert von tested_zone enthalten (also test).

  5. Exportieren Sie Ihre DNS-Zone und speichern Sie sie als data/<dns_zone>.zone (in unserem Fall: example.com).

  6. Führen Sie das Playbook aus:

    ansible-playbook prober.yml -i inventories/test/ -vvv
    

    Dadurch werden die Tests auf dem Prober-Knoten generiert und ein Cronjob eingerichtet, der sie jede Nacht um 01:00 Uhr ausführt.

Sie können sich jetzt per ssh in den Prober-Knoten einloggen und die generierten Tests in /opt/prober/ inspizieren. Sobald Sie zufrieden sind, können Sie sie durch Ausführen von /opt/prober/run_tests.sh starten. Die Ergebnisse werden in /var/run/prober/results gespeichert.

Konfiguration

Konfigurationsvariablen (definiert in probers.yml):

  • tests_directory (Standard: /opt/prober):
    Verzeichnis auf den Prober-Knoten, in dem die Testdateien (*.bats-Dateien) generiert werden.

  • results_repo_directory (Standard: /var/run/prober/results): Verzeichnis des Repositories für Testergebnisse (*.tap-Dateien); dort wird ein git-Repository initialisiert und ein Unterverzeichnis tap/ für die eigentlichen Ergebnisse erstellt; Ergebnisse werden in das git-Repository committed, Commits werden mit einem Datum im Format yyyy-mm-dd getaggt (der Commit mit Ergebnissen eines Tests, der am 19. März 2020 beendet wurde, ist beispielsweise als 2020-03-19 getaggt).

  • simultaneous_tests_count (Standard: 20):
    Wie viele Tests gleichzeitig ausgeführt werden.

  • prober_dev (Standard: nicht definiert):
    Überspringen bestimmter Aufgaben, die auf einem Entwicklungsrechner keinen Sinn ergeben (wie das Einrichten von cron oder zabbix).

Zonen

Zonen werden in Dateien ./data/<zone_name>.yml definiert, wobei der oberste Schlüssel die Zeichenkette "tested_zone_settings" ist, die dann folgende Schlüssel enthält:

  • name: der Name der Zone, passend zum Dateinamen (ohne Erweiterung); z.B. "internal", "external", "dmz"
  • default (optional): die Standardeinstellungen für alle Hosts in dieser Zone
  • Regex-Schlüssel (müssen mit einem "^" Zeichen beginnen), die mehrere FQDNs abgleichen
  • ein Schlüssel pro FQDN, der eine explizite Konfiguration benötigt

Der default-Schlüssel, jeder Regex-Schlüssel und jeder Domain-Schlüssel können wiederum diese Schlüssel enthalten:

  • resolve: soll der Host zur relevanten IP-Adresse aufgelöst werden (bool true/false oder der String "skip")
  • ping: soll der Host auf Ping antworten (bool true/false oder der String "skip")
  • ports: Liste der TCP- und UDP-Ports, die offen sein dürfen (Unter-Schlüssel "tcp" und "udp", jeweils ein Array von Integern, die offene Ports definieren, oder der String "skip"), und TLS-fähige Ports für eine tiefere Inspektion (der tls-Unter-Schlüssel, der ein Dict mit Portnummern als Schlüsseln und dem Typ des TLS-Dienstes oder dem Wort "skip" als Wert enthält)
    ports: "skip" ist eine Abkürzung für:
    ports:
      tcp: "skip"
      udp: "skip"
      tls: "skip"
    
    TLS-Diensttypen sind alles, was testssl.sh für die Option -t/--starttls unterstützt, "https" für HTTPS-Test (einschließlich Header) oder "tls" für generischen TLS-Test.
    HINWEIS: TLS-Tests werden nicht ausgeführt, es sei denn, der Port ist auch im Schlüssel "tcp" als offen markiert.
  • skip: ob der Host vollständig übersprungen werden soll (boolesch)

Eine Beispielkonfiguration finden Sie hier.

Tool herunterladen