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
Strumenti/GitHubGitHub/professional-slacker/alg_check
Strumenti DifensiviAnalisi delle VulnerabilitàAudit di Configurazione
GitHubprofessional-slacker/alg_check

alg_check

# Audit e indurimento dei sistemi Linux contro l'escalation dei privilegi locali AF_ALG (CVE-2026-31431) verificando l'esposizione dell'API crittografica del kernel, limitando i moduli e fornendo script di ripristino.

Vedi Repository

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 →
64 mesi faNon ancora revisionato
Condividi

⚠️ Importante Dichiarazione di Non Responsabilità: Rischi dell'Indurimento Strutturale

Questo strumento implementa il Blocco Strutturale per mitigare la CVE-2026-31431 rinominando fisicamente i moduli del kernel e rimuovendoli dalla memoria. Prima dell'uso, si prega di essere consapevoli dei seguenti rischi architetturali:

  • Volatilità degli Aggiornamenti del Kernel: Gli effetti dell'indurimento sono temporanei. Un aggiornamento del kernel distribuirà nuovi moduli vulnerabili in una nuova directory /lib/modules/, rendendo nullo il precedente blocco.
  • Effetti Collaterali Funzionali: La disabilitazione di AF_ALG (API Crypto del Kernel) potrebbe interrompere applicazioni o servizi specifici che dipendono dall'accelerazione hardware a livello di kernel (ad es., VPN specializzate, utilità di crittografia del disco o strumenti di sicurezza personalizzati).[cite: 3]
  • Mitigazione vs. Patch: Questa è una soluzione temporanea, non una patch permanente. Ha lo scopo di colmare il divario fino a quando non sarà disponibile un kernel patchato fornito dalla distribuzione.

Utilizzare a proprio rischio. Verificare sempre le funzioni critiche del proprio sistema dopo aver eseguito solution.sh.[cite: 3]

SSIA - Audit dell'Integrità Strutturale del Sistema

Un kit di strumenti per scoprire, diagnosticare e contenere vettori di LPE (Escalation dei Privilegi Locali) attraverso l'API Crypto del Kernel Linux (AF_ALG).

⚠️ Importante Dichiarazione di Non Responsabilità: Rischi dell'Indurimento Strutturale

Lo strumento utilizza il Blocco Strutturale per affrontare la CVE-2026-31431 rinominando i moduli del kernel e rimuovendoli dalla memoria. I principali rischi architetturali includono:

  • Volatilità degli Aggiornamenti del Kernel: Gli effetti sono temporanei. Un aggiornamento del kernel distribuisce nuovi moduli vulnerabili in una nuova directory /lib/modules/, rendendo nullo il precedente blocco.
  • Effetti Collaterali Funzionali: La disabilitazione di AF_ALG potrebbe interrompere servizi che dipendono dall'accelerazione hardware a livello di kernel, come VPN specializzate, utilità di crittografia del disco o strumenti di sicurezza personalizzati.
  • Mitigazione vs. Patch: Questa è una soluzione temporanea, non una patch permanente pensata per fungere da ponte fino a quando non sarà disponibile un kernel patchato.

Utilizzare a proprio rischio.

Panoramica

Questo repository fornisce due script che formano un flusso di lavoro diagnosi → contenimento → verifica contro gli attacchi di escalation dei privilegi tramite AF_ALG (socket(38, 5, 0)):

  • check.sh — Audit della postura di sicurezza a più livelli (eseguito senza privilegi)
  • solution.sh — Rimuove forzatamente i moduli AF_ALG dalla memoria + verifica la presenza di file di modulo fisici (richiede root)
  • restore.sh — Ricarica i moduli AF_ALG e ripristina il sistema allo stato precedente a solution.sh (richiede root)

Controlli

Utilizzo

Audit (senza privilegi)

root@kitploit:~
./check.sh

Contenimento (richiede root)

root@kitploit:~
sudo ./solution.sh

Ripristino (richiede root)

root@kitploit:~
sudo ./restore.sh

Ripristino

restore.sh annulla gli effetti di solution.sh ricaricando i moduli del kernel AF_ALG (af_alg, algif_rng, algif_aead, algif_skcipher, algif_hash). Se il file del modulo fisico (af_alg.ko.xz) è stato rinominato o rimosso, lo script avviserà e richiederà il ripristino manuale prima di tentare di caricare i moduli.

