Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/professional-slacker/alg_check
Herramientas DefensivasAnálisis de VulnerabilidadesAuditoría de Configuración
GitHubprofessional-slacker/alg_check

alg_check

Audita y refuerza sistemas Linux contra la escalada de privilegios local de AF_ALG (CVE-2026-31431) verificando la exposición de la API criptográfica del kernel, restringiendo módulos y proporcionando scripts de restauración.

Ver Repositorio
hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

⚠️ Aviso Importante: Riesgos del Endurecimiento Estructural

Esta herramienta implementa Bloqueo Estructural para mitigar CVE-2026-31431 renombrando físicamente los módulos del kernel y purgándolos de la memoria. Antes de usarla, tenga en cuenta los siguientes riesgos arquitectónicos:

  • Volatilidad de las Actualizaciones del Kernel: Los efectos del endurecimiento son temporales. Una actualización del kernel desplegará módulos vulnerables nuevos en un directorio /lib/modules/ nuevo, anulando la obstrucción anterior.
  • Efectos Secundarios Funcionales: Deshabilitar AF_ALG (API de Criptografía del Kernel) puede romper aplicaciones o servicios específicos que dependen de la aceleración por hardware a nivel de kernel (por ejemplo, VPN especializadas, utilidades de cifrado de disco o herramientas de seguridad personalizadas).[cite: 3]
  • Mitigación vs. Parche: Esto es un workaround, no un parche permanente. Está pensado para cubrir el vacío hasta que esté disponible un kernel parcheado proporcionado por la distribución.

Úselo bajo su propio riesgo. Verifique siempre las funciones críticas de su sistema después de ejecutar solution.sh.[cite: 3]

SSIA - Auditoría de Integridad Estructural del Sistema

Un kit de herramientas para descubrir, diagnosticar y contener vectores de EPE (Escalada de Privilegios Local) a través de la API de Criptografía del Kernel de Linux (AF_ALG).

⚠️ Aviso Importante: Riesgos del Endurecimiento Estructural

La herramienta utiliza Bloqueo Estructural para abordar CVE-2026-31431 renombrando módulos del kernel y purgándolos de la memoria. Los riesgos arquitectónicos clave incluyen:

  • Volatilidad de las Actualizaciones del Kernel: Los efectos son temporales. Una actualización del kernel despliega módulos vulnerables nuevos en un directorio /lib/modules/ nuevo, anulando la obstrucción anterior.
  • Efectos Secundarios Funcionales: Deshabilitar AF_ALG puede interrumpir servicios que dependen de la aceleración por hardware a nivel de kernel, como VPN especializadas, utilidades de cifrado de disco o herramientas de seguridad personalizadas.
  • Mitigación vs. Parche: Esto es un workaround, no un parche permanente pensado para servir como puente hasta que esté disponible un kernel parcheado.

Úselo bajo su propio riesgo.

Descripción General

Este repositorio proporciona dos scripts que forman un flujo de trabajo de diagnóstico → contención → verificación contra ataques de escalada de privilegios a través de AF_ALG (socket(38, 5, 0)):

  • check.sh — Auditoría de postura de seguridad multicapa (se ejecuta sin privilegios)
  • solution.sh — Expulsa por la fuerza los módulos AF_ALG de la memoria + comprueba los archivos de módulos físicos (requiere root)
  • restore.sh — Vuelve a cargar los módulos AF_ALG y restaura el sistema al estado anterior a solution.sh (requiere root)

Comprobaciones

Uso

Auditoría (sin privilegios)

root@kitploit:~
./check.sh

Contención (requiere root)

root@kitploit:~
sudo ./solution.sh

Restauración (requiere root)

root@kitploit:~
sudo ./restore.sh

Restauración

restore.sh revierte los efectos de solution.sh recargando los módulos del kernel AF_ALG (af_alg, algif_rng, algif_aead, algif_skcipher, algif_hash). Si el archivo de módulo físico (af_alg.ko.xz) fue renombrado o eliminado, el script le advertirá y le pedirá una restauración manual antes de intentar cargar los módulos.

⚠️ ADVERTENCIA

