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
alg_check — Audite et durcit les systèmes Linux contre l'élévation de privilèges locale AF_ALG (CVE-2026-31431) en vérifiant l'exposition de l'API crypto du noyau, en restreignant les modules et en fournissant des scripts de restauration. | Kitploit
Outils/GitHubGitHub/professional-slacker/alg_check
Outils DéfensifsAnalyse des VulnérabilitésAudit de Configuration
GitHubprofessional-slacker/alg_check

alg_check

Audite et durcit les systèmes Linux contre l'élévation de privilèges locale AF_ALG (CVE-2026-31431) en vérifiant l'exposition de l'API crypto du noyau, en restreignant les modules et en fournissant des scripts de restauration.

Voir le dépôt

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 →
il y a 3 moisPas encore vérifié
Partager

⚠️ Avertissement important : risques liés au durcissement structurel

Cet outil implémente un blocage structurel pour atténuer la CVE-2026-31431 en renommant physiquement les modules du noyau et en les purgeant de la mémoire. Avant toute utilisation, veuillez prendre connaissance des risques architecturaux suivants :

  • Volatilité des mises à jour du noyau : les effets du durcissement sont temporaires. Une mise à jour du noyau déploiera de nouveaux modules vulnérables dans un nouveau répertoire /lib/modules/, rendant l'obstruction précédente caduque.
  • Effets secondaires fonctionnels : la désactivation de AF_ALG (API Crypto du noyau) peut casser certaines applications ou services qui dépendent de l'accélération matérielle au niveau du noyau (par exemple, certains VPN spécialisés, utilitaires de chiffrement de disque ou outils de sécurité personnalisés).[cite: 3]
  • Atténuation vs. correctif : il s'agit d'une solution de contournement, pas d'un correctif permanent. Elle est destinée à combler le vide en attendant qu'un noyau corrigé soit fourni par la distribution.

Utilisation à vos risques et périls. Vérifiez toujours les fonctions critiques de votre système après avoir exécuté solution.sh.[cite: 3]

SSIA - Audit d'intégrité structurelle du système

Une boîte à outils pour découvrir, diagnostiquer et contenir les vecteurs d'élévation de privilèges locaux (LPE) via l'API Crypto du noyau Linux (AF_ALG).

⚠️ Avertissement important : risques liés au durcissement structurel

L'outil utilise un blocage structurel pour traiter la CVE-2026-31431 en renommant les modules du noyau et en les purgeant de la mémoire. Les principaux risques architecturaux sont les suivants :

  • Volatilité des mises à jour du noyau : les effets sont temporaires. Une mise à jour du noyau déploie de nouveaux modules vulnérables dans un nouveau répertoire /lib/modules/, rendant l'obstruction précédente caduque.
  • Effets secondaires fonctionnels : la désactivation de AF_ALG peut perturber les services qui dépendent de l'accélération matérielle au niveau du noyau, tels que certains VPN spécialisés, utilitaires de chiffrement de disque ou outils de sécurité personnalisés.
  • Atténuation vs. correctif : il s'agit d'une solution de contournement, pas d'un correctif permanent, destinée à servir de pont jusqu'à ce qu'un noyau corrigé soit disponible.

Utilisation à vos risques et périls.

Vue d'ensemble