⚠️ AVVERTENZA

Eseguire solution.sh su un sistema attivo che utilizza AF_ALG (ad es., un sistema con IPsec, dm-crypt/LUKS o qualsiasi offload crittografico hardware) interromperà immediatamente tutte le operazioni crittografiche del kernel. Questo include:

  • Connessioni VPN IPsec e WireGuard
  • Crittografia del disco (LUKS/dm-crypt)
  • Terminazione TLS che utilizza crittografia supportata dal kernel
  • Qualsiasi container o applicazione che dipende dalle interfacce socket algif_*

Lo script scarica forzatamente i moduli del kernel AF_ALG. Le operazioni crittografiche del kernel falliranno fino al riavvio. Questo script è pensato solo per sistemi air-gapped, non di produzione o usa-e-getta a scopo di test e analisi. Non eseguirlo su infrastrutture di produzione o critiche.

Requisiti

  • Linux (qualsiasi distribuzione)
  • check.sh non richiede dipendenze oltre alla shell POSIX e a /proc//sys
  • solution.sh richiede privilegi di root
  • restore.sh richiede privilegi di root
  • af_alg_block.so richiede privilegi di root per l'installazione tramite /etc/ld.so.preload

Note su WSL2

Questo POC è stato testato su WSL2. Tenere presente quanto segue:

  • WSL2 reimposta tutto lo stato al riavvio (wsl --shutdown). Questo include le modifiche allo stato dei moduli del kernel da solution.sh, le rinomine dei file, i risultati di check.sh e qualsiasi modifica locale ai file in questo repository.
  • Per un indurimento permanente su WSL2, considerare la configurazione di .wslconfig, /etc/wsl.conf o uno script di avvio automatico (ad es., /etc/rc.local) separatamente.
  • WSL2 è adatto per scopi di test e validazione ma non per uso in produzione o mitigazione di sicurezza persistente.

Mitigazione

Per chiudere definitivamente il vettore di attacco AF_ALG:

  1. Mettere in blacklist il modulo del kernel (il più affidabile):

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

    Oppure rinominare il file fisico:

    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. Disabilitare AF_ALG tramite sysctl:

    root@kitploit:~
    sudo sysctl -w net.core.af_alg_disabled=1
    
  3. Bloccare la creazione di socket AF_ALG tramite policy SELinux / AppArmor

  4. Disabilitare i namespace utente non privilegiati (ambienti container):

    root@kitploit:~
    sudo sysctl -w kernel.unprivileged_userns_clone=0
    
  5. Bloccare AF_ALG alla syscall socket() tramite LD_PRELOAD (soluzione per WSL2):

    root@kitploit:~
    # Installazione a livello di sistema (richiede root)
    echo /absolute/path/to/af_alg_block.so | sudo tee -a /etc/ld.so.preload
    

    Nel repository è inclusa una libreria condivisa precompilata (af_alg_block.so). Intercetta e restituisce quando il dominio è (38). Tutte le altre chiamate socket passano all'implementazione reale senza modifiche.

Licenza

MIT

Scarica lo strumento
ControlloCosa esaminaGravità
Contesto del ProcessoUID/GID corrente e capacità effettiveBassa
Socket Crypto AF_ALGAccessibilità dell'API Crypto del Kernel tramite socket(AF_ALG, ...)Alta
kptr_restrictVisibilità dei puntatori del kernel nello spazio utenteMedia
dmesg_restrictRestrizione dell'accesso al buffer circolare del kernelMedia
SELinuxStato Enforcing / Permissive / DisabledMedia
/proc hidepidSe /proc nasconde le informazioni di altri processiBassa
socket(2)
EAFNOSUPPORT
AF_ALG

Questo approccio è pensato principalmente per WSL2, dove la semantica a utente singolo e il comportamento di reset al riavvio rendono pratico un LD_PRELOAD a livello di sistema. Su sistemi Linux multiutente tradizionali, preferire il metodo 1 (blacklist del modulo) — l'iniezione tramite /etc/ld.so.preload influisce su ogni processo del sistema e potrebbe interrompere silenziosamente i servizi che dipendono da AF_ALG.

Nota: Richiede glibc (non musl). /etc/ld.so.preload richiede root per essere modificato. La rimozione avviene eliminando la riga corrispondente dal file.