TASIOMIND.DEV — OPERATIONAL▸▸▸FULL STACK DEVELOPER @ GWQ SERVICEPLUS AG▸▸▸FOUNDER — K8SGPT.AI▸▸▸OPEN SOURCE: ACTIVE▸▸▸DISTRIBUTED SYSTEMS / KUBERNETES / AI▸▸▸RUST + GO + PYTHON▸▸▸FIELD TESTED / STATUS — NOMINAL▸▸▸LOCATION: EUROPE/BERLIN▸▸▸TASIOMIND.DEV — OPERATIONAL▸▸▸FULL STACK DEVELOPER @ GWQ SERVICEPLUS AG▸▸▸FOUNDER — K8SGPT.AI▸▸▸OPEN SOURCE: ACTIVE▸▸▸DISTRIBUTED SYSTEMS / KUBERNETES / AI▸▸▸RUST + GO + PYTHON▸▸▸FIELD TESTED / STATUS — NOMINAL▸▸▸LOCATION: EUROPE/BERLIN▸▸▸
GoSSHSecurity AuditingVulnerability AssessmentComplianceCVE DetectionDockerAWS

SSH-Hack – Enterprise SSH Security Auditor

Ein professionelles SSH-Infrastruktur-Sicherheitsaudit-Tool für Unternehmen und Security-Teams. Systematische Erkennung, Analyse und Härtung von SSH-Infrastrukturen mit automatischer Schwachstellenerkennung und Compliance-Prüfung.

Aland Baban · November 2025 · 7 min read
View repo

Ein Enterprise-Grade SSH-Sicherheitsaudit-Tool, das SSH-Infrastrukturen systematisch entdeckt, analysiert und härtet. Es bietet automatische CVE-Erkennung, Kryptografie-Analyse, Policy-Auditing und umfassende Reporting-Funktionen für Sicherheitsteams und Systemadministratoren.

Projektziele

Das SSH-Hack Tool wurde entwickelt, um Sicherheitsteams bei der systematischen Überprüfung ihrer SSH-Infrastruktur zu unterstützen. Die Kernziele umfassen:

  • Discovery: Nicht-invasive TCP-Connect-Scans zur Erkennung von SSH-Diensten ohne erhöhte Rechte.
  • Kryptografie-Analyse: Detailliertes Parsen des KEXINIT-Handshakes zur Validierung von Ciphers, MACs und Schlüsselaustauschverfahren.
  • Policy-Auditing: Überprüfung von Server-Konfigurationen (sshd -T und sshd_config) auf Compliance.
  • CVE-Mapping: Korrelation von Software-Versionen mit bekannten Schwachstellen aus einer Offline-Datenbank.
  • Risikobewertung: Erkennung von Abweichungen von einer Sicherheits-Baseline mit einem quantitativen Risiko-Score (0-100).
  • Reporting: Erstellung von Berichten in Formaten wie JSON, Markdown, SARIF und interaktiven HTML-Dashboards.
  • Remediation: Automatische Generierung von Skripten zur Behebung identifizierter Schwachstellen.
  • Anomalie-Erkennung: Identifikation statistischer Ausreißer, die auf Honeypots oder Rate Limiting hindeuten könnten.

Technologiestack

  • Go 1.24+: Hochperformante Entwicklung mit Goroutinen für nebenläufige Operationen.
  • x/crypto/ssh: Implementierung des SSH-Protokolls für die Handshake-Analyse.
  • Docker: Containerisierung der Anwendung für einfache Bereitstellung und Portabilität.
  • AWS SDK: Ermöglicht die automatische Erkennung von EC2-Instanzen in Cloud-Infrastrukturen.
  • Nmap Integration: Import von Scan-Ergebnissen aus Nmap zur Erweiterung der Ziel-Listen.
  • Shodan API: Anbindung zur Abfrage externer Scandaten.
  • SQLite: Lokale Speicherung von Scan-Ergebnissen zur Trendanalyse.
  • D3.js: Wird zur Erstellung interaktiver HTML-Dashboards verwendet.

Hauptmerkmale

Discovery & Scanning

  • Unterstützung für IPv4/IPv6 CIDR-Notation.
  • Nebenläufiges TCP-Connect-Scanning ohne Root-Rechte.
  • Banner-Grabbing und Normalisierung zur Versionserkennung.
  • Optionaler DNS-Reverse-Lookup.
  • Konfigurierbares Rate Limiting mit Jitter zur Vermeidung von Netzwerküberlastung.
  • Import von Ziellisten aus Shodan und Nmap.

SSH-Analyse

  • Handshake-Analyse: Parsen von KEXINIT-Nachrichten (Kex, Ciphers, MACs, Kompression).
  • Host Keys: Erstellung von SHA256/MD5-Fingerprints und Analyse der Schlüsselgrößen.
  • Policy-Checks: Remote-Abfrage mittels sshd -T oder direktes Parsen von Konfigurationsdateien.
  • Timing-Analyse: Messung von Round-Trip-Time (RTT) und Handshake-Dauer.
  • Fingerprinting: Erkennung verschiedener SSH-Implementierungen (OpenSSH, Dropbear etc.).

