hacktricks/linux-hardening/linux-post-exploitation/README.md
2024-02-10 13:03:23 +00:00

5.9 KiB

Post-Esploitation Linux

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Sniffing delle password di accesso con PAM

Configuriamo un modulo PAM per registrare ogni password che ogni utente utilizza per effettuare l'accesso. Se non sai cos'è PAM, controlla:

{% content-ref url="pam-pluggable-authentication-modules.md" %} pam-pluggable-authentication-modules.md {% endcontent-ref %}

Per ulteriori dettagli consulta il post originale. Questo è solo un riassunto:

Panoramica della tecnica: I moduli di autenticazione plug-and-play (PAM) offrono flessibilità nella gestione dell'autenticazione nei sistemi basati su Unix. Possono migliorare la sicurezza personalizzando i processi di accesso, ma possono anche comportare rischi se utilizzati in modo errato. 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'indirizzo 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.
  • Questo 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 consulta il post originale. Questo è solo un riassunto:

Il Pluggable Authentication Module (PAM) è un sistema utilizzato in Linux per l'autenticazione degli utenti. Opera su tre concetti principali: username, password e service. 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 effettiva 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.

Passaggi per la modifica di pam_unix.so:

  1. Individuare la direttiva di autenticazione nel file common-auth:
  • La riga responsabile del controllo della password dell'utente chiama pam_unix.so.
  1. Modificare il codice sorgente:
  • Aggiungere una dichiarazione condizionale nel file di origine pam_unix_auth.c che concede l'accesso se viene utilizzata una password predefinita, altrimenti prosegue con il normale processo di autenticazione.
  1. Ricompilare e sostituire la libreria pam_unix.so modificata nella directory appropriata.
  2. Test:
  • L'accesso viene concesso attraverso vari servizi (login, ssh, sudo, su, screensaver) con la password predefinita, mentre i processi di autenticazione normali rimangono invariati.

{% hint style="info" %} È possibile automatizzare questo processo con https://github.com/zephrax/linux-pam-backdoor {% endhint %}

Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks: