Linux Post-Exploitation
Last updated
Last updated
Impara e pratica l'Hacking su AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica l'Hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)
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 modulo pam_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.
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.
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