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
copy-fail-go — Port Go del PoC di escalation dei privilegi del kernel Linux CVE-2026-31431 (copy-fail), con enumerazione automatica dei binari SUID e selezione interattiva del target. | Kitploit
Strumenti/GitHubGitHub/3jee/copy-fail-go
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploitCTFPenetration TestingRed TeamingBinary Exploitation
GitHub3jee/copy-fail-go

copy-fail-go

Port Go del PoC di escalation dei privilegi del kernel Linux CVE-2026-31431 (copy-fail), con enumerazione automatica dei binari SUID e selezione interattiva del target.

Vedi Repository
13 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

copy-fail-go

Porting in Go del PoC Python di grenkoca per CVE-2026-31431 (copy-fail).

Questa versione compila in un binario completamente statico con zero dipendenze runtime: niente Python, niente pip, nessun vincolo di versione libc. Caricalo su qualsiasi target Linux ed eseguilo. Inoltre enumera automaticamente tutti i binari SUID leggibili a livello mondiale sul target e ti permette di scegliere interattivamente quale sfruttare.

Solo per ricerca sulla sicurezza autorizzata e uso in CTF.


Cos'è CVE-2026-31431 (copy-fail)?

Scoperta da Theori e divulgata pubblicamente il 29 aprile 2026, Copy.Fail è un difetto logico nel modulo crittografico algif_aead del kernel Linux, introdotto tramite un'ottimizzazione del 2017. Colpisce ogni distribuzione Linux mainstream dal 2017.

Manipolando l'interfaccia crittografica AF_ALG del kernel, un utente non privilegiato può scrivere dati controllati direttamente nella page cache di Linux - la rappresentazione in memoria di binari di sistema affidabili. Questo consente di dirottare temporaneamente binari come /usr/bin/su senza modificare il file su disco, rendendo la forensics basata su disco cieca all'attacco.

A differenza di molti difetti LPE che dipendono da race condition o leak di indirizzi del kernel, Copy.Fail è altamente affidabile e funziona costantemente con un semplice account utente standard.

Impatto:

  • Utente normale → root su qualsiasi sistema affetto
  • Fuga dal container verso l'host
  • Job CI/CD che ottiene root sul proprio runner
  • Infrastruttura condivisa/multi-tenant compromessa tra tenant
  • Nessuna modifica al file su disco (elude i controlli di integrità)

Kernel affetti: Ogni distribuzione dal 2017. Consulta il PoC originale di grenkoca per l'intervallo di versioni specifico.


Differenze rispetto al PoC Python originale


Requisiti

  • Kernel Linux nell'intervallo di versioni affetto
  • Un binario SUID leggibile a livello mondiale presente sul target (lo strumento li troverà)
  • Nessun privilegio speciale richiesto per l'esecuzione

Dipendenze di build (sulla tua macchina di build)

StrumentoVersione
Go1.21+

Compilazione

Build nativa Linux

root@kitploit:~
git clone https://github.com/3jee/copy-fail-go
cd copy-fail-go
go build -o copy-fail .

Cross-compilazione da macOS o Windows (target Linux x86-64)

root@kitploit:~
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o copy-fail .

I flag -s -w rimuovono le informazioni di debug per ridurre la dimensione del binario. CGO_ENABLED=0 produce un binario completamente statico senza dipendenza da libc - caricalo su qualsiasi target Linux indipendentemente dalla versione di glibc.

Altre architetture

TargetComando
Linux ARM64GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o copy-fail .
Linux x86 32-bitGOOS=linux GOARCH=386 CGO_ENABLED=0 go build -o copy-fail .

Utilizzo

Trasferisci il binario sul target ed eseguilo (nessun root richiesto):

root@kitploit:~
./copy-fail

Esempio di sessione:

root@kitploit:~
CVE-2026-31431 (copy-fail) - Go PoC
Basato sul PoC originale di grenkoca

Scansione dei binari SUID leggibili a livello mondiale...

Binari SUID leggibili a livello mondiale trovati:
------------------------------------
  [1] /usr/bin/su
  [2] /usr/bin/sudo
  [3] /usr/bin/passwd
  [4] /usr/bin/newgrp

Seleziona il target [1-4]: 1

[*] Targeting: /usr/bin/su
[*] Scrittura di 48 byte in /usr/bin/su...
[+] Scrittura completata. Esecuzione del target...
# whoami
root

Come funziona

  1. Apre il binario SUID target con O_RDONLY - nessun permesso di scrittura necessario.
  2. Crea un socket AF_ALG (SOCK_SEQPACKET) legato alla trasformazione AEAD authencesn(hmac(sha256),cbc(aes)).
  3. Invia un sendmsg costruito con MSG_MORE e messaggi di controllo SOL_ALG per accodare un'operazione crittografica contro la voce della page cache del file target.
  4. Usa splice(2) per spostare le pagine dal file al socket ALG, attivando il percorso vulnerabile del kernel che riscrive le pagine modificate della page cache senza ricontrollare i permessi del file.
  5. Ripete per ogni blocco di 4 byte del payload.
  6. Esegue il binario modificato.

Crediti

  • grenkoca - PoC Python originale
  • Theori - scoperta della vulnerabilità
  • Questo repo è un porting Go non minificato con enumerazione automatica del target

Riferimenti

  • OVHcloud: Copy.Fail - Come Proteggere Rapidamente i Cluster MKS dalla Zero-Day del Kernel Linux
  • PoC Python originale di grenkoca (gist)
Scarica lo strumento
Originale (Python)Questo repo (Go)
LinguaggioPython 3Go 1.21+
Target/usr/bin/su hardcodedRilevato automaticamente da scansione live del filesystem
Selezione del targetNessunaMenu interattivo numerato
DistribuzioneScriptSingolo binario statico (nessuna dipendenza runtime)