Page cover

🐧Búsqueda de credenciales en Linux

Al enumerar un sistema, es importante anotar las credenciales. Estas pueden encontrarse en archivos de configuración ( .conf, .config, .xml, etc.), scripts de shell, el archivo de historial de bash de un usuario, archivos de respaldo (.bak), dentro de archivos de base de datos o incluso en archivos de texto. Las credenciales pueden ser útiles para escalar a otros usuarios o incluso a la raíz, acceder a bases de datos y otros sistemas dentro del entorno.

El directorio /var normalmente contiene la raíz web de cualquier servidor web que se esté ejecutando en el host. La raíz web puede contener credenciales de base de datos u otros tipos de credenciales que se pueden aprovechar para obtener más acceso. Un ejemplo común son las credenciales de la base de datos MySQL dentro de los archivos de configuración de WordPress:

htb_student@NIX02:~$ cat wp-config.php | grep 'DB_USER\|DB_PASSWORD'

define( 'DB_USER', 'wordpressuser' );
define( 'DB_PASSWORD', 'WPadmin123!' );

Los directorios de spool o de correo, si son accesibles, también pueden contener información valiosa o incluso credenciales. Es común encontrar credenciales almacenadas en archivos en la raíz web (es decir, cadenas de conexión MySQL, archivos de configuración de WordPress).

htb_student@NIX02:~$  find / ! -path "*/proc/*" -iname "*config*" -type f 2>/dev/null

/etc/ssh/ssh_config
/etc/ssh/sshd_config
/etc/python3/debian_config
/etc/kbd/config
/etc/manpath.config
/boot/config-4.4.0-116-generic
/boot/grub/i386-pc/configfile.mod
/sys/devices/pci0000:00/0000:00:00.0/config
/sys/devices/pci0000:00/0000:00:01.0/config
<SNIP>

Claves SSH

También es útil buscar en el sistema claves privadas SSH accesibles. Podemos encontrar una clave privada para otro usuario más privilegiado que podamos usar para conectarnos nuevamente al equipo con privilegios adicionales. También podemos encontrar claves SSH que se puedan usar para acceder a otros hosts en el entorno. Siempre que encuentre claves SSH, verifique el archivo known_hosts para encontrar destinos. Este archivo contiene una lista de claves públicas para todos los hosts a los que el usuario se ha conectado en el pasado y puede ser útil para el movimiento lateral o para encontrar datos en un host remoto que se puedan usar para realizar una escalada de privilegios en nuestro objetivo.

Si deseas más información sobre este tema de Credential Hunting puedes revisar esta sección dedicada:

🔑Credential Hunting - Linux🔑Credential Hunting - Windows

Caso práctico

Encuentra la contraseña de la base de datos de WordPress.

Lo primero debemos ubicar el archivo wp-config.php, que se suele ubicar en /var/www/html:

Con estas credenciales podríamos acceder a la base de datos y obtener información confidencial o contraseñas, como en el ejemplo a continuación, donde obtenemos la contraseña del usuario administrador:

Vemos que la contraseña se guarda en un formato phpass, por lo que vamos a crackearlo para obtener la contraseña en plano:

Como vemos, la contraseña del usuario admin es admin, una contraseña muy segura.

Última actualización

¿Te fue útil?