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
tailsnitch — Ein Sicherheitsprüfer für Tailscale-Konfigurationen. Durchsucht Ihr Tailnet nach Fehlkonfigurationen, zu permissiven Zugriffskontrollen und Verstößen gegen Sicherheitsbest Practices. | Kitploit
Tools/GitHubGitHub/adversis/tailsnitch
SchwachstellenscannerKonfigurationsprüfungNetzwerksicherheitCloud-SicherheitDevSecOpsFehlkonfigurationIncident Response
GitHubadversis/tailsnitch

tailsnitch

Ein Sicherheitsprüfer für Tailscale-Konfigurationen. Durchsucht Ihr Tailnet nach Fehlkonfigurationen, zu permissiven Zugriffskontrollen und Verstößen gegen Sicherheitsbest Practices.

Repository anzeigen
1.1k29vor 5 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

Tailsnitch

Ein Sicherheitsauditor für Tailscale-Konfigurationen. Tailsnitch scannt Ihr Tailnet auf über 50 Fehlkonfigurationen, zu permissive Zugriffskontrollen und Verstöße gegen Sicherheitsbest Practices.

Kurzanleitung

root@kitploit:~
# 1. Tailscale-API-Anmeldeinformationen festlegen
export TS_API_KEY="tskey-api-..."

# 2. Audit ausführen
tailsnitch

# 3. Nur Ergebnisse mit hohem Schweregrad anzeigen
tailsnitch --severity high

# 4. Probleme ~interaktiv~ im Yolo-Modus beheben
tailsnitch --fix

Installation

Vorkompiliertes Binärprogramm herunterladen

Laden Sie die neueste Version von GitHub Releases herunter.

macOS-Benutzer: Entfernen Sie nach dem Herunterladen das Quarantäneattribut:

root@kitploit:~
sudo xattr -rd com.apple.quarantine tailsnitch

Über Go installieren

root@kitploit:~
go install github.com/Adversis/tailsnitch@latest

Aus dem Quellcode erstellen

root@kitploit:~
git clone https://github.com/Adversis/tailsnitch.git
cd tailsnitch
go build -o tailsnitch .

Authentifizierung

Tailsnitch unterstützt zwei Authentifizierungsmethoden. OAuth wird bevorzugt, wenn beide konfiguriert sind.

Option 1: OAuth-Client (Empfohlen)

OAuth-Clients bieten einen bereichsbezogenen, prüfbaren Zugriff, der nicht abläuft, wenn Mitarbeiter das Unternehmen verlassen.

root@kitploit:~
export TS_OAUTH_CLIENT_ID="..."
export TS_OAUTH_CLIENT_SECRET="tskey-client-..."

Erstellen Sie einen OAuth-Client unter: https://login.tailscale.com/admin/settings/oauth

Erforderliche Bereiche für schreibgeschütztes Audit:

  • all:read (am einfachsten) oder einzeln:
  • policy_file:read – ACL-Richtlinie
  • devices:core:read – Geräteliste
  • dns:read – DNS-Konfiguration
  • auth_keys:read – Authentifizierungsschlüssel (für AUTH-Prüfungen)

Zusätzliche Bereiche für den Korrekturmodus:

  • devices:core – Geräte löschen, Tags ändern (erfordert Tag-Auswahl)
  • auth_keys – Authentifizierungsschlüssel löschen

Option 2: API-Schlüssel

API-Schlüssel agieren als der Benutzer, der sie erstellt hat, und erben dessen Berechtigungen.

root@kitploit:~
export TS_API_KEY="tskey-api-..."

Erstellen Sie einen API-Schlüssel unter: https://login.tailscale.com/admin/settings/keys

Verwendungsbeispiele

Basisaudit

root@kitploit:~
# Vollständiges Audit ausführen
tailsnitch

# Auch bestandene Prüfungen anzeigen (ausführlich)
tailsnitch --verbose

# Ausgabe als JSON zur Weiterverarbeitung
tailsnitch --json

# Ein bestimmtes Tailnet auditieren (wenn der OAuth-Client Zugriff auf mehrere hat)
tailsnitch --tailnet mycompany.com

Ergebnisse filtern

root@kitploit:~
# Nur kritische und hohe Probleme anzeigen
tailsnitch --severity high

