Sequel

Created by 0xnotkyo

hackthebox.com - © HACKTHEBOX

Os: Linux

Difficulty: Very Easy

0. Introducción

Sequel es una de las máquinas de Starting Point en HackTheBox. Es una máquina Linux que está relacionada con SQL y base de datos. Además, durante la explotación de la máquina tendremos que ir respondiendo a preguntas que tienen la función de guiar en la resolución de estas máquinas.

1. Ping

Para comenzar, hacemos ping a la dirección IP del objetivo para verificar si nuestros paquetes llegan a su destino.

Como estamos recibiendo paquetes desde el ordenador de destino, sabemos que la conexión está establecida correctamente.

  • TTL = 63 → Este valor (cercano a 64) indica que nos encontramos ante una máquina Linux.

1. Reconocimiento con NMAP

Ejecutaremos la instrucción básica de reconocimiento

🔴🟡🟢

nmap -p- -sS --min-rate 5000 -n -Pn -vvv --open 10.129.176.26 -oG allPorts

Podemos ver que el puerto 3306/tcp está abierto y ejecutando el servicio mysql.

  • Puerto 3306 = mysql → Es el puerto predeterminado para las conexiones MySQL y MariaDB. Se utiliza para la comunicación entre el cliente y el servidor de base de datos.

3. Puertos abiertos (versiones)

Sobre los puertos abiertos detectados en la máquina víctima, ejecutaremos un escaneo con Nmap enfocado a identificar las versiones de los servicios que se están ejecutando en ellos.

🔴🟡🟢

nmap -scV -p3306 10.129.176.26 -oN targeted

El resultado del comando ejecutado sería el siguiente:

Este escaneo ha aportado información sustanciosa para la consecución de la máquina:

  • 5.5.5-10.3.27-MariaDB-0+deb10u1 → Esta seria la versión de la base de datos de la máquina víctima. Lo tendremos en cuenta más adelante tanto para la resolución de las preguntas como en la búsqueda de posibles vulnerabilidades.

A continuación, comenzaremos a responder las preguntas que nos indica la plataforma:

Task 1:

During our scan, which port do we find serving MySQL?Which TCP port is open on the machine?

3306

Task 2:

What community-developed MySQL version is the target running?

MariaDB

4. Intrusión

Sabiendo que la máquina víctima tiene el servicio mysql trataremos de conectarnos a él. Para ello ejecutaremos:

🔴🟡🟢

mysql -h 10.129.176.26 -u root
Parámetro
Función

-h

Especifica la ip de la máquina víctima a la cuál nos queremos conectar.

-u

Especifica el usuario con el que nos queremos conectar.

Usaremos el usuario "root" con el objetivo de conectarnos como usuario privilegiado en la base de datos y sin proporcionar contraseña. El resultado del comando ejecutado sería el siguiente:

Como podemos ver, estamos conectados. A partir de ahora vamos a operar dentro de MySQL a través de parámetros.

  • Listamos la base de datos disponibles en el servidor usando show databases;

  • De entre todas las disponibles nos llama la atención la que se llama htb por lo que nos conectaremos haciendo uso del comando: use htb;

  • Listamos las tablas disponibles en htb con: show tables; y observamos una tabla users que nos llama la atención.

  • Listamos el contenido de users con: select * from users; y tenemos una lista de nombre de usuarios y su email, en principio ni rastro de la flag.

  • Listamos ahora el contenido de la otra tabla, la config con select * from config; y ahí tenemos la flag.

Ya tenemos toda la información necesaria para completar el resto de preguntas:

Task 3:

When using the MySQL command line client, what switch do we need to use in order to specify a login username?

-u

Task 4:

Which username allows us to log into this MariaDB instance without providing a password?

root

Task 5:

In SQL, what symbol can we use to specify within the query that we want to display everything inside a table?

*

Task 6:

In SQL, what symbol do we need to end each query with?

;

Task 7:

There are three databases in this MySQL instance that are common across all MySQL instances. What is the name of the fourth that's unique to this host?

htb

~Happy Hacking

Última actualización