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
CVE-2024-3094 — Bildungslabor, das die XZ-Utils-Hintertür (CVE-2024-3094) mit einem benutzerdefinierten Ed448-Schlüsselpaar nachbildet. Enthält ein gepatchtes liblzma, einen systemd-Dienst und einen Exploit-Client für autorisierte Sicherheitsforschung. | Kitploit
Tools/GitHubGitHub/h3raklez/cve-2024-3094
SchwachstellenanalyseExploitationMalware-AnalyseKryptographiePenetrationstestsLieferkettensicherheitLernen & BildungLabs & Praxis
GitHubh3raklez/cve-2024-3094

CVE-2024-3094

Bildungslabor, das die XZ-Utils-Hintertür (CVE-2024-3094) mit einem benutzerdefinierten Ed448-Schlüsselpaar nachbildet. Enthält ein gepatchtes liblzma, einen systemd-Dienst und einen Exploit-Client für autorisierte Sicherheitsforschung.

Repository anzeigen
4vor 5 MonatenNoch 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

CVE-2024-3094 — XZ-Utils-Hintertür

Nur für Bildungszwecke und autorisierte Sicherheitsforschung.

Schwachstellenbeschreibung

CVE-2024-3094 ist eine Hintertür, die in den Versionen 5.6.0 und 5.6.1 von XZ Utils (liblzma) eingeführt und am 29. März 2024 vom Sicherheitsforscher Andres Freund entdeckt wurde. Ihr wurde ein CVSS-Wert von 10.0 (Kritisch) zugewiesen.

Dies ist ein Lieferkettenangriff, der über mehr als zwei Jahre von einem Bedrohungsakteur namens „Jia Tan“ (JiaT75) durchgeführt wurde, der sich innerhalb des Projekts Vertrauen aufbaute, bis er den Status eines Co-Maintainers erlangte, und die Hintertür direkt in die Distributions-Tarballs einführte.

Technischer Mechanismus

Die Hintertür funktioniert wie folgt:

  1. Die bösartige liblzma.so hookt die Funktion RSA_public_decrypt() in OpenSSH über glibcs IFUNC-Mechanismus und fängt den SSH-Authentifizierungsprozess ab.
  2. Wenn sich ein Client verbindet, wertet die Hintertür ein bestimmtes Feld im vorgelegten SSH-Zertifikat aus.
  3. Wenn dieses Feld einen Payload enthält, der mit ChaCha20 verschlüsselt und mit einem bestimmten Ed448-privaten Schlüssel signiert ist, führt die Hintertür den eingebetteten Befehl über mit sshd-Privilegien (root) aus.