Security & Compliance

  • Abgleich der Konfigurationen mit einer definierten Baseline (erlaubt, veraltet, verboten).
  • CVE-Mapping auf Basis einer integrierten Offline-Datenbank.
  • Generierung von Risiko-Scores (0-100) mit zugehörigen Schweregraden.
  • Kategorisierung der Befunde (kex, cipher, mac, policy, version).
  • Implementierung eines Consent-Gates (--i-am-authorized) zur Sicherstellung einer autorisierten Nutzung.

Reporting & Integration

  • JSON: Maschinenlesbares Format mit allen Details für die Weiterverarbeitung.
  • Markdown: Menschenlesbare Zusammenfassungen für Management-Reports.
  • SARIF: Standardisiertes Format für statische Analyseergebnisse zur Integration in GitHub Security, GitLab etc.
  • HTML: Interaktive Dashboards mit D3.js-Visualisierungen.
  • CI/CD: Integration in GitHub Actions und GitLab CI für automatisierte Security-Scans.
  • Alerting: Benachrichtigungen via Slack-Webhooks bei Verschlechterung des Sicherheits-Scores.

Cloud & Automation

  • AWS EC2 Discovery: Automatische Erfassung von EC2-Instanzen als Scan-Ziele.
  • Geplante Scans: Periodische Ausführung von Audits mittels Cron-Syntax.
  • Trendanalyse: SQLite-basierte Speicherung von Verlaufsdaten.
  • Remediation Scripts: Automatische Erstellung von Anleitungen zur Problembehebung.

Systemarchitektur

code
ssh-hack/
├── cmd/ssh-audit/          # CLI Entrypoint
├── internal/
│   ├── models/             # Datenstrukturen
│   ├── net/scan/           # TCP Discovery
│   ├── ssh/
│   │   ├── handshake/      # KEXINIT-Analyse
│   │   └── policy/         # sshd Config Parsing
│   ├── analyze/            # Scoring Engine
│   ├── report/             # JSON/Markdown/SARIF
│   ├── storage/            # Baseline/Vuln DB
│   └── util/               # Logging, Sanitization
├── configs/
│   ├── baseline.yml        # Security Baseline
│   └── vulns.yml           # CVE-Datenbank
└── Dockerfile

Technische Herausforderungen und Erkenntnisse

  • Nebenläufigkeit und Performance: Effiziente Verwaltung von Goroutinen für das parallele Scannen von Tausenden von Hosts sowie die Implementierung von Rate Limiting und Jitter zur Vermeidung von Netzwerküberlastung.
  • Protokolltiefe: Implementierung des KEXINIT-Parsings ohne vollständigen SSH-Handshake sowie die Analyse von SSH-Bannern zur genauen Versionserkennung.
  • Sicherheit und Ethik: Strikte Implementierung von Sicherheitsgattern (--i-am-authorized) zur Verhinderung von Missbrauch und die automatische Bereinigung sensibler Daten in Logs.
  • Cloud-Integration: Integration des AWS SDK für die dynamische Erkennung von EC2-Instanzen über mehrere Regionen hinweg, inklusive Handhabung von API-Rate-Limits.

Bereitstellungsoptionen

Standalone Binary

code
go build -tags "sched,nmap,cloud" -o ssh-audit ./cmd/ssh-audit

Docker Container

code
docker build -t ssh-audit .
docker run --rm -v $(pwd)/configs:/configs \
  ssh-audit --allowlist 10.0.0.0/24 --i-am-authorized

CI/CD Pipeline

Die Integration in GitHub Actions ermöglicht automatische Security-Scans bei Deployments, wobei die Ergebnisse im SARIF-Format hochgeladen werden, um Security Alerts zu generieren.

Anwendungsfälle

  • Compliance Auditing: Regelmäßige Überprüfung von SSH-Konfigurationen anhand von Standards wie CIS oder NIST.
  • Schwachstellenmanagement: Automatische Erkennung von CVEs in den eingesetzten SSH-Versionen.
  • Security Hardening: Identifikation und Behebung von schwachen Cipher-Suiten, MACs und Kex-Algorithmen.
  • Infrastructure Discovery: Aufspüren unbekannter oder nicht dokumentierter SSH-Dienste im Netzwerk.
  • Kontinuierliches Monitoring: Geplante Scans mit Benachrichtigungen bei einer Verschlechterung des Sicherheits-Scores.

Beispiel-Ausgabeformate

Das Werkzeug generiert umfassende Berichte, die folgende Informationen enthalten:

  • Detaillierte Risiko-Scores pro Host (0-100).
  • CVE-Zuordnungen mit Schweregraden.
  • Analyse von Abweichungen gegenüber der definierten Baseline.
  • Konkrete Empfehlungen zur Härtung der Systeme.
  • Interaktive HTML-Dashboards mit grafischen Auswertungen.

Sicherheitsaspekte

  • Autorisierte Nutzung: Das Tool erfordert die explizite Bestätigung der Nutzungsberechtigung (--i-am-authorized).
  • Passives Vorgehen: Es werden ausschließlich passive Erkundungstechniken ohne versuchte Exploits verwendet.
  • Sanitized Logging: Sensible Daten in Log-Ausgaben werden automatisch redigiert.
  • Auditierbarkeit: Strukturierte JSON-Logs ermöglichen eine lückenlose Nachvollziehbarkeit.
  • Keine Speicherung von Zugangsdaten: Das Tool speichert zu keinem Zeitpunkt persistente Zugangsdaten.

Zum Projekt-Repository auf GitHub