# Nach Kategorie filtern
tailsnitch --category access    # ACL-Probleme
tailsnitch --category auth      # Authentifizierung & Schlüssel
tailsnitch --category device    # Gerätesicherheit
tailsnitch --category network   # Netzwerkexposition
tailsnitch --category ssh       # SSH-Regeln
tailsnitch --category log       # Protokollierung & Verwaltung

# Nur bestimmte Prüfungen ausführen
tailsnitch --checks ACL-001,AUTH-001,DEV-010
tailsnitch --checks stale-devices,tailnet-lock-not-enabled

# Alle verfügbaren Prüfungen auflisten
tailsnitch --list-checks

Interaktiver Korrekturmodus

Der Korrekturmodus ermöglicht die direkte Behebung von Problemen über die Tailscale-API:

root@kitploit:~
# Interaktiver Korrekturmodus
tailsnitch --fix

# Vorschau, was behoben würde (Probelauf)
tailsnitch --fix --dry-run

# Sichere Korrekturen automatisch auswählen (erfordert dennoch Bestätigung)
tailsnitch --fix --auto

# Audit-Protokollierung von Korrekturaktionen deaktivieren
tailsnitch --fix --no-audit-log

Über die API korrigierbare Elemente:

PrüfungAktion
AUTH-001, AUTH-002, AUTH-003Authentifizierungsschlüssel löschen
AUTH-004Durch temporäre Schlüssel ersetzen

Der Korrekturmodus bietet auch direkte Links zur Admin-Konsole für Probleme, die manuelles Eingreifen erfordern.

SOC 2-Nachweisexport

Erstellen Sie Nachweisberichte für SOC 2-Audits mit Common Criteria (CC)-Steuerungszuordnungen:

root@kitploit:~
# Als JSON exportieren
tailsnitch --soc2 json > soc2-evidence.json

# Als CSV exportieren (für Tabellenkalkulationen)
tailsnitch --soc2 csv > soc2-evidence.csv

Der SOC 2-Bericht umfasst:

  • Testergebnisse pro Ressource (jedes Gerät, jeder Schlüssel, jede ACL-Regel einzeln getestet)
  • CC-Code-Zuordnungen (CC6.1, CC6.2, CC6.3, CC6.6, CC7.1, CC7.2 usw.)
  • Status Bestanden/Fehlgeschlagen/Nicht zutreffend für jede Kontrollprüfung
  • Zeitstempel für Prüfpfad

Beispiel-CSV-Ausgabe:

root@kitploit:~
resource_type,resource_id,resource_name,check_id,check_title,cc_codes,status,details,tested_at
device,node123,prod-server,DEV-001,Getaggte Geräte mit deaktiviertem Schlüsselablauf,CC6.1;CC6.3,PASS,Tags: [tag:server] Schlüsselablauf aktiviert,2025-01-05T10:30:00Z
key,tskey-auth-xxx,tskey-auth-xxx,AUTH-001,Wiederverwendbare Authentifizierungsschlüssel vorhanden,CC6.1;CC6.2;CC6.3,FAIL,Wiederverwendbarer Schlüssel läuft in 45 Tagen ab,2025-01-05T10:30:00Z

Bekannte Risiken ignorieren

Erstellen Sie eine .tailsnitch-ignore-Datei, um Ergebnisse für akzeptierte Risiken zu unterdrücken:

root@kitploit:~
# .tailsnitch-ignore
# Informative Prüfungen ignorieren
ACL-008  # Wir verwenden absichtlich keine Gruppen
ACL-009  # Legacy-ACLs sind für unseren Anwendungsfall in Ordnung

# Bestimmte mittlere Prüfungen mit Begründung ignorieren
DEV-006  # Externe Geräte sind genehmigte Auftragnehmer
LOG-001  # Flow-Protokolle erfordern Enterprise-Plan

Speicherorte der Ignore-Datei (in dieser Reihenfolge geprüft):

  1. .tailsnitch-ignore im aktuellen Verzeichnis
  2. ~/.tailsnitch-ignore im Home-Verzeichnis
root@kitploit:~
# Eine bestimmte Ignore-Datei verwenden
tailsnitch --ignore-file /pfad/zur/ignore

# Verarbeitung der Ignore-Datei vollständig deaktivieren
tailsnitch --no-ignore

JSON-Export und -Verarbeitung

root@kitploit:~
# Vollständigen Bericht exportieren
tailsnitch --json > audit.json

# Fehlgeschlagene Prüfungen als TSV extrahieren
tailsnitch --json | jq -r '
  .suggestions
  | map(select(.pass == false))
  | .[]
  | [.id, .title, .severity, .remediation]
  | @tsv
