Linux Post-Exploitation
Intercettare le Password di Accesso con PAM
Configuriamo un modulo PAM per registrare ogni password che ogni utente utilizza per accedere. Se non sai cos'è PAM, controlla:
PAM - Pluggable Authentication ModulesPer ulteriori dettagli consulta il post originale. Questo è solo un riassunto:
Panoramica della Tecnica: I Moduli di Autenticazione Pluggabili (PAM) offrono flessibilità nella gestione dell'autenticazione sui sistemi basati su Unix. Possono migliorare la sicurezza personalizzando i processi di accesso ma possono anche comportare rischi se utilizzati in modo improprio. Questo riassunto illustra una tecnica per catturare le credenziali di accesso utilizzando PAM, insieme a strategie di mitigazione.
Cattura delle Credenziali:
Viene creato uno script bash chiamato
toomanysecrets.sh
per registrare i tentativi di accesso, catturando la data, il nome utente ($PAM_USER
), la password (tramite stdin) e l'IP dell'host remoto ($PAM_RHOST
) in/var/log/toomanysecrets.log
.Lo script viene reso eseguibile e integrato nella configurazione PAM (
common-auth
) utilizzando il modulopam_exec.so
con opzioni per eseguire in modo silenzioso ed esporre il token di autenticazione allo script.L'approccio dimostra come un host Linux compromesso possa essere sfruttato per registrare le credenziali in modo discreto.
Backdooring PAM
Per ulteriori dettagli consulta il post originale. Questo è solo un riassunto:
Il Pluggable Authentication Module (PAM) è un sistema utilizzato in Linux per l'autenticazione degli utenti. Si basa su tre concetti principali: username, password e service. I file di configurazione per ciascun servizio si trovano nella directory /etc/pam.d/
, dove le librerie condivise gestiscono l'autenticazione.
Obiettivo: Modificare PAM per consentire l'autenticazione con una password specifica, bypassando la password effettiva dell'utente. Questo è particolarmente focalizzato sulla libreria condivisa pam_unix.so
utilizzata dal file common-auth
, incluso da quasi tutti i servizi per la verifica della password.
Passaggi per la Modifica di pam_unix.so
:
pam_unix.so
:Individuare la Direttiva di Autenticazione nel file
common-auth
:
La riga responsabile del controllo della password dell'utente chiama
pam_unix.so
.
Modificare il Codice Sorgente:
Aggiungere un'istruzione condizionale nel file sorgente
pam_unix_auth.c
che concede l'accesso se viene utilizzata una password predefinita, altrimenti procede con il normale processo di autenticazione.
Ricompilare e Sostituire la libreria
pam_unix.so
modificata nella directory appropriata.Test:
L'accesso è concesso attraverso vari servizi (login, ssh, sudo, su, screensaver) con la password predefinita, mentre i processi di autenticazione normali rimangono invariati.
È possibile automatizzare questo processo con https://github.com/zephrax/linux-pam-backdoor
Last updated