Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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 — Copy Fail - CVE-2026-31431 - Implementazione C rinforzata per operazioni di red team e test di penetrazione autorizzati. ⚠️ Avviso legale: Questo strumento è destinato esclusivamente a ricerca sulla sicurezza autorizzata, test di penetrazione autorizzati e analisi difensiva. Usalo solo su sistemi di tua proprietà o per i quali hai ricevuto esplicito permesso scritto. L'accesso non autorizzato a sistemi informatici è illegale. | Kitploit
Strumenti/GitLabGitLab/toxy4ny/copy-fail
Escalation di PrivilegiExploitPost-ExploitCommand and ControlRed TeamingSviluppo PayloadBinary Exploitation
GitLabtoxy4ny/copy-fail

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 →

Informazioni

Copy Fail - CVE-2026-31431 - Implementazione C rinforzata per operazioni di red team e test di penetrazione autorizzati. ⚠️ Avviso legale: Questo strumento è destinato esclusivamente a ricerca sulla sicurezza autorizzata, test di penetrazione autorizzati e analisi difensiva. Usalo solo su sistemi di tua proprietà o per i quali hai ricevuto esplicito permesso scritto. L'accesso non autorizzato a sistemi informatici è illegale.

COPY-FAIL

Vedi RepositorySito web
1102 mesi faNon ancora revisionato
Condividi

Copy Fail -- CVE-2026-31431

Implementazione C robusta per operazioni di red team e penetration testing autorizzato.

⚠️ Avviso legale: Questo strumento è destinato esclusivamente a ricerche di sicurezza autorizzate, penetration testing autorizzato e analisi difensiva. Utilizzalo solo su sistemi di tua proprietà o per i quali hai ottenuto esplicita autorizzazione scritta per il test. L'accesso non autorizzato ai sistemi informatici è illegale.

🚀 Lo sviluppo principale è stato spostato su GitLab.
Questo repository è attivamente mantenuto qui. Per problemi e contributi, si prega di utilizzare GitLab.


Indice

  • Panoramica
  • Ricerca originale
  • I nostri miglioramenti
  • Architettura
  • Compilazione
  • Utilizzo
  • Moduli
  • Sicurezza operativa
  • Rilevamento e mitigazione
  • Crediti
  • Licenza

Panoramica

Questo progetto è una implementazione C robusta e pronta per la produzione dell'exploit di escalation dei privilegi locale CVE-2026-31431 ("Copy Fail"), originariamente divulgato da Theori e Xint il 29 aprile 2026.

Il proof-of-concept originale era scritto in Python e progettato per dimostrazione di ricerca. Questa implementazione lo trasforma in un toolkit di livello red team con:

  • Zero artefatti su disco (esecuzione fileless tramite memfd)
  • Scoperta automatica dei target (enumerazione dei binari setuid con consapevolezza MAC)
  • Anti-forensics (cancellazione cache, ripristino timestamp, autodistruzione)
  • Controllo operatore (esecuzione attivata da segnale con timeout configurabili)
  • Build statiche cross-platform (x86_64, ARM64, RISC-V tramite musl/zig)

Ricerca originale

CVE-2026-31431: Copy Fail

AttributoValore
Data di divulgazione29 aprile 2026
RicercatoriTheori (Jinoh Kang, Yonghwi Jin, Seunghyun Lee), Xint
Writeuphttps://copy.fail/
PoC originaletheori-io/copy-fail-CVE-2026-31431 (Python)
Porting C (Base)tgies/copy-fail-c di Tony Gies
Kernel affettiLinux 4.14 -- 6.14 (prima del commit di correzione a664bf3d603d)
GravitàCVSS 7.8 (Alta) -- Escalation dei privilegi locale

Meccanismo della vulnerabilità

La vulnerabilità risiede nel sottosistema crypto AF_ALG del kernel Linux. Il template AEAD authencesn implementa un'ottimizzazione in-place per la decrittografia: quando il testo cifrato viene fornito tramite splice() dalla cache di pagina di un file, il kernel riutilizza la stessa pagina sia come sorgente che come destinazione.

Il flusso dell'attacco:

  1. Aprire un binario setuid (es. /usr/bin/su) in sola lettura
  2. Impostare un'operazione AEAD authencesn(hmac(sha256),cbc(aes)) tramite AF_ALG
  3. Fornire il testo cifrato tramite splice() dalla cache di pagina del file target
  4. L'operazione di decrittografia (fallita) sovrascrive 4 byte della pagina della cache di pagina prima che l'autenticazione la rifiuti
  5. Ripetere per ogni finestra di 4 byte del payload
  6. Eseguire execve() sul target -- il kernel carica le pagine mutate dalla cache, concede credenziali setuid-root
  7. Il payload si trasforma in una shell root completa

