# Post-Esploitation Linux
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! Altri modi per supportare HackTricks: * Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)! * Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com) * Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family) * **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** * **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
## 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](pam-pluggable-authentication-modules.md) {% endcontent-ref %} **Per ulteriori dettagli consulta il [post originale](https://embracethered.com/blog/posts/2022/post-exploit-pam-ssh-password-grabbing/)**. 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. ```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 consulta il [post originale](https://infosecwriteups.com/creating-a-backdoor-in-pam-in-5-line-of-code-e23e99579cd9)**. 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`. 2. **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. 3. **Ricompilare e sostituire** la libreria `pam_unix.so` modificata nella directory appropriata. 4. **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](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: * Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)! * Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com) * Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family) * **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** * **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **repository di Github.**