Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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
ssh-enum — Dieses Projekt untersucht, ob modernes OpenSSH gültige Benutzernamen durch subtile Antwort- oder Timing-Unterschiede preisgibt. Untersuchung der Benutzeraufzählung gemäß CVE-2016-6210 ( Welch's t-Test, Cohen's d und Detection Engineering ) in einem kontrollierten Labor unter Ubuntu 22.04.5 LTS; außerdem werden die Spuren untersucht, die solche Versuche hinterlassen, und wie sie erkannt werden können. | Kitploit
Tools/GitHubGitHub/alisha-chaudhary/ssh-enum
AufklärungSchwachstellenanalyseInformationsbeschaffungPenetrationstestsPapers & ForschungLernen & BildungLog-Analyse
GitHubalisha-chaudhary/ssh-enum

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

ssh-enum

Repository anzeigen
12vor 3 MonatenNoch nicht geprüft

Über

Dieses Projekt untersucht, ob modernes OpenSSH gültige Benutzernamen durch subtile Antwort- oder Timing-Unterschiede preisgibt. Untersuchung der Benutzeraufzählung gemäß CVE-2016-6210 ( Welch's t-Test, Cohen's d und Detection Engineering ) in einem kontrollierten Labor unter Ubuntu 22.04.5 LTS; außerdem werden die Spuren untersucht, die solche Versuche hinterlassen, und wie sie erkannt werden können.

Teilen

ssh-enum

Statistische Validierungsstudie von CVE-2016-6210

Eine reproduzierbare Neuuntersuchung der OpenSSH-Benutzernamensaufzählung mittels statistischer Analyse.

Dieses Projekt untersucht CVE-2016-6210, einen dokumentierten OpenSSH-Zeit-Seitenkanal, erneut, um festzustellen, ob er auf einem modernen Ubuntu-Server mit Standard-PAM-Konfiguration weiterhin beobachtbar ist.

Anstatt davon auszugehen, dass das veröffentlichte Verhalten noch zutrifft, bewertet das Projekt Authentifizierungszeitmessungen, die durch manuelles Probing, Hydra und Metasploit gesammelt wurden, mithilfe des Welch-t-Tests und Cohen's d, um echte Zeitsignale von Messrauschen zu unterscheiden.

Die Studie ergab keinen statistisch signifikanten Zeitunterschied bei der getesteten Standardkonfiguration, was den Wert reproduzierbarer Experimente und evidenzbasierter Validierung veröffentlichter Sicherheitsbehauptungen demonstriert.


⚠️ Rechtlicher Hinweis

Dieses Projekt wurde vollständig in einer selbst betriebenen, isolierten Laborumgebung durchgeführt. Alle Ergebnisse gelten ausschließlich für die getestete Konfiguration. Testen Sie niemals Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben.


Inhaltsverzeichnis

  • Problemstellung
  • Laboraufbau
  • Methodik
  • Was entwickelt wurde
  • Beobachtungen & Ergebnisse
  • Denkprozess
  • Sicherheitsrisiken
  • Abhilfestrategien
  • Zukünftige Erweiterungen
  • Projektstruktur
  • Schnellstart
  • Referenzen

🎯 Problemstellung

Benutzernamensaufzählung - die Fähigkeit festzustellen, ob ein bestimmter Benutzername auf einem entfernten System existiert, ohne gültige Anmeldedaten. Es ist ein kritischer erster Schritt in der Angriffskette, der zur Kompromittierung von Konten führt:``` Reconnaissance → [User Enumeration] → Password Attack → Access ↑ This project investigates here

Wenn ein Angreifer durch Analyse der Serverantworten zwischen „dieser Benutzer existiert“ und „dieser Benutzer existiert nicht“ unterscheiden kann, kann er den Schlüsselraum für anschließende
Brute-Force- oder Credential-Stuffing-Angriffe drastisch reduzieren.

SSH ist ein häufiges Ziel, weil es nahezu universell exponiert ist, Passwortauthentifizierung unterstützt und ältere Implementierungen messbare Zeitunterschiede zwischen gültigen und ungültigen Benutzernamen aufwiesen (CVE-2016-6210).

**Diese Untersuchung stellt zwei Fragen:**

1. Gibt modernes OpenSSH auf Ubuntu 22.04.5 LTS mit Standardkonfiguration die Existenz von Benutzernamen über Antwortnachrichten, Zeitmessungen oder von Werkzeugen gemeldete Signale preis?
2. Wenn ein Angreifer den Versuch dennoch unternimmt, welche Artefakte hinterlässt er? und wie zuverlässig können diese erkannt werden?

---

## 🖥️ Laboraufbau

Alle Tests wurden in einem vollständig isolierten host-only virtuellen Netzwerk ohne Internetverbindung durchgeführt.

| Rechner  | Betriebssystem | Rolle | IP               | SSH-Version |
|----------|----------------|-------|------------------|-------------|
| Angreifer | Kali Linux 2024.1 | Offensive Werkzeuge, Analyse-Skripte | 192.168.56.5 | — |
| Ziel     | Ubuntu Server 22.04.5 LTS | Ausführung von OpenSSH mit **Standard**-Konfiguration | 192.168.56.10 | OpenSSH 8.9p1 |

**SSH-Konfiguration des Ziels (`/etc/ssh/sshd_config` Standardwerte):**```
PasswordAuthentication yes
UsePAM yes                  # Key setting — normalises timing via dummy hash
PermitRootLogin prohibit-password
MaxAuthTries 6
LogLevel INFO