system()
  • Ist die Signatur ungültig, setzt sshd seinen normalen Ablauf ohne Auffälligkeiten fort.
  • Anforderungen für die Ausnutzung

    • System mit glibc (IFUNC-Unterstützung)
    • XZ Utils 5.6.0 oder 5.6.1 installiert
    • Über systemd gestartetes sshd (kritische Anforderung — das IFUNC-Hooking wird nicht aktiviert, wenn sshd manuell über die Befehlszeile gestartet wird)
    • x86-64-System

    Ursprünglich betroffene Distributionen

    • Fedora Linux 40 beta / Rawhide
    • Debian unstable, testing, experimental
    • Kali Linux
    • Arch Linux (Images zwischen 2024-02-24 und 2024-03-28)

    Laborumgebung

    Dieses Labor repliziert den Mechanismus der Hintertür mit benutzerdefinierten Ed448-Schlüsseln anstelle der Schlüssel des ursprünglichen Akteurs (die nie veröffentlicht wurden).

    Warum wir chroot verwenden

    In real betroffenen Systemen gab es kein chroot. Die Hintertür operierte direkt auf dem sshd des Systems, das die bösartige liblzma.so wie jede andere Shared Library lud — völlig transparent für das System und seine Administratoren.

    In diesem Labor verwenden wir chroot ausschließlich aus einem praktischen Grund: Wir müssen ein sshd mit einer bestimmten Version von liblzma.so ausführen, ohne die Bibliotheken des Hostsystems zu ersetzen. Dies ist eine Designentscheidung für die Forschungsumgebung und keine Widerspiegelung der Funktionsweise der Hintertür in der Produktion.

    Komponenten

    KomponenteBeschreibung
    env_fs/Minimales Ubuntu-22.04-Dateisystem, das als chroot verwendet wird
    env_fs/usr/lib/x86_64-linux-gnu/liblzma.so.5liblzma 5.6.1, gepatcht mit benutzerdefiniertem Ed448-Schlüssel
    /etc/systemd/system/xzback.servicesystemd-Dienst, der verwundbares sshd auf Port 2024 startet
    /xzbot/xzbotAus dem Quellcode kompilierter Exploit-Client

    Ziel-Stack

    • Ubuntu 22.04.1 LTS AMD64
    • glibc 2.35
    • OpenSSH 8.9p1
    • systemd 249
    • liblzma 5.6.1 (gepatcht)

    Für dieses Ziel vorgenommene Änderungen

    Die ursprüngliche Hintertür erfordert sehr spezifische Bedingungen, die in einer Laborumgebung nicht automatisch vorliegen. Folgende Änderungen waren notwendig:

    1. liblzma.so-Ersatz

    Die im ursprünglichen Repository von MagpieRYL enthaltene liblzma.so.5 verwendet einen unbekannten Ed448-Schlüssel, der nicht zum enthaltenen xzbot-Binary passt. Die originale und authentische liblzma.so.5.6.1 wurde aus dem Debian-Snapshot heruntergeladen (sha256 verifiziert) und mit patch.py von amlweems/xzbot mit seed=0 gepatcht:

    root@kitploit:~
    original sha256:  605861f833fc181c7cdcabd5577ddb8989bea332648a8f498b4eef89b8f85ad4
    patched sha256:   ea7206ab4b0c3479ff1b478c8803adc9e7aeba243254a9f601b626ef8aa80e3d
    patched offset:   0x24470
    

    Der öffentliche Ed448-Schlüssel des ursprünglichen Akteurs wurde ersetzt durch:

    root@kitploit:~
    5b 3a fe 03 87 8a 49 b2 82 32 d4 f1 a4 42 ae bd
    e1 09 f8 07 ac ef 7d fd 9a 7f 65 b9 62 fe 52 d6
    54 73 12 ca ce cf f0 43 37 50 8f 9d 25 29 a8 f1
    66 91 69 b2 1c 32 c4 80 00
    

    2. Type=simple im systemd-Dienst

    Der ursprüngliche Dienst verwendet Type=notify, was erfordert, dass sshd eine Startbenachrichtigung an systemd sendet. Das sshd innerhalb der chroot sendet diese nicht, was zu Timeouts führt. Geändert auf Type=simple.

    3. Ephemere chroot-Verzeichnisse

    sshd benötigt /run/sshd für die Privilegientrennung. Dieses Verzeichnis existiert in der chroot nicht und wird bei jedem Neustart gelöscht, da run/ ein tmpfs ist. Gelöst mit einem ExecStartPre, das das Verzeichnis vor jedem Dienststart automatisch neu erzeugt.


    Verwendung

    Exploit von derselben Maschine

    root@kitploit:~
    ./xzbot -addr 127.0.0.1:2024 -cmd 'echo pwned > /tmp/result'
    cat /home/user/CVE-2024-3094-backdoor-env-container/env_fs/tmp/result
    

    Exploit von einer anderen Maschine

    root@kitploit:~
    ./xzbot -addr <TARGET_IP>:2024 -cmd 'echo pwned > /tmp/result'
    

    Speicherort der vom Exploit erzeugten Dateien

    Der Befehl wird innerhalb der chroot ausgeführt, daher wird jede Datei, die unter /tmp/ im Kontext der Hintertür erstellt wird, gespeichert unter:

    root@kitploit:~
    /home/user/CVE-2024-3094-backdoor-env-container/env_fs/tmp/
    

    Das heißt, wenn der Befehl echo pwned > /tmp/result lautet, befindet sich die Datei unter:

    root@kitploit:~
    /home/user/CVE-2024-3094-backdoor-env-container/env_fs/tmp/result
    

    Um jede vom Exploit erzeugte Datei zu finden:

    root@kitploit:~
    find /home/user/CVE-2024-3094-backdoor-env-container/env_fs/tmp/ -type f
    

    Hinweis zu handshake failed: EOF

    Die Meldung ssh: handshake failed: EOF ist das erwartete und korrekte Verhalten. Die Hintertür führt den Befehl aus und schließt die Verbindung, ohne eine SSH-Sitzung aufzubauen. Sie weist nicht auf einen Fehler hin.


    Wichtig

    Dieses Labor verwendet ein benutzerdefiniertes kryptografisches Schlüsselpaar (seed=0). Das gepatchte liblzma.so akzeptiert nur Payloads, die mit dem entsprechenden privaten Schlüssel signiert wurden — dem Schlüssel, der vom in dieser Umgebung kompilierten xzbot verwendet wird. Jeder andere Client erhält EOF ohne Ausführung.


    Referenzen

    • Ursprüngliche Openwall-Veröffentlichung
    • amlweems/xzbot
    • MagpieRYL/CVE-2024-3094-backdoor-env-container
    • Datadog-Security-Labs-Analyse
    • Wikipedia — XZ-Utils-Hintertür

    Haftungsausschluss

    Dieses Tool wird ausschließlich für Bildungszwecke und autorisierte Sicherheitstests bereitgestellt. Die unbefugte Verwendung gegen Systeme, die dir nicht gehören oder für die du keine ausdrückliche schriftliche Genehmigung zum Testen hast, ist illegal. Der Autor übernimmt keine Verantwortung für Missbrauch.

    Tool herunterladen