Ce dépôt fournit deux scripts qui forment un flux de travail diagnostiquer → contenir → vérifier contre les attaques d'élévation de privilèges via AF_ALG (socket(38, 5, 0)) :

  • check.sh — Audit de posture de sécurité multicouche (s'exécute sans privilèges)
  • solution.sh — Expulse de force les modules AF_ALG de la mémoire + vérifie la présence des fichiers de modules physiques (root requis)
  • restore.sh — Recharge les modules AF_ALG et restaure le système à son état antérieur à solution.sh (root requis)

Vérifications

VérificationCe qui est examinéSévérité
Contexte du processusUID/GID actuel et capacités effectivesFaible
Socket Crypto AF_ALGAccessibilité de l'API Crypto du noyau via socket(AF_ALG, ...)Élevée
kptr_restrictVisibilité des pointeurs du noyau vers l'espace utilisateurMoyenne
dmesg_restrictRestriction d'accès au tampon circulaire du noyauMoyenne
SELinuxÉtat Enforcing / Permissive / DisabledMoyenne
/proc hidepidSi /proc masque les informations des autres processusFaible

Utilisation

Audit (sans privilèges)

root@kitploit:~
./check.sh

Contention (root requis)

root@kitploit:~
sudo ./solution.sh

Restauration (root requis)

root@kitploit:~
sudo ./restore.sh

Restauration

restore.sh annule les effets de solution.sh en rechargeant les modules du noyau AF_ALG (af_alg, algif_rng, algif_aead, algif_skcipher, algif_hash). Si le fichier de module physique (af_alg.ko.xz) a été renommé ou supprimé, le script vous avertira et vous demandera une restauration manuelle avant de tenter de charger les modules.

⚠️ AVERTISSEMENT

Exécuter solution.sh sur un système en production qui utilise activement AF_ALG (par exemple, un système avec IPsec, dm-crypt/LUKS, ou tout déchargement crypto matériel) cassera instantanément toutes les opérations crypto du noyau. Cela inclut :

  • Les connexions VPN IPsec et WireGuard
  • Le chiffrement de disque (LUKS/dm-crypt)
  • La terminaison TLS utilisant la crypto adossée au noyau
  • Tout conteneur ou application dépendant des interfaces socket algif_*

Le script force le déchargement des modules du noyau AF_ALG. Les opérations crypto du noyau échoueront jusqu'au redémarrage. Ce script est destiné uniquement aux systèmes isolés (air-gapped), non destinés à la production, ou jetables à des fins de test et d'analyse. Ne l'exécutez pas sur une infrastructure de production ou critique.

Prérequis

  • Linux (toute distribution)
  • check.sh ne nécessite aucune dépendance au-delà d'un shell POSIX et de /proc//sys
  • solution.sh nécessite les privilèges root
  • restore.sh nécessite les privilèges root
  • af_alg_block.so nécessite les privilèges root pour être installé via /etc/ld.so.preload

Notes WSL2

Cette POC a été testée sur WSL2. Veuillez noter ce qui suit :

  • WSL2 réinitialise tout l'état au redémarrage (wsl --shutdown). Cela inclut les changements d'état des modules du noyau effectués par solution.sh, les renommages de fichiers, les résultats de check.sh, et toute modification locale de fichiers dans ce dépôt.
  • Pour un durcissement permanent sur WSL2, envisagez de configurer .wslconfig, /etc/wsl.conf, ou un script de démarrage automatique (par exemple, /etc/rc.local) séparément.
  • WSL2 convient aux tests et à la validation, mais pas à une utilisation en production ni à une atténuation de sécurité persistante.

Atténuation

Pour fermer définitivement le vecteur d'attaque AF_ALG :

  1. Mettre le module du noyau sur liste noire (le plus fiable) :

    root@kitploit:~
    echo "blacklist af_alg" | sudo tee /etc/modprobe.d/af_alg-blacklist.conf
    

    Ou renommer le fichier physique :

    root@kitploit:~
    sudo mv /lib/modules/$(uname -r)/kernel/crypto/af_alg.ko.xz \
            /lib/modules/$(uname -r)/kernel/crypto/af_alg.ko.xz.bak
    
  2. Désactiver AF_ALG via sysctl :

    root@kitploit:~
    sudo sysctl -w net.core.af_alg_disabled=1
    
  3. Bloquer la création de socket AF_ALG via une politique SELinux / AppArmor

  4. Désactiver les espaces de noms utilisateur non privilégiés (environnements conteneurisés) :

    root@kitploit:~
    sudo sysctl -w kernel.unprivileged_userns_clone=0
    
  5. Bloquer AF_ALG au niveau de l'appel système socket() via LD_PRELOAD (solution de contournement WSL2) :

    root@kitploit:~
    # Installation à l'échelle du système (root requis)
    echo /absolute/path/to/af_alg_block.so | sudo tee -a /etc/ld.so.preload
    

    Une bibliothèque partagée précompilée (af_alg_block.so) est incluse dans le dépôt. Elle intercepte socket(2) et renvoie EAFNOSUPPORT lorsque le domaine est AF_ALG (38). Tous les autres appels socket sont transmis à l'implémentation réelle sans modification.

    Cette approche est principalement destinée à WSL2, où la sémantique mono-utilisateur et le comportement de réinitialisation au redémarrage rendent le LD_PRELOAD à l'échelle du système pratique. Sur les systèmes Linux multi-utilisateurs traditionnels, préférez la méthode 1 (liste noire des modules) — l'injection via /etc/ld.so.preload affecte tous les processus du système et peut silencieusement casser les services dépendant d'AF_ALG.

    Remarque : nécessite glibc (pas musl). /etc/ld.so.preload nécessite root pour être modifié. La suppression se fait en effaçant la ligne correspondante du fichier.

Licence

MIT

Télécharger l’outil