Kali Linux viene preequipado con todas las herramientas necesarias para las pruebas de penetración. Una de esas herramientas es el marco Metasploit que permite a los miembros del equipo rojo realizar reconocimientos, escanear, enumerar, y explotar vulnerabilidades para todo tipo de aplicaciones, redes, servidores, sistemas operativos y plataformas

Aunque la funcionalidad principal de Metasploit se centra en las tareas de pentesting previas y posteriores a la explotación, también es útil en el desarrollo de exploits y la investigación de vulnerabilidades.

Este artículo presenta los componentes principales del marco Metasploit. Demuestra cómo usar los módulos Metasploit para escanear, enumerar y explotar una base de datos MySQL vulnerable alojada en una máquina conocida como Metasploitable 2.

Metasploit es la herramienta de pentesting más utilizada que viene preinstalada en Kali Linux. Los principales componentes de Metasploit son msfconsole y los módulos que ofrece.

¿Qué es msfconsole?

msfconsole

instagram viewer
es la interfaz todo en uno tipo shell más utilizada que le permite acceder a todas las funciones de Metasploit. Tiene soporte de línea de comandos similar a Linux, ya que ofrece autocompletado de comandos, tabulación y otros atajos de bash.

Es la interfaz principal que le permitirá trabajar con módulos Metasploit para escanear y lanzar un ataque en la máquina objetivo.

Metasploit tiene pequeños fragmentos de código que habilitan su funcionalidad principal. Sin embargo, antes de explicar los módulos, debes tener claro los siguientes conceptos recurrentes:

  • Vulnerabilidad: Es una falla en el diseño o código del objetivo que lo hace vulnerable a la explotación que conduce a la divulgación de información confidencial.
  • Explotar: Un código que explota la vulnerabilidad encontrada.
  • Carga útil: Es un código que te ayuda a lograr el objetivo de explotar una vulnerabilidad. Se ejecuta dentro del sistema de destino para acceder a los datos de destino, como mantener el acceso a través de Meterpreter o un shell inverso.

Ahora avanzando hacia los cinco módulos principales de Metasploit:

  • Auxiliar: El módulo auxiliar contiene un conjunto de programas como fuzzers, escáneres y herramientas de inyección SQL para recopilar información y obtener una comprensión más profunda del sistema de destino.
  • Codificadores: los codificadores cifran las cargas útiles/exploits para protegerlos contra las soluciones antivirus basadas en firmas. Dado que las cargas útiles o los exploits contienen caracteres nulos o incorrectos, hay muchas posibilidades de que una solución antivirus los detecte.
  • Explotar: Como se discutió anteriormente, un exploit es un código que aprovecha las vulnerabilidades de destino para garantizar el acceso al sistema a través de cargas útiles.
  • Carga útil: Como se mencionó anteriormente, las cargas útiles lo ayudan a lograr el objetivo deseado de atacar el sistema de destino. Eso significa que lo ayudarán a obtener un shell interactivo o lo ayudarán a mantener una puerta trasera, ejecutar un comando o cargar malware, etc. Metasploit ofrece dos tipos de cargas útiles: cargas útiles sin etapas y cargas útiles por etapas.
  • Correo: El módulo posterior a la explotación lo ayudará a recopilar más información sobre el sistema. Por ejemplo, puede ayudarlo a volcar los hashes de contraseña y buscar credenciales de usuario para movimiento lateral o escalada de privilegios.

Puede usar los siguientes comandos para ver cada módulo y sus categorías:

cd /usr/share/metasploit-framework/modules
ls
árbol -L 1 nombre-módulo/

Para comenzar a usar la interfaz de Metasploit, abra la terminal de Kali Linux y escriba msfconsole.

De forma predeterminada, msfconsole se abre con un banner; para eliminar eso e iniciar la interfaz en modo silencioso, use el msfconsole comando con el -q bandera.

La interfaz se parece a un shell de línea de comandos de Linux. Algunos comandos de Linux Bash que admite son ls, clear, grep, history, jobs, kill, cd, exit, etc.

Escribe ayuda o un signo de interrogación "?" para ver la lista de todos los comandos disponibles que puede usar dentro de msfconsole. Algunos de los más importantes que usaremos en este artículo son:

Mando Descripción
búsqueda Le permite buscar en la base de datos Metasploit según el protocolo/aplicación/parámetro dado
usar Le permite elegir un módulo en particular y cambia el contexto a los comandos específicos del módulo
información Proporciona información sobre el módulo seleccionado.
show Muestra información sobre el nombre del módulo dado y las opciones para el módulo actual
cheque Comprueba si el sistema de destino tiene una vulnerabilidad
colocar Es una variable específica del contexto que configura opciones para el módulo actual
desarmado Elimina los parámetros previamente establecidos
correr Ejecuta el módulo actual

Antes de comenzar, configure la base de datos Metasploit por iniciar el servidor PostgreSQL e inicialice la base de datos msfconsole de la siguiente manera:

