Está en la página 1de 7

Translator

Linux-Console.net <https://es.linux-console.net/>

* Todos los articulos <https://es.linux-console.net/?all>


* Distribuciones de linux <#> Ubuntu <https://es.linux-console.net/?
dist=ubuntu> Linux Mint <https://es.linux-console.net/?dist=mint>
Debian <https://es.linux-console.net/?dist=debiant> OpenSUSE
<https://es.linux-console.net/?dist=opensuse> Kali Linux <https://
es.linux-console.net/?dist=kali> Arch Linux <https://es.linux-
console.net/?dist=arch> CentOS <https://es.linux-console.net/?
dist=centos> Fedora <https://es.linux-console.net/?dist=fedora> RHEL
<https://es.linux-console.net/?dist=rhel>
* Secciones del sitio <#> Network <https://es.linux-console.net/?
cat=network> Server <https://es.linux-console.net/?cat=server> PHP
<https://es.linux-console.net/?cat=php> VirtualBox <https://
es.linux-console.net/?cat=virtualbox> SSH <https://es.linux-
console.net/?cat=ssh> Bash <https://es.linux-console.net/?cat=bash>
Apache <https://es.linux-console.net/?cat=apache> MySQL <https://
es.linux-console.net/?cat=mysql> phpMyAdmin <https://es.linux-
console.net/?cat=phpmyadmin> Office / LibreOffice <https://es.linux-
console.net/?cat=office> grep <https://es.linux-console.net/?
cat=grep> awk <https://es.linux-console.net/?cat=awk> sed <https://
es.linux-console.net/?cat=sed> iptables <https://es.linux-
console.net/?cat=iptables> Docker <https://es.linux-console.net/?
cat=docker> Python <https://es.linux-console.net/?cat=python>
fail2ban <https://es.linux-console.net/?cat=fail2ban>
* Windows <#> Windows <https://es.windows-office.net/> Word <https://
es.windows-office.net/?cat=word> Office <https://es.windows-
office.net/?cat=office> Google <https://es.windows-office.net/?
cat=google> Excel <https://es.windows-office.net/?cat=excel>
PowerPoint <https://es.windows-office.net/?cat=powerpoint> ChatGPT
<https://es.windows-office.net/?cat=gpt> Stable Diffusion <https://
es.windows-office.net/?cat=diffusion>

*Búsqueda de sitios web*

× <javascript:void(0)>

buscar

Búsqueda personalizada

Una guía para principiantes de Metasploit en Kali Linux (con ejemplos


prácticos)

------------------------------------------------------------------------

Aprenda sobre la interfaz básica y los módulos de Metasploit y cómo


usarlos para explotar las vulnerabilidades de MySQL <https://es.linux-
terminal.com/?cat=mysql> en Metasploitable 2.

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 equipos rojos realizar reconocimiento,
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 <https://es.linux-terminal.com/?
cat=mysql> vulnerable alojada en una máquina conocida como Metasploitable 2.

Interfaz de Metasploit y sus módulos

Metasploit es la herramienta de pentesting más utilizada que viene


preinstalada en Kali Linux. Los componentes principales de Metasploit
son *msfconsole* y los módulos que ofrece.

¿Qué es msfconsole?

*msfconsole* es la interfaz todo en uno similar a un 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.

Módulos Metasploit

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.

*Exploit*: Un código que explota la vulnerabilidad encontrada.

*Payload*: 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.

*Exploit*: como se mencionó 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.

*Publicar*: 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
tree -L 1 module-name/

Cómo usar la interfaz de Metasploit: msfconsole

Para comenzar a usar la interfaz de Metasploit, abra la terminal 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 comando
*msfconsole* con el indicador *-q*.

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.

Escriba *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:

Command
Description

search

Allows you to search from the Metasploit database based on the given
protocol/application/parameter

use

Allows you to choose a particular module and changes the context to


module-specific commands