UsePAM yes ist die kritische Härtungseinstellung. Sie zwingt OpenSSH, für nicht existierende Benutzer eine Dummy-bcrypt-Berechnung durchzuführen, die dem Zeitverhalten einer echten Passwortprüfung entspricht. Dies wurde speziell als Gegenmaßnahme für CVE-2016-6210 eingeführt.


🔬 Methodik

Jede Angriffsmethode wurde als unabhängiger Test mit einem sauberen Log-Status ausgeführt:```bash

Reset log state on target before each trial

sudo truncate -s 0 /var/log/auth.log

After attack: collect evidence

sudo cp /var/log/auth.log ~/evidence/trial-N-auth.log

Erhobene Beweise pro Testlauf:
- Tool stdout/stderr (wörtlich gespeichert)
- `/var/log/auth.log` vom Ziel
- Antwortzeitmessungen über `time.perf_counter()` in `manual_ssh.py`
- SSH-Banner, das vor jedem Authentifizierungsversuch abgegriffen wurde

### Angriffsmethoden

| Methode                      | Werkzeug                              | Wortliste               | Zweck                                                |
|------------------------------|---------------------------------------|-------------------------|------------------------------------------------------|
| Manuelles SSH                | `ssh` CLI + Paramiko                  | 50 gebräuchliche Benutzernamen | Basislinie; Rohantworten prüfen                      |
| Hydra-Brute-Force            | `hydra`                               | gleiche 50              | Automatisiert; nutzt Hydras eingebauten Enum-Modus   |
| Metasploit-Modul             | `auxiliary/scanner/ssh/ssh_enumuser`  | gleiche 50              | Dediziertes Enumerationsmodul des Frameworks         |
| Banner-Fingerprinting        | benutzerdefinierter `BannerFingerprinter` | N/A                   | Version-Leck ohne Authentifizierung, CVE-Prüfung     |
| Timing-Analyse               | benutzerdefinierter `ResponseAnalyzer` | gültige vs. ungültige Teilmenge | Statistische Seitenkanalprüfung                      |

---

## Was gebaut wurde

Dieses Projekt geht über das reine Ausführen von Werkzeugen hinaus – es kapselt jeden Angriff und die gesamte Erkennungslogik in einer strukturierten Python-Codebasis und bietet einen Orchestrator, der die gesamte Pipeline Ende-zu-Ende ausführt.

### Angriffswerkzeuge (`src/attack_tools/`)

**`ManualSSHEnumerator`** — Testet jeden Benutzernamen N-mal mit `paramiko` und zeichnet präzises Timing, Ergebnistyp und SSH-Banner auf. Berechnet Mittelwert/Standardabweichung pro Benutzername. Entscheidend ist, dass es die Verbindungen zwischen den Versuchen **nicht** wiederverwendet, sodass jede Stichprobe die vollständige serverseitige Verarbeitungszeit erfasst.

**`BannerFingerprinter`** — Holt das SSH-Banner über einen rohen TCP-Socket (keine Anmeldedaten erforderlich). Analysiert Implementierungsname, Versionszeichenfolge und OS-Hinweis. Kreuzverweise mit einem lokalen CVE-Register. Eine Version wie `OpenSSH_8.9p1 Ubuntu-3ubuntu0.6` zeigt die genaue Serversoftware an – möglicherweise ausreichend, um bekannte Schwachstellen zu identifizieren, bevor eine Authentifizierung versucht wird.

**`HydraAutomation`** — Subprocess-Wrapper um Hydra. Analysiert stdout, um erfolgreiche Anmeldungen, Fehlermeldungen und Hydras eigenes Enumerationsurteil (`does not support user enumeration`) zu extrahieren.

**`MetasploitScanner`** — Schreibt ein temporäres Ressourcenskript und steuert `msfconsole` über Subprocess. Analysiert Ausgabe auf Härtungserkennung und gefundene Benutzernamen.

### Erkennungswerkzeuge (`src/detection_tools/`)

**`LogParser`** — Regex-basierter auth.log-Parser, der fünf SSH-Ereignistypen unterstützt: `failed_invalid_user`, `failed_valid_user`, `pre_auth_reject`, `accepted`, `disconnected`. Gibt strukturierte Ereignis-Dicts mit Zeitstempel, Ereignistyp, Benutzername, Quell-IP und Port zurück.

**`ResponseAnalyzer`** — Führt Welch's t-Test auf Zeitverteilungen von gültigen vs. ungültigen Benutzernamen durch. Berechnet Zeitdifferenz (ms), p-Wert, Cohen's d Effektstärke und eine Schlussfolgerung in einfacher Sprache. Schwelle: Delta ≥ 5ms UND p < 0.05 löst eine Seitenkanalwarnung aus.
Tool herunterladen