machine

Enumeración

Escaneo de puertos:

nmap -p- --open --min-rate 5000 -vvv -sS 10.10.10.37
Nmap scan report for 10.10.10.37
Host is up, received user-set (0.33s latency).
Scanned at 2024-06-08 14:15:46 -03 for 27s
Not shown: 65530 filtered tcp ports (no-response), 1 closed tcp port (reset)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT      STATE SERVICE   REASON
21/tcp    open  ftp       syn-ack ttl 63
22/tcp    open  ssh       syn-ack ttl 63
80/tcp    open  http      syn-ack ttl 63
25565/tcp open  minecraft syn-ack ttl 63

Detectamos versión y servicio de los puertos abiertos:

nmap -sCV 10.10.10.37
Host is up (0.29s latency).

PORT      STATE SERVICE   VERSION
21/tcp    open  ftp       ProFTPD 1.3.5a
22/tcp    open  ssh       OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 d6:2b:99:b4:d5:e7:53:ce:2b:fc:b5:d7:9d:79:fb:a2 (RSA)
|   256 5d:7f:38:95:70:c9:be:ac:67:a0:1e:86:e7:97:84:03 (ECDSA)
|_  256 09:d5:c2:04:95:1a:90:ef:87:56:25:97:df:83:70:67 (ED25519)
80/tcp    open  http      Apache httpd 2.4.18
|_http-title: Did not follow redirect to http://blocky.htb
|_http-server-header: Apache/2.4.18 (Ubuntu)
25565/tcp open  minecraft Minecraft 1.11.2 (Protocol: 127, Message: A Minecraft Server, Users: 0/20)

Se está redirigiendo a blocky.htb, por lo que vamos a agregarlo a nuestro /etc/hosts. Si accedemos al sitio, vemos lo siguiente:

blocky

blocky

Como estamos ante un WordPress, Inicialmente haremos un escaneo con wpscan. Entre bastante info, vemos que nos encuentra el usuario notch:

blocky

Es el mismo que vemos en los posteos del sitio:

blocky

Vamos a tratar de encontrar directorios ocultos con gobuster:

gobuster dir -u http://blocky.htb -w /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 50

blocky

Navegamos todos los directorios. Dentro de /plugins/, hay dos archivos:

blocky

Los descargamos. Descomprimimos inicialmente BlockyCore.jar:

7z x BlockyCore.jar

Vamos a inspeccionar con strings el binario BlocyCore.class:

blocky

Otra forma más cómoda es usar la herramienta jd-gui:

blocky

Vemos credenciales:

sqlUser: root
sqlPass: 8YsqfCTnvxAUeduzjNSXe22

Probamos conectarnos por SSH pero no funciona. Como hace referencia a SQL, accedemos a http://blocky.htb/phpmyadmin/ y logramos conectar:

blocky

Intrusión

Navegando las tablas, vamos a wp_users. Hacemos una consulta y vemos el usuario notch:

blocky

Como la password está encriptada y no logramos descifrarla utilizando John the Ripper, vamos a cambiarla. Especificamos una cualquiera, en este caso: Password123 (seleccionar MD5):

blocky

Con estas credenciales, ahora si nos conectamos a http://blocky.htb/wp-admin/

blocky

Vamos a utilizar este script de Pentest Monkey para obtener una Reverse Shell.

Desde el Wordpress, vamos a Appearance -> Editor -> Templates -> 404 Template y editamos el contenido. Borramos lo que está actualmente y lo reemplazamos por el script. Modificamos los parámetros de IP y puerto:

blocky

Luego, nos quedamos a la escucha con netcat, y accedemos a: http://blocky.htb/wp-content/themes/twentyseventeen/404.php

Obtenemos la Reverse Shell:

blocky

De todas formas, no tenemos permisos para leer la flag con el usuario www-data:

blocky

Vamos a probar usar el usuario notch y la contraseña obtenida anteriormente para root por SSH. Conectamos! y ahora si podemos ver la primera flag:

blocky

Escalación de privilegios

Si ejecutamos el comando id, vemos que pertenemos al grupo sudo. Por lo tanto, intentamos escalar privilegios con el comando sudo su. Proporcionamos la misma contraseña que tenemos.

blocky

Somos root y podemos ver la segunda flag.


Published

Category

HTB

Tags