' > findings.tsv

# Zusammenfassung nach Schweregrad
tailsnitch --json | jq '
  .suggestions
  | map(select(.pass == false))
  | group_by(.severity)
  | map({severity: .[0].severity, count: length})
'

# Kritische/hohe Probleme mit Admin-Links auflisten
tailsnitch --json | jq -r '
  .suggestions
  | map(select(.pass == false and (.severity == "CRITICAL" or .severity == "HIGH")))
  | .[]
  | "\(.id): \(.title)\n  Fix: \(.fix.admin_url // "manual")\n"
'

Befehlsreferenz

Sicherheitsprüfungen

Tailsnitch führt 52 Sicherheitsprüfungen in 7 Kategorien durch. Siehe docs/CHECKS.md für die detaillierte Dokumentation jeder Prüfung.

Kritischer Schweregrad

Hoher Schweregrad

Mittlerer Schweregrad

Informativ

Prüfungen auf Protokollierungskonfiguration, DNS-Einstellungen, Benutzerrollen und manuelle Überprüfungspunkte.

Ausgabebeispiel

root@kitploit:~
+=====================================================================+
|                    TAILSNITCH SICHERHEITSAUDIT                      |
|            Tailnet: example.com                                     |
|            Version: 1.0.0 (Build: abc123)                           |
+=====================================================================+

  Verwendete Ignore-Datei: .tailsnitch-ignore (3 Regeln)

=== ZUGRIFFSKONTROLLEN ===================================================

[KRITISCH] ACL-001: Standardrichtlinie 'allow all' aktiv
  Ihre ACL-Richtlinie enthält das Feld 'acls' nicht. Tailscale wendet
  eine Standardrichtlinie 'allow all' an, die allen Geräten vollen Zugriff gewährt.

  Abhilfe:
  Definieren Sie explizite ACL-Regeln nach dem Prinzip der geringsten Privilegien.

  Quelle: https://tailscale.com/kb/1192/acl-samples
----------------------------------------------------------------------

=== AUTHENTIFIZIERUNG & SCHLÜSSEL =============================================

[HOCH] AUTH-001: Wiederverwendbare Authentifizierungsschlüssel vorhanden
  2 wiederverwendbare Authentifizierungsschlüssel gefunden. Diese können bei Kompromittierung
  zum Hinzufügen mehrerer Geräte wiederverwendet werden.

  Details:
    - Schlüssel tskey-auth-xxx (läuft in 45 Tagen ab)
    - Schlüssel tskey-auth-yyy (läuft in 89 Tagen ab)

  Abhilfe:
  Bewahren Sie wiederverwendbare Schlüssel in einem Secrets-Manager auf. Bevorzugen Sie Einmalschlüssel.

  Quelle: https://tailscale.com/kb/1085/auth-keys
----------------------------------------------------------------------

ZUSAMMENFASSUNG
======================================================================
  Kritisch: 1  Hoch: 3  Mittel: 5  Niedrig: 2  Info: 8
  Gesamtergebnisse: 19  |  Bestanden: 33

Tailnet-Lock-Prüfungen

Tailnet-Lock-Prüfungen (DEV-010, DEV-012) erfordern die lokale tailscale-CLI und werden gegen den Daemon des lokalen Rechners ausgeführt. Bei der Überprüfung eines entfernten Tailnets über --tailnet spiegeln diese Prüfungen den lokalen Status wider, nicht das überprüfte Tailnet.

root@kitploit:~
# Bei Bedarf benutzerdefinierten Tailscale-Binärpfad angeben
tailsnitch --tailscale-path /opt/tailscale/bin/tailscale
## CI/CD-Integration

Führen Sie Tailsnitch in CI/CD-Pipelines aus, um Sicherheitsregressionen zu erkennen:

```yaml
# GitHub Actions-Beispiel
- name: Tailscale-Sicherheit auditieren
  env:
    TS_OAUTH_CLIENT_ID: ${{ secrets.TS_OAUTH_CLIENT_ID }}
    TS_OAUTH_CLIENT_SECRET: ${{ secrets.TS_OAUTH_CLIENT_SECRET }}
  run: |
    tailsnitch --json > audit.json
    # Fehlschlagen, wenn kritische oder hohe Probleme vorhanden sind
    if tailsnitch --severity high --json | jq -e '.summary.critical + .summary.high > 0' > /dev/null; then
      echo "Kritische oder hohe Probleme gefunden!"
      tailsnitch --severity high
      exit 1
    fi

Referenzen

  • Tailscale Security Hardening Guide
  • ACL-Syntax-Referenz
  • Tailscale SSH
  • Audit-Protokollierung
  • Tailnet Lock

Lizenz

MIT

Mitwirken

Siehe CONTRIBUTING.md für Richtlinien.

Tool herunterladen
DEV-002Tags von Benutzergeräten entfernen
DEV-004Veraltete Geräte löschen
DEV-005Ausstehende Geräte autorisieren
FlagBeschreibung
--jsonAusgabe als JSON
--severityNach mindestens Schweregrad filtern: critical, high, medium, low, info
--categoryNach Kategorie filtern: access, auth, network, ssh, log, device, dns
--checksBestimmte Prüfungen ausführen (durch Komma getrennte IDs oder Slugs)
--list-checksAlle verfügbaren Prüfungen auflisten und beenden
--tailnetTailnet festlegen, das auditiert werden soll (Standard: vom API-Schlüssel)
--verboseAuch bestandene Prüfungen anzeigen
--fixInteraktiven Korrekturmodus aktivieren
--autoSichere Korrekturen automatisch auswählen (erfordert --fix)
--dry-runKorrekturaktionen ohne Ausführung in der Vorschau anzeigen (erfordert --fix)
--no-audit-logAudit-Protokollierung von Korrekturaktionen deaktivieren
--soc2SOC 2-Nachweise exportieren: json oder csv
--tailscale-pathPfad zur Tailscale-CLI (für Tailnet-Lock-Prüfungen)
--ignore-filePfad zur Ignore-Datei
--no-ignoreVerarbeitung der Ignore-Datei deaktivieren
--versionVersionsinformationen anzeigen
IDPrüfungRisiko
ACL-001Standardrichtlinie 'allow all'Alle Geräte haben uneingeschränkten Zugriff
ACL-002SSH-autogroup:nonroot-FehlkonfigurationSSH als jeder Nicht-Root-Benutzer
ACL-006tagOwners zu weit gefasstPrivilegieneskalation über Tags
ACL-007Verwendung von autogroup:danger-allZugriff für externe Benutzer gewährt
IDPrüfungRisiko
AUTH-001Wiederverwendbare AuthentifizierungsschlüsselUnbegrenzte Gerätehinzufügungen bei Diebstahl
AUTH-002Langlaufende AuthentifizierungsschlüsselErweitertes Expositionsfenster
AUTH-003Vorautorisierte SchlüsselUmgehung der Gerätefreigabe
DEV-001Getaggte Geräte ohne SchlüsselablaufUnbegrenzter Zugriff
DEV-002Benutzergeräte getaggtBleiben nach Entfernung des Benutzers bestehen
DEV-010Tailnet-Lock deaktiviertKein Schutz vor gestohlenen Schlüsseln
DEV-012Ausstehende Tailnet-Lock-SignaturenNicht signierte Knoten müssen überprüft werden
NET-001Funnel-ExpositionÖffentlicher Internetzugriff
NET-003Vertrauensgrenze des Subnet-RoutersUnverschlüsselter Verkehr im lokalen Netzwerk
SSH-002Root-SSH ohne Check-ModusKeine erneute Authentifizierung erforderlich
IDPrüfungRisiko
ACL-004Verwendung von autogroup:memberExterne Benutzer eingeschlossen
ACL-005AutoApprovers konfiguriertUmgehung der Routenfreigabe
AUTH-004Nicht-ephemere CI/CD-SchlüsselVeraltete Geräte sammeln sich an
DEV-003Veraltete ClientsPotenzielle Schwachstellen
DEV-004Veraltete GeräteUngenutzte Angriffsfläche
DEV-005Nicht autorisierte GeräteAusstehende Freigabewarteschlange
DEV-007Vertrauliche MaschinennamenCT-Log-Exposition
DEV-009GerätefreigabekonfigurationMöglicherweise nicht aktiviert
NET-004HTTPS-CT-Log-ExpositionMaschinennamen öffentlich
NET-005Sichtbarkeit des Exit-Node-VerkehrsBetreiber sieht gesamten Verkehr
NET-006Serve-ExpositionLokale Dienste im Tailnet
SSH-003Recorder-UI-ExpositionSitzungen für Netzwerk sichtbar