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
block-copyfail — BPF LSM bloqueur pour CVE-2026-31431 (Copy Fail) — bloque les liaisons AF_ALG authencesn à l'exécution sans redémarrage | Kitploit
Outils/GitHubGitHub/atgreen/block-copyfail
Outils DéfensifsAnalyse Dynamique (Sandboxing)Analyse des VulnérabilitésRéponse aux Incidents
GitHubatgreen/block-copyfail

block-copyfail

BPF LSM bloqueur pour CVE-2026-31431 (Copy Fail) — bloque les liaisons AF_ALG authencesn à l'exécution sans redémarrage

Voir le dépôt
73il 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

block-copyfail

Preuve de concept d’atténuation à l’exécution pour CVE-2026-31431 (« Copy Fail ») — une élévation de privilèges dans le noyau Linux via le modèle cryptographique authencesn dans algif_aead.

Contrairement au blocage de modules, cela ne nécessite aucun redémarrage. Un programme BPF LSM intercepte socket_bind et bloque toutes les liaisons AEAD AF_ALG — la sous-couche exploitée par Copy Fail. Cela empêche les contournements via l’imbrication de modèles cryptographiques (par ex. pcrypt(authencesn(...))). Les autres usages d’AF_ALG (hash, skcipher) ne sont pas affectés.

Les tentatives bloquées sont journalisées en temps réel avec le PID, le nom du processus et l’horodatage.

Prérequis

  • Noyau Linux 5.7+ avec CONFIG_BPF_LSM=y et lsm=bpf dans les paramètres de démarrage
  • SBCL 2.0+
  • Whistler (compilateur eBPF Common Lisp)
  • root@kitploit:~
    make doctor   # vérifie tous les prérequis
    

    Démarrage rapide

    root@kitploit:~
    git clone https://github.com/atgreen/block-copyfail.git
    cd block-copyfail
    make ubi8-build
    sudo ./block-copyfail
    

    Le bloqueur reste actif jusqu’à ce que vous appuyiez sur Ctrl-C, puis se détache proprement.

    Compilation locale

    Pour compiler sur votre propre machine, vous avez besoin de SBCL et de Whistler (le compilateur eBPF Common Lisp) :

    root@kitploit:~
    git clone https://github.com/atgreen/whistler.git ~/git/whistler
    make build
    sudo ./block-copyfail
    

    Compiler un binaire portable (EL8+)

    Compilez dans un conteneur UBI8 pour produire un binaire qui fonctionne sur RHEL/CentOS/Alma/Rocky 8+, Fedora, Ubuntu 20.04+ et tout Linux avec glibc 2.28 ou plus récent. Aucun SBCL ni Whistler n’est nécessaire sur le système cible — il suffit de copier le binaire et de l’exécuter.

    root@kitploit:~
    make ubi8-build
    scp block-copyfail root@server:
    ssh root@server ./block-copyfail
    

    Compiler en objet ELF

    Produit un fichier .bpf.o standard chargeable par bpftool, libbpf ou tout chargeur BPF :

    root@kitploit:~
    make elf
    sudo mkdir -p /sys/fs/bpf/copyfail
    sudo bpftool prog loadall block-copyfail.bpf.o /sys/fs/bpf/copyfail autoattach
    

    Pour détacher et supprimer :

    root@kitploit:~
    sudo rm -rf /sys/fs/bpf/copyfail
    

    Tests

    Avec le bloqueur actif dans un terminal, déclenchez un test dans un autre :

    root@kitploit:~
    python3 trigger-test.py
    

    Le script de test tente une liaison AEAD AF_ALG (aucun exploit n’est exécuté).

    Sortie attendue dans le terminal de test :

    root@kitploit:~
    BLOCKED: aead/authencesn(hmac(sha256),cbc(aes)) — [Errno 1] Operation not permitted
    BLOCKED: aead/gcm(aes) — [Errno 1] Operation not permitted
    ALLOWED: hash/sha256
    ALLOWED: skcipher/cbc(aes)
    

    Sortie attendue dans le terminal du bloqueur :

    root@kitploit:~
    Copy Fail blocker active — all AF_ALG AEAD binds blocked.
    Other AF_ALG usage (hash, skcipher) unaffected.
    Watching for blocked attempts. Press Ctrl-C to exit.
    
    TIME                  PID       COMMAND
    ----                  ---       -------
    06:38:12               31337  python3
    

    Sans le bloqueur actif, le script de test affiche ALLOWED pour les quatre algorithmes.

    Fonctionnement

    Le programme BPF lit 7 octets de struct sockaddr_alg depuis les arguments de socket_bind via bpf_probe_read_kernel, vérifie salg_family == AF_ALG et salg_type == "aead", et renvoie -EPERM en cas de correspondance. Cela bloque toutes les liaisons d’algorithmes AEAD, quelle que soit l’imbrication de modèles. Les événements sont envoyés à l’espace utilisateur via un tampon en anneau.

    Écrit en Whistler, un dialecte Common Lisp qui compile directement en bytecode eBPF — aucun C, clang ou LLVM requis.

    Licence

    MIT

    Télécharger l’outil