# 3306- MySQL/tcp

## Nmap scripts

<pre><code>ls -al /usr/share/nmap/scripts/ | grep -e “mysql” # para ver los scripts posibles del mysql
<strong>nmap --script=mysql-* target-1 # lanzar todos los scripts
</strong>mysql-enum
mysql-brute
mysql-info
Esto puede ser a veces muy ruidoso y bloquear el puerto, así que mejor otras formas mejores.
</code></pre>

## Conectarnos

```
mysql -h <IP> -u <USER> -p <PASS>
```

### Comandos básicos

| Comando                                                                          | Descripción                                                                                                                                                                      |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `SHOW DATABASES;`                                                                | Muestra todas las bases de datos disponibles en el servidor MySQL.                                                                                                               |
| `USE database_name;`                                                             | Selecciona la base de datos especificada para su uso en la conexión actual.                                                                                                      |
| `SHOW TABLES;`                                                                   | Muestra todas las tablas disponibles en la base de datos seleccionada.                                                                                                           |
| `DESCRIBE table_name;`                                                           | Muestra la estructura de la tabla especificada, incluyendo nombres y tipos de columna.                                                                                           |
| `SELECT * FROM table_name;`                                                      | Recupera todos los registros de la tabla especificada.                                                                                                                           |
| `INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);`   | Inserta un nuevo registro en la tabla especificada, proporcionando valores para cada columna.                                                                                    |
| `UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;` | Actualiza uno o más registros en la tabla especificada, estableciendo nuevos valores para cada columna. Puedes especificar una condición que determine qué registros actualizar. |
| `DELETE FROM table_name WHERE condition;`                                        | Elimina uno o más registros de la tabla especificada, basándose en una condición que determine qué registros eliminar.                                                           |
| `QUIT`                                                                           | Cierra la conexión Telnet con el servidor MySQL.                                                                                                                                 |

Artículo más extenso sobre comandos: <https://phoenixnap.com/kb/mysql-commands-cheat-sheet>

## Fuerza bruta

```
hydra -l <user> -P /usr/share/wordlists/rockyou.txt mysql
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://j4ckie0x17.gitbook.io/notes-pentesting/enumeracion-de-servicios/3306-mysql-tcp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