Ejecutar solution.sh en un sistema en producción que use activamente AF_ALG (por ejemplo, un sistema con IPsec, dm-crypt/LUKS o cualquier descarga de criptografía por hardware) romperá instantáneamente todas las operaciones criptográficas del kernel. Esto incluye:

  • Conexiones VPN IPsec y WireGuard
  • Cifrado de disco (LUKS/dm-crypt)
  • Terminación TLS mediante criptografía respaldada por el kernel
  • Cualquier contenedor o aplicación que dependa de las interfaces de socket algif_*

El script fuerza la descarga de los módulos del kernel AF_ALG. Las operaciones criptográficas del kernel fallarán hasta el reinicio. Este script está pensado solo para sistemas aislados, no productivos o desechables con fines de prueba y análisis. No lo ejecute en producción o infraestructura crítica.

Requisitos

  • Linux (cualquier distribución)
  • check.sh no requiere dependencias más allá de shell POSIX y /proc//sys
  • solution.sh requiere privilegios de root
  • restore.sh requiere privilegios de root
  • af_alg_block.so requiere privilegios de root para instalarse mediante /etc/ld.so.preload

Notas sobre WSL2

Esta POC ha sido probada en WSL2. Tenga en cuenta lo siguiente:

  • WSL2 restablece todo el estado al reiniciar (wsl --shutdown). Esto incluye los cambios de estado de los módulos del kernel de solution.sh, los renombrados de archivos, los resultados de check.sh y cualquier modificación local de archivos en este repositorio.
  • Para un endurecimiento permanente en WSL2, considere configurar .wslconfig, /etc/wsl.conf o un script de inicio automático (por ejemplo, /etc/rc.local) por separado.
  • WSL2 es adecuado para fines de prueba y validación, pero no para uso en producción o mitigación de seguridad persistente.

Mitigación

Para cerrar definitivamente el vector de ataque AF_ALG:

  1. Poner en lista negra el módulo del kernel (lo más fiable):

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

    O renombrar el archivo físico:

    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. Deshabilitar AF_ALG mediante sysctl:

    root@kitploit:~
    sudo sysctl -w net.core.af_alg_disabled=1
    
  3. Bloquear la creación de sockets AF_ALG mediante política SELinux / AppArmor

  4. Deshabilitar los espacios de nombres de usuario sin privilegios (entornos de contenedores):

    root@kitploit:~
    sudo sysctl -w kernel.unprivileged_userns_clone=0
    
  5. Bloquear AF_ALG en la llamada al sistema socket() mediante LD_PRELOAD (workaround para WSL2):

    root@kitploit:~
    # Instalación en todo el sistema (requiere root)
    echo /ruta/absoluta/a/af_alg_block.so | sudo tee -a /etc/ld.so.preload
    

    Se incluye una biblioteca compartida precompilada (af_alg_block.so) en el repositorio. Intercepta y devuelve cuando el dominio es (38). Todas las demás llamadas de socket pasan a la implementación real sin cambios.

Licencia

MIT

Descargar herramienta
ComprobaciónQué examinaSeveridad
Contexto del ProcesoUID/GID actual y capacidades efectivasBaja
Socket de Criptografía AF_ALGAccesibilidad de la API de Criptografía del Kernel mediante socket(AF_ALG, ...)Alta
kptr_restrictVisibilidad de los punteros del kernel para el espacio de usuarioMedia
dmesg_restrictRestricción de acceso al búfer circular del kernelMedia
SELinuxEstado Enforcing / Permissive / DisabledMedia
/proc hidepidSi /proc oculta la información de otros procesosBaja
socket(2)
EAFNOSUPPORT
AF_ALG

Este enfoque está pensado principalmente para WSL2, donde la semántica de usuario único y el comportamiento de restablecimiento al reiniciar hacen práctico el LD_PRELOAD en todo el sistema. En sistemas Linux multiusuario tradicionales, prefiera el método 1 (lista negra de módulos) en su lugar: la inyección mediante /etc/ld.so.preload afecta a todos los procesos del sistema y puede romper silenciosamente los servicios que dependen de AF_ALG.

Nota: Requiere glibc (no musl). /etc/ld.so.preload requiere root para modificarse. La eliminación se realiza borrando la línea correspondiente del archivo.