Linux Post-Exploitation
Last updated
Last updated
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il hacking 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, controlla il post originale. Questo è solo un riepilogo:
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 mal utilizzati. Questo riepilogo delinea una tecnica per catturare le credenziali di accesso utilizzando PAM, insieme a strategie di mitigazione.
Cattura delle Credenziali:
Uno script bash chiamato toomanysecrets.sh
è creato per registrare i tentativi di accesso, catturando la data, il nome utente ($PAM_USER
), la password (via stdin) e l'IP dell'host remoto ($PAM_RHOST
) in /var/log/toomanysecrets.log
.
Lo script è reso eseguibile e integrato nella configurazione PAM (common-auth
) utilizzando il modulo pam_exec.so
con opzioni per eseguire silenziosamente 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 controlla il post originale. Questo è solo un riassunto:
Il Modulo di Autenticazione Pluggabile (PAM) è un sistema utilizzato sotto Linux per l'autenticazione degli utenti. Si basa su tre concetti principali: nome utente, password e servizio. 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 reale dell'utente. Questo è particolarmente focalizzato sulla libreria condivisa pam_unix.so
utilizzata dal file common-auth
, che è inclusa 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 di un utente chiama pam_unix.so
.
Modificare il Codice Sorgente:
Aggiungere un'istruzione condizionale nel file sorgente pam_unix_auth.c
che concede 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 normali processi di autenticazione rimangono inalterati.
Puoi automatizzare questo processo con https://github.com/zephrax/linux-pam-backdoor
Impara e pratica il Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)