3306:MYSQL
¿Que es MySQL?
MySQL es un sistema de gestión de bases de datos,MySQL almacena los datos en tablas formadas por filas y columnas. Los usuarios pueden definir, manipular, controlar y consultar datos con el lenguaje de consulta estructurada, también conocido como SQL.
Por defecto tiene el puerto:
3306/tcp open mysql
Escanear
nmap -sV -p 3306,33060,33061 <IP>
Script
# Ejecuta scripts para realizar una auditoría completa de un servidor MySQL, incluyendo la identificación de vulnerabilidades, la enumeración de usuarios y bases de datos, y la obtención de información detallada sobre el servidor.
nmap --script=mysql-audit,mysql-databases,mysql-dump-hashes,mysql-empty-password,mysql-enum,mysql-info,mysql-query,mysql-users,mysql-variables,mysql-vuln-cve2012-2122 $ip -p 3306
# Ejecuta una serie de scripts para realizar pruebas de penetración
nmap --script=mysql* $ip -p 3306
# Audita la configuración de seguridad del servidor de base de datos MySQL
nmap -p 3306 --script mysql-audit --script-args "mysql-audit.username='root', \
mysql-audit.password='foobar',mysql-audit.filename='nselib/data/mysql-cis.audit'" 192.168.x.x
# Bruta Fuerza
nmap --script=mysql-brute --script-args userdb=users.txt,passdb=passwords.txt -p 3306 192.168.x.x
# Intenta enumerar todas las bases de datos en un servidor MySQL.
nmap -sV --script=mysql-databases -p 3306 192.168.x.x
# Vuelca los hash de contraseña de un servidor MySQL en un formato adecuado
nmap --script mysql-dump-hashes --script-args='username=root,password=secret' -p 3306 192.168.x.x
# Comprueba si hay servidores MySQL con una contraseña vacía para root o anónimo.
nmap -sV --script=mysql-empty-password -p 3306 192.168.x.x
# Realiza una enumeración de usuarios válidos en el servidor MySQL utilizando un error
nmap --script=mysql-enum -p 3306 192.168.x.x
# Se conecta a un servidor MySQL e imprime información como el protocolo y los números de versión, ID del hilo, estado, capacidades y la contraseña salt.
nmap -sV -sC -p 3306 192.168.x.x
# Ejecuta una consulta en una base de datos MySQL y devuelve los resultados como una tabla.
nmap --script mysql-query --script-args='query="<query>"[,username=<username>,password=<password>]' -p 3306 192.168.x.x
# Intenta listar a todos los usuarios en un servidor MySQL.
nmap -sV --script=mysql-users -p 3306 192.168.x.x
# Intenta mostrar todas las variables en un servidor MySQL
nmap -sV --script=mysql-variables -p 3306 192.168.x.x
# Intenta omitir la autenticación en servidores MySQL y MariaDB explotando CVE2012-2122.
nmap --script mysql-vuln-cve2012-2122 -p3306 192.168.x.x
Comandos
Comandos de enumeración
SHOW DATABASES: Muestra una lista de todas las bases de datos disponibles.
SHOW TABLES: Muestra una lista de todas las tablas disponibles en una base de datos específica.
SHOW COLUMNS: Muestra una lista de todas las columnas disponibles en una tabla específica.
SHOW CREATE TABLE: Muestra el código de creación de una tabla específica.
SHOW CREATE DATABASE: Muestra el código de creación de una base de datos específica.
SHOW CREATE DATABASE: Muestra el código de creación de una base de datos específica.
Comandos de inyección SQL
LIKE: Busca una coincidencia en una cadena.
UNION: Combina los resultados de dos consultas SQL
IN: Busca una coincidencia en un conjunto de valores
BETWEEN: Busca una coincidencia dentro de un rango de valores
NULL: Busca una coincidencia con un valor NULL
Comandos de explotación
REVOKE: Retira privilegios a un usuario para acceder a una base de datos
DELETE: Elimina datos de una tabla
UPDATE: Actualiza datos existentes en una tabla
CREATE USER: Crea un nuevo usuario para acceder a una base de datos
GRANT: Otorga privilegios a un usuario para acceder a una base de datos
Conectar
# Local
mysql -u root # Connect to root without password
mysql -u root -p # A password will be asked (check someone)
# Remoto
mysql -h <Hostname> -u root
mysql -h <Hostname> -u root@localhost
Enumeracion
# Escanea para identificar los servicios que se están ejecutando y sus versiones.
nmap -sV -p 3306,33060,33061 <IP>
# Este módulo se utiliza para enumerar la versión de MySQL que se está ejecutando en un servidor MySQL.
msf> use auxiliary/scanner/mysql/mysql_version
# Este módulo se utiliza para extraer las contraseñas hash de un servidor MySQL que es vulnerable a la vulnerabilidad
msf> use auxiliary/scanner/mysql/mysql_authbypass_hashdump
# Realiza una auditoría completa de un servidor MySQL
nmap -sV -p 3306 --script mysql-audit,mysql-databases,mysql-dump-hashes,mysql-empty-password,mysql-enum,mysql-info,mysql-query,mysql-users,mysql-variables,mysql-vuln-cve2012-2122 <IP>
auxiliary/scanner/mysql/mysql_file_enum
Recursos
Última actualización