systemctl iniciar postgresql
inicio de msfdb

Ahora verifique el estado de la base de datos inicializando msfconsole y ejecutando el estado_db mando.

Para fines de demostración, configure la máquina Linux vulnerable de código abierto Metasploitable2.

Reconocimiento de MySQL con msfconsole

Encuentra el Dirección IP de la máquina Metasploitable primero. Luego, usa el db_nmap comando en msfconsole con banderas Nmap para escanear la base de datos MySQL en 3306 Puerto.

db_nmap -sV -sC -p 3306 

Puede ejecutar el regular nmap -p- comando para confirmar el número de puerto de la base de datos MySQL.

Relacionado: Nmap para principiantes: obtenga experiencia práctica con el escaneo de puertos

Utilizar el búsqueda opción de buscar un módulo auxiliar para escanear y enumerar la base de datos MySQL.

tipo de busqueda: mysql auxiliar

De la lista anterior, puede utilizar el auxiliar/escáner/mysql/mysql_version módulo escribiendo el nombre del módulo o el número asociado para escanear los detalles de la versión de MySQL.

uso 11

O:

usar auxiliar/escáner/mysql/mysql_version

Ahora usa el mostrar opciones Comando para mostrar los parámetros necesarios requeridos para ejecutar el módulo actual:

El resultado muestra que la única opción requerida y no configurada es RHOSTS, que es la dirección IP de la máquina de destino. Utilizar el establecer fantasmas Comando para establecer el parámetro y ejecutar el módulo, de la siguiente manera:

La salida muestra los detalles de la versión de MySQL similares a los db_nmap función.

Cuenta raíz MySQL de fuerza bruta con msfconsole

Después de escanear, también puede forzar la cuenta raíz de MySQL a través de Metasploit. auxiliar (escáner/mysql/mysql_login) módulo.

Deberá configurar el PASS_FILE parámetro a la ruta de la lista de palabras disponible dentro /usr/share/wordlists:

establecer PASS_FILE /usr/share/wordlistss/rockyou.txt

Luego, especifique la dirección IP de la máquina de destino con el comando RHOSTS.

conjunto ROSTOS 

Colocar CONTRASEÑAS EN BLANCO a verdadero en caso de que no haya una contraseña configurada para la cuenta raíz.

establecer BLANK_PASSWORDS verdadero

Finalmente, ejecute el módulo escribiendo correr en la terminal

Enumeración de MySQL con msfconsole

msfconsole también le permite enumerar la base de datos con la ayuda de la auxiliar (admin/mysql/mysql_enum) módulo. Devuelve todas las cuentas con detalles como privilegios asociados y hash de contraseña.

Para hacerlo, deberá especificar la contraseña, el nombre de usuario y la variable rhosts.

configurar la clave ""
establecer la raíz del nombre de usuario
establecer fantasmas

Finalmente, ejecute el módulo escribiendo:

correr

Explotación de MySQL con msfconsole

Desde la fase de enumeración, está claro que la cuenta raíz tiene privilegios de archivo que permiten a un atacante ejecutar el cargar archivo() función. La función le permite explotar la base de datos MySQL cargando todos los datos de el archivo /etc/contraseña mediante el auxiliar(/admin/mysql/mysql_sql) módulo:

Nuevamente, configure el nombre de usuario, la contraseña y la variable rhosts. Luego, ejecute una consulta que invoque la función load_file() y cargue el /etc/passwd Archivo.

establecer sql seleccione cargar_archivo(\"/etc/contraseña\")

Los módulos Metasploit ayudan en todas las fases de las pruebas de penetración. Metasploit también permite a los usuarios crear sus propios módulos.

Este artículo resume algunos módulos principales del marco Metasploit y demuestra cómo escanear, enumerar y explotar una base de datos MySQL en la máquina Metasploitable 2.

Metasploit no es la única herramienta de prueba de penetración que utilizará como profesional de ciberseguridad. Hay varias otras utilidades con las que deberá familiarizarse si desea convertirse en un experto en seguridad.

Las 10 mejores herramientas de prueba de penetración para profesionales de la seguridad

Si se pregunta cómo prueban los profesionales la penetración, esta guía le ayudará.

Leer siguiente

CuotaPíoCorreo electrónico
Temas relacionados
  • linux
  • Hackeo ético
  • Hackear
  • Aplicaciones Linux
Sobre el Autor
Rumaisa Niazi (11 artículos publicados)

Rumaisa es escritora independiente en MUO. Ha desempeñado muchas funciones, desde matemática hasta entusiasta de la seguridad de la información, y ahora trabaja como analista de SOC. Sus intereses incluyen leer y escribir sobre nuevas tecnologías, distribuciones de Linux y todo lo relacionado con la seguridad de la información.

Más de Rumaisa Niazi

Suscríbete a nuestro boletín

¡Únase a nuestro boletín para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse