Este puerto contiene el canal de comunicación predeterminado que utiliza el motor de bases de datos MySQL para establecer conexiones de red. Permite que las aplicaciones, interfaces y herramientas externas se comuniquen con el servidor para leer, escribir y administrar datos.

MySQL es el sistema de gestión de bases de datos relacionales más popular y utilziado del mundo. Es un software Open Source que sirve para almacenar, organizar, proteger y recuperar grandes volúmenes de datos mediante el lenguaje SQL (Structure Query Language).

Este es el motor oculto detrás de la mayoría de los sitios web modernos. Se utiliza principalmente en plataformas de comercio electrónico, sistemas de gestión de contenidos y aplicaciones web de gran escala.

Reconocimiento

Por definición, el servicio SQL corre sobre TCP y utiliza un protocolo binario para comunicarse. Para interactuar con él, necesitaremos usar herramientas que entiendan el lenguaje de MySQL.

Explotación

Para comprobar si podemos ingresar, utilizaremos el cliente nativo de MySQL mysql

Como era de esperar, el cliente actualizado de mysql intenta por defecto cifrar la conexión usando protocolos modernos de seguridad (TLS/SSL). Pero el servidor MySQL de Metasploitable es tan antiguo que no soporta cifrado SSL o maneja una versión tan obsoleta que nuestra máquina la rechaza de inmediato.

Por suerte pudimos desactivar el SSL con el argumento --skip-ssl, además pudimos ingresar sin necesitad de poner la contraseña de root. Una vez dentro podemos encontrar información en la base de datos.

y encontrar contraseñas de usuarios…

Hardening

Para que este puerto deje de ser un peligro, vamos a aplicar la remediación de forma radical.

Detendremos el motor de base de datos en memoria.

/etc/init.d/mysql stop

Luego lo eliminaremos del inicio automático con el arranque del sistema.

update-rc.d -f mysql remove

y con esto cerramos el puerto del servicio y reducimos la superficie de ataque.