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-rs — CopyFail (CVE-2026-31431): PoC di PrivEsc del page-cache del kernel Linux + l'unico strumento di rilevamento pubblico. Nuovo vettore di bypass dell'autenticazione PAM + regole Sigma/auditd/eBPF. | Kitploit
Strumenti/GitHubGitHub/diemoeve/copyfail-rs
Escalation di PrivilegiAnalisi delle VulnerabilitàExploit
GitHubdiemoeve/copyfail-rs

copyfail-rs

CopyFail (CVE-2026-31431): PoC di PrivEsc del page-cache del kernel Linux + l'unico strumento di rilevamento pubblico. Nuovo vettore di bypass dell'autenticazione PAM + regole Sigma/auditd/eBPF.

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

copyfail-rs

PoC multi-vettore + rilevamento abbinato per CVE-2026-31431 (CopyFail). Include un nuovo vettore di bypass dell'autenticazione PAM che nessun altro PoC pubblico offre. La modalità di rilevamento cattura ciò che AIDE / Wazuh / OSSEC / Tripwire strutturalmente non possono.

Binario statico singolo. ~108 KB. no_std musl.

Demo

root@kitploit:~
noot@host:~$ ./copyfail-rs --mode exploit
[sudo] password per noot:
root@host:~# id
uid=0(root) gid=0(root) groups=0(root)
root@host:~#

Un comando. Shell root. Killshot PAM sotto il cofano (singola scrittura di 4 byte su /etc/pam.d/common-auth), drop PTY in root tramite sudo con password scartata. La riga [sudo] password per noot: lampeggia brevemente, sudo mostra sempre quel prompt; il binario gli fornisce una stringa qualsiasi e il fallimento di pam_unix si propaga attraverso il pam_deny.so commentato fino a pam_permit.so → root.

root@kitploit:~
$ ./copyfail-rs --mode detect --scan
=== rilevamento copyfail-rs: --scan ===

MANOMESSO (1):
  /etc/pam.d/common-auth [ext4]
    cache:  23c4f1ee...  ← ciò che è effettivamente caricato (mutato)
    disco:  117dab1c...  ← ciò che AIDE / Wazuh / Tripwire vedono (pulito)

Questo è il progetto. Disco pulito, cache mutata. Ogni FIM pubblico è cieco. Questo strumento no.

Avvio rapido (nessuna build necessaria)

Binari statici precompilati sulla release v0.1.0. Scegli la tua architettura, scarica, esegui.

root@kitploit:~
# x86_64 (la maggior parte dei laptop + server cloud)
curl -LO https://github.com/diemoeve/copyfail-rs/releases/download/v0.1.0/copyfail-x86_64-musl
chmod +x copyfail-x86_64-musl
./copyfail-x86_64-musl --mode exploit

Altre architetture:

ArchFile
ARM64 (aarch64)copyfail-aarch64-musl
ARMv7 (Raspberry Pi 3+)copyfail-armv7-musleabihf

Verifica l'integrità:

root@kitploit:~
curl -LO https://github.com/diemoeve/copyfail-rs/releases/download/v0.1.0/checksums.txt
sha256sum -c checksums.txt

Binari statici musl, nessuna dipendenza runtime, funzionano su qualsiasi Linux.

Perché FIM è cieco

Mutazione della page cache. Nessuna scrittura VFS. Nessuna pagina sporca. Nessun evento inotify. La riscrittura periodica compete con l'eviction.

AIDE/Wazuh/OSSEC/Tripwire/Samhain leggono tramite I/O bufferizzato → page cache → hash dei byte mutati come verità. Oppure, dopo l'eviction, hash del disco pulito → "non è mai successo nulla."

Il rilevamento richiede O_DIRECT (salta la cache) + lettura bufferizzata (colpisce la cache) + diff degli hash. Discrepanza = firma CopyFail. Questo è --scan.

Vettori

Selezione automatica: --vector auto (predefinito). Classifica pam > su > passwd per furtività. Fallback in caso di errore.

Rilevamento

--json ovunque per l'ingestione SIEM.

Artefatti di rilevamento

detection/:

  • sigma/copyfail-af-alg.yml, regola Sigma, inseriscila nel tuo SIEM
  • auditd/copyfail.rules, augenrules --load
  • ebpf/copyfail-trace.bt, one-liner bpftrace
  • apparmor/copyfail-block.profile, regola di negazione AppArmor 3.0+
  • mitigation/disable-algif.sh, blacklist modprobe + avviso =y

