Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
copy-fail-go — Port Go du PoC d'élévation de privilèges du noyau Linux CVE-2026-31431 (copy-fail), avec énumération automatique des binaires SUID et sélection interactive de la cible. | Kitploit
Outils/GitHubGitHub/3jee/copy-fail-go
Escalade de PrivilègesFrameworks d'ExploitationAnalyse des VulnérabilitésExploitationCTFTests d'IntrusionRed TeamingExploitation de Binaires
GitHub3jee/copy-fail-go

copy-fail-go

Port Go du PoC d'élévation de privilèges du noyau Linux CVE-2026-31431 (copy-fail), avec énumération automatique des binaires SUID et sélection interactive de la cible.

Voir le dépôt
1il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

copy-fail-go

Portage Go du PoC Python de grenkoca pour CVE-2026-31431 (copy-fail).

Cette version compile en un binaire entièrement statique avec zéro dépendance à l'exécution - pas de Python, pas de pip, aucune contrainte de version libc. Déposez-le sur n'importe quelle cible Linux et exécutez-le. Il énumère également automatiquement tous les binaires SUID lisibles par tous sur la cible et vous permet de choisir lequel exploiter de manière interactive.

Réservé à la recherche en sécurité autorisée et à un usage CTF uniquement.


Qu'est-ce que CVE-2026-31431 (copy-fail) ?

Découvert par Theori et divulgué publiquement le 29 avril 2026, Copy.Fail est une faille logique dans le module crypto algif_aead du noyau Linux, introduite via une optimisation de 2017. Elle affecte toutes les distributions Linux grand public depuis 2017.

En manipulant l'interface crypto AF_ALG du noyau, un attaquant non privilégié peut écrire des données contrôlées directement dans le cache de pages Linux - la représentation en mémoire des binaires système de confiance. Cela permet de détourner temporairement des binaires comme /usr/bin/su sans modifier le fichier sur disque, rendant la forensique basée sur le disque aveugle à l'attaque.

Contrairement à de nombreuses failles d'élévation de privilèges locales qui dépendent de conditions de course ou de fuites d'adresses du noyau, Copy.Fail est très fiable et fonctionne de manière constante avec un simple compte utilisateur standard.

Impact :

  • Utilisateur normal → root sur tout système affecté
  • Évasion de conteneur vers l'hôte
  • Les jobs CI/CD obtiennent les droits root sur leur runner
  • Infrastructure partagée/multi-locataires compromise à travers les locataires
  • Aucune modification de fichier sur disque (contourne les contrôles d'intégrité)

Noyaux affectés : Toutes les distributions depuis 2017. Voir le PoC original de grenkoca pour la plage de versions spécifique.


Différences avec le PoC Python original


Prérequis

  • Noyau Linux dans la plage de versions affectée
  • Un binaire SUID lisible par tous présent sur la cible (l'outil les trouvera)
  • Aucun privilège spécial requis pour l'exécution

Dépendances de compilation (sur votre machine de build)

OutilVersion
Go1.21+

Compilation

Compilation native Linux

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

Compilation croisée depuis macOS ou Windows (ciblant Linux x86-64)

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

Les options -s -w suppriment les informations de débogage pour réduire la taille du binaire. CGO_ENABLED=0 produit un binaire entièrement statique sans dépendance libc - déposez-le sur n'importe quelle cible Linux quelle que soit la version de glibc.

Autres architectures

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

Utilisation

Transférez le binaire sur la cible et exécutez-le (aucun root requis) :

root@kitploit:~
./copy-fail

Exemple de session :

root@kitploit:~
CVE-2026-31431 (copy-fail) - Go PoC
Based on grenkoca's original PoC

Scanning for SUID world-readable binaries...

SUID world-readable binaries found:
------------------------------------
  [1] /usr/bin/su
  [2] /usr/bin/sudo
  [3] /usr/bin/passwd
  [4] /usr/bin/newgrp

Select target [1-4]: 1

[*] Targeting: /usr/bin/su
[*] Writing 48 bytes to /usr/bin/su...
[+] Write complete. Executing target...
# whoami
root

Comment ça fonctionne

  1. Ouvre le binaire SUID cible avec O_RDONLY - aucune permission d'écriture requise.
  2. Crée une socket AF_ALG (SOCK_SEQPACKET) liée à la transformation AEAD authencesn(hmac(sha256),cbc(aes)).
  3. Envoie un sendmsg conçu avec MSG_MORE et des messages de contrôle SOL_ALG pour mettre en file une opération crypto contre l'entrée du cache de pages du fichier cible.
  4. Utilise splice(2) pour déplacer les pages du fichier vers la socket ALG, déclenchant le chemin vulnérable du noyau qui réécrit les pages du cache de pages modifiées sans revérifier les permissions du fichier.
  5. Répète pour chaque bloc de 4 octets de la charge utile.
  6. Exécute le binaire modifié.

Crédits

  • grenkoca - PoC Python original
  • Theori - découverte de la vulnérabilité
  • Ce dépôt est un portage Go non minifié avec énumération automatique des cibles

Références

  • OVHcloud : Copy.Fail - Comment protéger rapidement les clusters MKS de la faille zero-day du noyau Linux
  • PoC Python original de grenkoca (gist)
Télécharger l’outil
Original (Python)Ce dépôt (Go)
LangagePython 3Go 1.21+
Cible/usr/bin/su codé en durDétection automatique via analyse du système de fichiers en direct
Sélection de la cibleAucuneMenu interactif numéroté
DistributionScriptBinaire statique unique (aucune dépendance à l'exécution)