Darkside WriteUp HackMyVM
Hoy probaré la página de HackMyVM porque me la han recomendado mucho, empezaremos con esta máquina ya que es sencilla y buena para calentar
Reconocimiento
Usando el comando:
sudo netdiscover -r 192.168.X.X/24
Podremos buscar las IPs en nuestra red y descubrimos que la IP de la maquina es: “192.168.1.90”
Usamos nmap para ver que puertos tiene activados
sudo nmap -sS -sC -sV 192.168.1.90
Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-10 12:50 CET
Nmap scan report for 192.168.1.90
Host is up (0.000059s latency).
Not shown: 998 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u2 (protocol 2.0)
| ssh-hostkey:
| 3072 e0:25:46:8e:b8:bb:ba:69:69:1b:a7:4d:28:34:04:dd (RSA)
| 256 60:12:04:69:5e:c4:a1:42:2d:2b:51:8a:57:fe:a8:8a (ECDSA)
|_ 256 84:bb:60:b7:79:5d:09:9c:dd:24:23:a3:f2:65:89:3f (ED25519)
80/tcp open http Apache httpd 2.4.56 ((Debian))
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
|_http-title: The DarkSide
|_http-server-header: Apache/2.4.56 (Debian)
MAC Address: 08:00:27:D4:DF:30 (Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Vemos que tiene los puertos 22 y el 80. Entramos en el puerto 80 y vemos que tiene una pagina para iniciar sesión. Podemos probar con injección SQL pero no me ha dado ningun resultado.
Probamos con la herramienta “gobuster” para encontrar subdirectorios encontramos el directorio “backup”
gobuster dir -u 192.168.1.90 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
Dentro de backup vemos un “vote.txt” y encontramos el posible usuario para entrar en la página
Explotación
Asi que probamos a hacer un ataque de fuerza bruta con “burpsuite” para encontrar la contraseña de “kevin”. Primero capturamos la petición con “burpsuite”.
La mandamos al Intruder y marcamos la palabra donde va la contraseña.
Nos vamos al apartado de “Payloads”, cargamos un diccionario de contraseñas y empezamos el ataque
Despues de un rato, la contraseña al final era “iloveyou”
Entramos con la contraseña y vemos lo siguiente
Este codigo podemos probar a desencriptarlo con “cyberchef”
Este enlace nos lleva a otra parte de la página
Si miramos el codigo fuente de la página se ejecuta un codigo javascript relacionado con las cookies, en el apartado de las cookies existe el apartado “whiteside”.
Probamos a cambiar el nombre a “darkside” (ya que la máquina se llama “darkside”) y nos dá el usuario y la contraseña del ssh
Si miramos dentro del directorio encontramos la “user.txt” y así habríamos completado la primera parte de la máquina
Escalada de privilegios
Mirando mas a fondo del directorio, podemos ver un archivo llamado “.history”
Así de fácil encontramos la contraseña para el siguiente usuario. Ahora solo toca llegar hasta root, usando el comando sudo -l podremos saber que permisos puede ejecutar “rijaba” como administrador
El siguiente paso será buscar en GTFObins si existe alguna forma de escalar de privilegios usando “nano” o tendremos que buscar otra forma. Suerte para nosotros si existe una forma, la replicamos y tendremos el acceso a root
Siguiendo los pasos primero tenemos que ejecutar sudo nano, pulsar ctrl+R, pulsar ctrl+X y ejecutar reset; sh 1>&0 2>&0 y quedaría así
Al lado de “Executing…” está el simbolo “#” haciendo referencia a root, si desde ahí creamos un archivo usando nano y salimos tendremos una consola como root
Finalmente vamos al directorio de root y allí encontramos la segunda flag y habríamos completado la máquina