Mitigazione

root@kitploit:~
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.conf
sudo rmmod algif_aead

Oppure kernel mainline a664bf3d603d (aprile 2026). Al momento: solo Debian Sid/Forky lo hanno distribuito. Ubuntu LTS, RHEL, SUSE, Amazon Linux, Fedora, Arch, Oracle = tutti vulnerabili.

Avvertenza: CONFIG_CRYPTO_USER_API_AEAD=y (integrato) bypassa silenziosamente modprobe. --check avvisa.

Dopo exploit + mitigazione: la mutazione della cache persiste fino al riavvio. La mitigazione blocca NUOVI exploit, non annulla quelli passati.

Build

root@kitploit:~
cargo build --release --target x86_64-unknown-linux-musl
TargetDimensione
x86_64-musl108 KB
aarch64-musl96 KB
armv7-musleabihf86 KB

no_std. Nessun allocatore. Nessuna dipendenza runtime. Singolo binario statico.

Artefatti precompilati e somme SHA256 allegati alle release GitHub.

Utilizzo

Vedi docs/usage.md per esempi concreti su una schermata per modalità (exploit auto/list/all, detect check/scan/baseline/diff/watch/hunt).

Per una versione narrativa più estesa di questo README (più contesto, esposizione più approfondita), vedi BLOG.md.

Modello di minaccia

Vedi docs/threat-model.md.

Confronto

Autorizzazione ed etica

Solo hardware proprio. Nessun gate CLI (teatro della sicurezza). README + LICENSE = il framework.

La modalità di rilevamento è sola lettura. Sicura in produzione.

La modalità exploit muta la page cache del kernel. Solo RAM ma trattala come distruttiva. Blocca l'autenticazione per qualsiasi chiamante successivo.

Crediti

CVE-2026-31431 divulgata da Theori / Xint il 2026-04-29 (writeup, blog Xint). PoC pubblici precedenti:

  • theori-io/copy-fail-CVE-2026-31431 (Python, 732 byte, vettore su)
  • tgies/copy-fail-c (C con nolibc, vettori su + passwd, portabile)
  • badsectorlabs/copyfail-go (binario Go statico, vettore su)

Questo progetto (copyfail-rs): aggiunge il vettore di bypass dell'autenticazione PAM, rilevamento a doppia modalità, artefatti IR.

Licenza

MIT.

Riferimenti

  • https://copy.fail/
  • Fix Linux: a664bf3d603d
  • Floor: 72548b093ee3 (4.14, ago 2017)
  • Analogia: Dirty Pipe (CVE-2022-0847)
Scarica lo strumento
VettoreTargetDove atterra
pam (NUOVO)/etc/pam.d/common-auth (Debian/Ubuntu) o system-auth (Fedora/RHEL/Arch)4 byte. auth requisite pam_deny.so → #aut requisite pam_deny.so. Sudo con qualsiasi password = root.
su/usr/bin/suMuta il testo del binario setuid. execve → root.
passwd/etc/passwdInversione UID → l'utente diventa root al prossimo login. Rompe SSH per quell'utente.
ModalitàCosa
--checkKernel + modulo + CONFIG_CRYPTO_USER_API_AEAD + stato della mitigazione. Verdetto: vulnerabile / mitigato / sicuro.
--scanDiff tra lettura O_DIRECT e bufferizzata sui file critici. Ramificato con statfs(): ext4/xfs/btrfs usano O_DIRECT, overlayfs fa fallback, tmpfs viene saltato.
--baseline / --diffSnapshot dello stato noto-pulito. Diff successivo. Delta solo-cache = impronta CopyFail.
--watchDaemon. Scansione periodica. SIGTERM pulito.
--huntScansione flotta SSH. Aggregati JSON.
Theori Pythontgies Cbadsectorlabs Gocopyfail-rs
Vettorisusu + passwdsusu + passwd + PAM (nuovo)
Rilevamentonessunonessunonessuno--mode detect completo
Artefatti IRnessunonessunonessunoSigma + auditd + eBPF + AppArmor
UX operatore3 comandi4 comandi5 comandi1 comando
Binariorichiede Python~10 KB~5 MB~108 KB statico