Punto chiave: L'inode su disco non viene mai modificato. Viene mutata solo la cache di pagina in memoria, rendendo il rilevamento forense significativamente più difficile rispetto agli exploit tradizionali di sovrascrittura dei file.


I nostri miglioramenti

Questo progetto estende la ricerca originale con indurimento orientato al red team attraverso nove moduli.

1. Primitiva di exploit robusta (patch_chunk.c)

CaratteristicaOriginaleLa nostra implementazione
Gestione socketSocket fresco per chunkRiutilizzo socket (~60% meno chiamate di sistema)
VerificaNessunammap + memcmp con tentativi automatici (3 tentativi)
Scritture paralleleSolo sequenzialiParallelo basato su fork (fino a 16 processi)
Codici di erroreSuccesso/fallimento binarioGranulare: 0=verificato, 1=kernel corretto, -1=fatale
Allocazioni heapmalloc nel percorso criticoSolo stack (nessun jitter di allocazione)

2. Scoperta automatica dei target (target_discovery.c)

  • Scansione a tre fasi: target prioritari → directory standard → scansione profonda
  • Punteggio consapevole MAC: penalizza i binari con profili AppArmor/SELinux
  • 18 target prioritari: su, sudo, passwd, pkexec, mount, ping, ecc.
  • Catena di fallback: se il target primario fallisce, seleziona automaticamente il miglior candidato successivo
  • Consapevolezza Snap: salta /snap (setuid non tradizionale)

3. Suite anti-forensics (anti_forensics.c)

TecnicaScopo
posix_fadvise(POSIX_FADV_DONTNEED)Evizione della cache di pagina per file
echo 3 > /proc/sys/vm/drop_cachesCancellazione globale della cache (post-root)
utimensat() timestompRipristino di atime/mtime originali
AutodistruzioneSovrascrivi il binario dropper con zeri prima di exec
Pulizia memoriaAzzeramento volatile dei buffer sensibili

4. Esecuzione fileless (memfd_exec.c)

  • memfd_create + fexecve: esecuzione senza percorso filesystem
  • Mimetizzazione: memfd denominato come kworker, anon_inode, eventfd (si confonde in /proc/$pid/fd/)
  • Fork-e-dimentica: doppio fork per creare un processo orfano (PPID=1)
  • Decrittografia in memoria: decrittografia XOR e RC4 seguita da exec (payload mai in chiaro su disco)

5. Consegna del payload Stage-1 (stage1.c)

CanaleFurtivitàVelocitàPriorità di fallback
IncorporatoMassimaIstantaneaUltima (airgap)
HTTP direttoMedia<1sPrima
curl/wget di sistemaBassa1-3sSeconda (supporto HTTPS)
DNS TXTAltaLentaTerza (bypass firewall)

6. Impianto C2 Stage-2 (stage2_template.c)

  • Ciclo di riconnessione resiliente con backoff esponenziale
  • Tre distribuzioni: uniforme, triangolare, jitter esponenziale
  • Controllo tramite segnale: SIGUSR1 (attiva), SIGUSR2 (stato), SIGTERM (spegnimento)
  • Beaconing DNS: controllo stealth dello stato C2 prima della connessione TCP
  • Mascheramento del processo: [kworker/N:0] in ps/top

7. Occultamento del processo (proc_hide.c)

  • Sovrascrittura argv[0]: sostituzione in-place di /proc/$pid/cmdline
  • prctl(PR_SET_NAME): nomi in stile thread del kernel (limite 16 byte)
  • Sanitizzazione dell'ambiente: pulizia selettiva di SSH_*, AWS_*, TOKEN*, ecc.
  • Distacco dal genitore: setsid() + setpgid() per indipendenza dal terminale

8. Controllo dell'attivazione tramite segnale (signal_trigger.c)

ModalitàComportamentoCaso d'uso
trigger_oneshot()Sleep → attiva → esegui → esciColpisci e scappa
trigger_daemon()Sleep → attiva → esegui → loopImpianto persistente
trigger_auto()Sleep con timeout di fallbackOperazioni senza supervisione

Attesa a zero CPU: sigsuspend() invece di cicli di polling.

9. Jitter di sleep (sleep_jitter.c)

  • Tre backend RNG: getrandom(2), /dev/urandom, fallback rdtsc
  • Campionamento per rifiuto: elimina il bias modulo nella distribuzione uniforme
  • Compensazione della deriva: sleep_scheduled() mantiene l'intervallo medio nonostante il jitter
  • Rilevamento sandbox: check_sandbox_acceleration() rileva sleep() corretto

Architettura

Scarica lo strumento