info

Provides information about the selected module

show

Displays information about the given module name and options for the
current module

check

Checks if the target system has a vulnerability

set

It's a context-specific variable that configures options for the current


module

unset

Removes previously set parameters

run

Executes the current module

Antes de comenzar, configure la base de datos Metasploit iniciando el


servidor PostgreSQL e inicialice la base de datos msfconsole de la
siguiente manera:
|systemctl start postgresql
msfdb init

Ahora verifique el estado de la base de datos inicializando msfconsole y


ejecutando el comando *db_status*.

Explotación de MySQL <https://es.linux-terminal.com/?cat=mysql>


usando Metasploit

Para fines de demostración, configure la máquina Linux vulnerable de


código abierto Metasploitable2.

Reconocimiento de MySQL <https://es.linux-terminal.com/?cat=mysql>


con msfconsole

Encuentre primero la dirección IP de la máquina Metasploitable. Luego,


use el comando *db_nmap* en msfconsole con banderas Nmap para escanear
la base de datos MySQL <https://es.linux-terminal.com/?cat=mysql> en el
puerto *3306*.

|db_nmap -sV -sC -p 3306 <metasploitable_ip_address>

Puede ejecutar el comando regular *nmap -p- * 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

Use la opción *buscar* para buscar un módulo auxiliar para escanear y


enumerar la base de datos MySQL.

|search type:auxiliary mysql

De la lista anterior, puede usar el módulo *auxiliary/scanner/mysql/


mysql_version* escribiendo el nombre del módulo o el número asociado
para escanear los detalles de la versión de MySQL.

|use 11

O :

|use auxiliary/scanner/mysql/mysql_version

Ahora use el comando *mostrar opciones* 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. Utilice el
comando *set rhosts* para establecer el parámetro y ejecutar el módulo,
de la siguiente manera:

El resultado muestra los detalles de la versión de MySQL <https://


es.linux-terminal.com/?cat=mysql> similares a los de la función *db_nmap*.

Cuenta raíz MySQL <https://es.linux-terminal.com/?cat=mysql> de


fuerza bruta con msfconsole

Después de escanear, también puede forzar la cuenta raíz de MySQL


<https://es.linux-terminal.com/?cat=mysql> a través del módulo
*auxiliary(scanner/mysql/mysql_login)* de Metasploit.

Deberá establecer el parámetro *PASS_FILE* en la ruta de la lista de


palabras disponible dentro de */usr/share/wordlists*:

|set PASS_FILE /usr/share/wordlistss/rockyou.txt

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


comando RHOSTS.

|set RHOSTS <metasploitable-ip-address>

Establezca *BLANK_PASSWORDS* en verdadero en caso de que no haya una


contraseña configurada para la cuenta raíz.

|set BLANK_PASSWORDS true

Finalmente, ejecute el módulo escribiendo *ejecutar* en la terminal.

Enumeración de MySQL <https://es.linux-terminal.com/?cat=mysql>


con msfconsole

msfconsole también le permite enumerar la base de datos con la ayuda del


módulo *auxiliary(admin/mysql/mysql_enum)*. 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.

|set password ""


set username root
set rhosts <metasploitable-ip-address>

Finalmente, ejecute el módulo escribiendo:

|run
|

Explotación de MySQL <https://es.linux-terminal.com/?cat=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 la función
*load_file()*. La función le permite explotar la base de datos MySQL
<https://es.linux-terminal.com/?cat=mysql> cargando todos los datos del
archivo /etc/password a través del módulo *auxiliary(/admin/mysql/
mysql_sql)*:

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 archivo */etc/passwd*.

|set sql select load_file(\"/etc/password\")

Aprenda Metasploit para pruebas de penetración en Linux

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
<https://es.linux-terminal.com/?cat=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.

------------------------------------------------------------------------

Todos los derechos reservados © Linux-Console.net • 2019-2024

También podría gustarte