Linux Post-Exploitation
Reading time: 3 minutes
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.
Sniffing Logon Passwords with PAM
Configuriamo un modulo PAM per registrare ogni password che ogni utente utilizza per accedere. Se non sai cos'è PAM, controlla:
{{#ref}} pam-pluggable-authentication-modules.md {{#endref}}
Per ulteriori dettagli, controlla 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 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 (tramite 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 modulopam_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.
#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log
sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh
sudo nano /etc/pam.d/common-auth
# Add: auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh
sudo chmod 700 /usr/local/bin/toomanysecrets.sh
Backdooring PAM
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 ogni 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.
Passi per Modificare 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 modificata
pam_unix.so
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.
note
Puoi automatizzare questo processo con https://github.com/zephrax/linux-pam-backdoor
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.