share

Escaneo de redes usando METASPLOIT

Introducción a Metasploit

Metasploit es una herramienta de código abierto diseñada para probar la seguridad de sistemas informáticos, identificar vulnerabilidades y llevar a cabo pruebas de penetración. Fue desarrollada originalmente por HD Moore en 2003 y desde entonces ha evolucionado en una plataforma integral para la evaluación y explotación de la seguridad de sistemas y redes.

Las principales funciones y usos de Metasploit incluyen:

1. **Pruebas de Penetración**: Metasploit se utiliza para simular ataques cibernéticos con el propósito de identificar vulnerabilidades en sistemas y redes. Los profesionales de seguridad informática pueden utilizar Metasploit para evaluar la postura de seguridad de una organización y determinar si sus sistemas son susceptibles a ataques.

2. **Explotación de Vulnerabilidades**: Una de las características distintivas de Metasploit es su capacidad para explotar vulnerabilidades conocidas en sistemas y aplicaciones. Esto implica el uso de exploits, que son pequeños programas diseñados para aprovechar debilidades en el software. Los investigadores de seguridad pueden utilizar Metasploit para demostrar cómo un atacante podría aprovechar una vulnerabilidad y ganar acceso no autorizado a un sistema.

3. **Desarrollo y Pruebas de Exploits**: Metasploit proporciona un entorno para el desarrollo y la prueba de exploits. Los investigadores pueden crear, modificar y probar exploits de manera segura en un entorno controlado antes de aplicarlos en situaciones reales.

4. **Enumeración y Escaneo de Redes**: Metasploit permite la identificación de hosts y servicios en una red. Puede realizar escaneos de puertos y servicios para recopilar información sobre los activos en una red, lo que ayuda en la planificación de pruebas de seguridad.

5. **Ataques de Ingeniería Social**: La herramienta también puede utilizarse para llevar a cabo ataques de ingeniería social, que se centran en engañar a los usuarios para que realicen acciones inseguras o divulguen información confidencial.

6. **Generación de Reportes**: Después de realizar pruebas de seguridad, Metasploit puede generar informes detallados que resuman las vulnerabilidades descubiertas, los exploits utilizados y las recomendaciones para mitigar los riesgos identificados.

Es importante mencionar que Metasploit puede ser utilizado tanto por profesionales de seguridad y administradores de sistemas con fines legítimos, como por actores maliciosos con intenciones ilegales. Por esta razón, su uso debe ser ético y legal, y siempre se debe contar con la autorización adecuada antes de realizar pruebas en sistemas o redes que no sean de su propiedad.

Máquinas y Red para este problema

Para una serie de problemas de hacking que vamos a resolver aquí vamos a utilizar otro laboratorio de máquinas diferente. Estas máquinas van a ser las siguientes:

Android

Parrot Security

Windows 11

Ubuntu

Windows Server 2019

Windows Server 2022

Para descargarlas pinchar en el correspondiente enlace.

Las 6 máquinas son archivos rar comprimidos, hay que crear una carpeta en el disco de trabajo y descomprimir los 6 archivos en esa carpeta.

Por ejemplo en mi sistema yo he creado la carpeta:

J:\MAQUINAS_CEH

me he llevado ahí los 6 archivos rar después de haberlos descargados.

Después uno por uno me situado en cada archivo y los he descomprimido directamente (descomprimir aquí) usando la utilidad 7zip. Y ya está, ya están las máquinas situadas en nuestra carpeta de trabajo.

Sois informáticos avanzados y entiendo que no tengo que explicaros como se descargan archivos, como se mueven de unas carpetas a otras y como se instala y utiliza la herramienta 7zip o cualquiera otra que uséis para descomprimir archivos. Al final tiene que quedaros algo parecido a esto:

Uso de VMWare

Bien, pues ya tenemos nuestras 6 máquinas descargadas y en un disco. Pueden estar en cualquier disco, pero fijaros que cada una de estas máquinas en el fondo es un PC simulado pero que consume todos los recursos de RAM y disco que requiere un PC para funcionar.

Por eso el equipo donde hagamos las pruebas de hacking, tiene que ser muy potente. El mío tiene 16GB de RAM y la verdad es que se queda un poco justo. Mucho mejor 32 y lo ideal serían 64, cuanto mas, mejor.

Tengo un disco SSD donde está el sistema operativo anfitrión, que es Win10. Podría poner las máquinas en cualquiera de los discos mecánicos auxiliares que tengo, pero no me convence el rendimiento.

He optado por comprar un disco SSD portátil de 1TB crucial X8 que se puede comprar aquí y la verdad es que está tirada de precio, a mi me costó el doble o mas. Esto nos garantiza espacio de sobra para muchas máquinas y una velocidad de lectura/escritura bastante notable.

Y a eso le unimos una característica excelente y es que es completamente portátil. La unidad es muy pequeña y compacta. Y así tenemos nuestro laboratorio de máquinas y utilidades listo para llevar a cualquier sitio.

Bien pues como decía ya tenemos las máquinas, el PC anfitrión e incluso hasta habremos comprado un disco externo SSD para centralizar todo nuestro software para aprender hacking. ¿Qué nos queda? pues instalar en el PC anfitrión el software que va manejar todas esas máquinas virtuales. Para esta serie de máquinas virtuales que voy a usar en sucesivos posts, voy a utilizar el VMware, que podéis descargar aquí. Yo os recomiendo que lo instaléis tal cual.

En el enlace de descarga se suministra la clave de funcionamiento. Sois informáticos avanzados y no tengo que deciros como se instala una aplicación en windows.

Una vez instalado, deberemos proceder a instalar las VMware tools, que se pueden descargar aquí. Es otra aplicación windows que deberéis instalar después de instalar el VMware workstation.

Creación de la red de trabajo

Cuando trabajamos con una serie de máquinas virtuales, como en nuestro caso, las 6 máquinas con las que vamos a trabajar, estas máquinas van a estar un red, en una LAN. Dicha red va a ser muy simple y las máquinas de trabajo tienen ya configurados sus adaptadores de red a esa red.

Esto quiere decir que cuando arranquemos las máquinas, ellas tienen que ver la red a la que se van a conectar, la red para la cual ya están configuradas. Por supuesto todo esto se puede cambiar a mano, pero nosotros vamos a utilizar las configuraciones por defecto.

Como estas máquinas se arrancan dentro del entorno VMware workstation, deberemos de crear la red dentro de VMware workstation. Yo os voy a decir como se crea esa red, que como veréis es muy simple.

Entramos en VMware workstation desde el PC anfitrión:

 
Aquí yo ya tengo definidas las 6 máquinas con las que vamos a trabajar. Antes que hagáis eso, vamos a crear la red. Vosotros tendréis la pantalla principal del VM sin máquinas definidas en la parte izquierda.
 
Menú, Edit, Virtual Network y sale esta pàntalla. Yo ya la tengo definida, vosotros no, eso es lo que tendréis que hacer:
 
 
Es decir, tendréis que añadir una red de dirección: 10.10.1.0 de tipo NAT que se llame: VMnet8 y que tenga la siguiente configuración de NAT:
 
 
Y con la siguiente configuración DHCP:
 
 
Y con esto ya tenemos definida nuestra red.
 

Montaje de las Máquinas del Laboratorio

Y ya lo único que nos queda es abrir las 6 máquinas que tenemos. Eso es muy fácil, porque acordaros que ya las tenemos instaladas en nuestro disco todas juntitas en una carpeta y de ahí no se escapan.

Para montar una máquina, simplemente hacemos:

Menú, File, Open y vamos una por una yendo a la carpeta de cada máquina y abriendo el archivo .vmx

Lo hacemos con las 6 máquinas y os debe quedar una cosa así:

Ahí tenemos nuestras 6  máquinas. Vamos a encender la máquina Parrot Security. Esta máquina va a ser nuestra máquina de ataque. Como veis la configuración es muy simple: una máquina de ataque y 5 máquinas “víctimas” con diferentes sistemas operativos todas ellas situadas en una simple red lineal.

Esto ¿qué quiere decir?. Quiere decir, que yo con mi máquina Parrot Security he pasado ya todos los filtros, he vencido todos los obstáculos y he conseguido colarme en la red, en la LAN de la víctima. Obviamente esto no es fácil. Colarse en dichas redes no es hacking propiamente dicho. Se hace con técnicas de espionaje, ingeniería social, etc. Pero aquí suponemos que ya he conseguido infiltrarme en la LAN de la víctima y ahora emplearé verdaderas técnicas de hacking para que?, para tener accesos total a todas las máquinas de la LAN.

Bueno, pues si ha quedado claro el concepto, como decía, arranco la máquina Parrot Security. Algo tan fácil como situarme en su nombre en el panel izquierdo y pulsar el símbolo de play.

La máquina arranca y llega a un punto en que pide el usuario y la contraseña:

usuario: attacker

contraseña: toor

Y ya estoy dentro de mi máquina atacante. Las demás máquinas se activan igual. En cada ejercicio yo diré cuales deberéis abrir y cual es la contraseña en cada una de ellas.

Una vez abierta por primera vez la máquina atacante Parrot Security tendremos que actualizarla. Para ello arrancamos un terminal y ejecutamos las siguientes órdenes:

sudo su

apt update

apt upgrade -y

Esto probablemente lleve mucho tiempo porque tiene que actualizar todo el sistema operativo, pero es necesario y solo haremos la primera vez que arrancamos la máquina. Sucesivas actualizaciones ya las haremos mas espaciadamente.

Escaneo De Redes Usando METASPLOIT

Bueno, pues llegados a este punto, ya tenemos preparado nuestro laboratorio, tenemos lista y actualizada nuestra máquina de ataque y vamos a proceder a escanear la red usando Metasploit. Ya he hecho una introducción a qué es Metasploit.

Normalmente usamos Nmap para hacer escaneo de redes. Pero hay que saber que Metasploit tiene dentro un Nmap. Y además tiene, y esta es la gran ventaja de usar Metasploit para escanear redes, digo, además tiene una base de datos.

De tal forma que los resultados del escaneo se pueden guardar en esa base de datos y los podemos usar con las otras herramientas de ataque de Metasploit, trabajando así de forma mas eficiente y estructurada.

Entonces abrimos un terminal dentro de nuestra máquina de ataque Parrot Security que previamente habremos arrancado. Password=toor

una vez en el terminal tecleamos las órdenes:

sudo su

cd

service postgresql start

msfconsole

Esta última instrucción arranca el Metasploit.

Ya tenemos iniciado el servicio de la base de datos que usa Metasploit y hemos arrancado el propio Metasploit.

Vamos a ver si la base de datos está operativa y funciona correctamente:

Desde Metasploit tecleamos:

db_status

Y en este caso recibimos el mensaje:

[*] postgresql selected, no connection

o sea que la base de datos no está funcionando. Si esto ocurre hacemos lo siguiente:

salimos de Metasploit tecleando:

exit

Y desde el terminal tecleamos:

msfdb init

Lanzará una serie de mensajes y cuando termine, desde el terminal tecleamos:

service postgresql restart

msfconsole

Y desde Metasploit:

db_status

Si todo ha ido correctamente, deberemos recibir el mensaje:

[*] Connected to msf. Connection type: postgresql.

Levantamos las máquinas Android y Ubuntu. Para ello le damos al botón de play en cada una de ellas. Fijaros que solo las encendemos, pero hay que hacer login dentro de ellas. Sólo dejarlas encendidas para que la red las reconozca.

Bien pues ya estamos dentro de Metasploit con nuestra base de datos activa y ok, vamos a proceder a escanear la red. Recordad que ya estamos en la LAN de la víctima, porque de alguna manera nos hemos colado, y desde nuestra máquina de ataque vamos a escanearla. Esa red es la:

10.10.1.0

Entonces desde metasploit tecleamos:

nmap -Pn -sS -A -oX Test 10.10.1.0/24

Esta instrucción puede tardar en ejecutarse, los escaneos con Nmap consumen tiempo.

Cuando finalice el escaneo, nos dará un montón de información sobre las máquinas que va reconociendo. En cualquier caso debería reconocer todas las máquinas conectadas a la red: 10.10.1.0

Yo no os daré información sobre lo que ha sacado en mi sistema por motivos de seguridad, pero si os voy a dar indicaciones de que os debe de aparecer mas o menos para saber que todo ha ido bien:

Vamos a hacer uso de nuestra base de datos y vamos a importar los datos que ha generado Nmap a una tabla que llamaremos Test. Así, desde Metasploit, tecleamos:

db_import Test

[*] Importing ‘Nmap XML’ data
[*] Import: Parsing with ‘Nokogiri v1.13.9’
[*] Importing host 10.10.1.1
[*] Importing host 10.10.1.2
[*] Importing host 10.10.1.9
[*] Importing host 10.10.1.131
[*] Importing host 10.10.1.254
[*] Importing host 10.10.1.13
[*] Successfully imported /home/attacker/Test

Esto lo que quiere decir es que ha encontrado 6 hosts conectados a la LAN. Si tecleamos:

db_hosts

Aparecen los 6 equipos detectados con sus direcciones IP y direcciones MAC.

Si tecleamos:

db_services

Aparecen los servicios ejecutándose en cada máquina detectada.

Como ya dije antes no pongo aquí el resultado por motivos de seguridad.

La máquina 10.10.1.9 es la Ubuntu

La máquina 10.10.1.131 es la Android

La máquina 10.10.1.1 es la anfitriona, en mi caso un PC Windows

La máquina 10.10.1.2 es el Gateway de VMware. O sea el router de la red 10.10.1.0

La máquina 10.10.1.13 es la Parrot Security

La máquina 10.10.1.254 es un dispositivo del VMware

Vale, hemos identificado todas las máquinas con sus direcciones IP, MAC y servicios ejecutándose.

Conviene tener a mano un manual de Nmap porque será de utilidad.

Bien, ahora para la siguiente parte, apagamos las máquinas:

  • ubuntu
  • android

Y Levantamos (solo encender) la máquina windows server 2019 pulsando en el botón “play”. Si sale un mensaje extraño preguntando si hemos movido la máquina o la hemos copiado, seleccionar la que aparezca por defecto. Va a funcionar igual.

Vale, pues ahora repetimos lo anterior para esta máquina:

nmap -Pn -sS -A -oX Test1 10.10.1.0/24

Y me reconoce:

10.10.1.19 como Windows Server 2019

db_import Test1

msf](Jobs:0 Agents:0) >> db_import Test1
[*] Importing ‘Nmap XML’ data
[*] Import: Parsing with ‘Nokogiri v1.13.9’
[*] Importing host 10.10.1.1
[*] Importing host 10.10.1.2
[*] Importing host 10.10.1.19
[*] Importing host 10.10.1.254
[*] Importing host 10.10.1.13
[*] Successfully imported /home/attacker/Test1

El resto de los host ya sabemos lo que son. Ahora, vamos a profundizar en el uso de la base de datos interna de Metasploit. Ya habréis deducido que tiene algunas tablas:

db_hosts

db_services

Tecleamos:

[msf](Jobs:0 Agents:0) >> search portscan

Matching Modules
================

# Name Disclosure Date Rank Check Description
– —- ————— —- —– ———–
0 auxiliary/scanner/portscan/ftpbounce normal No FTP Bounce Port Scanner
1 auxiliary/scanner/natpmp/natpmp_portscan normal No NAT-PMP External Port Scanner
2 auxiliary/scanner/sap/sap_router_portscanner normal No SAPRouter Port Scanner
3 auxiliary/scanner/portscan/xmas normal No TCP “XMas” Port Scanner
4 auxiliary/scanner/portscan/ack normal No TCP ACK Firewall Scanner
5 auxiliary/scanner/portscan/tcp normal No TCP Port Scanner
6 auxiliary/scanner/portscan/syn normal No TCP SYN Port Scanner
7 auxiliary/scanner/http/wordpress_pingback_access normal No WordPress Pingback Locator

Hemos buscado la palabra portscan, porque quiero utilizar una utilidad auxiliar en concreto y no recuerdo el número.

Bien, voy a utilizar:

use auxiliary/scanner/portscan/syn

Porque quiero ver si el puerto 80 está abierto.

con esa instrucción entro en el modo de escaneo tipo syn y ejecuto las siguientes acciones:

[msf](Jobs:0 Agents:0) >> use auxiliary/scanner/portscan/syn
[msf](Jobs:0 Agents:0) auxiliary(scanner/portscan/syn) >> set INTERFACE ens33
INTERFACE => ens33
[msf](Jobs:0 Agents:0) auxiliary(scanner/portscan/syn) >> set PORTS 50
PORTS => 50
[msf](Jobs:0 Agents:0) auxiliary(scanner/portscan/syn) >> set PORTS 80
PORTS => 80
[msf](Jobs:0 Agents:0) auxiliary(scanner/portscan/syn) >> set RHOSTS 10.10.1.19
RHOSTS => 10.10.1.19
[msf](Jobs:0 Agents:0) auxiliary(scanner/portscan/syn) >> set THREADS 50
THREADS => 50
[msf](Jobs:0 Agents:0) auxiliary(scanner/portscan/syn) >> run

y me devuelve:

[+] TCP OPEN 10.10.1.19:80
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

Lo cual quiere decir que el puerto 80 del host 10.10.1.19 está abierto y ya tendría una posible vía de ataque.

En fin, los tipos de escaneos que se pueden hacer con Nmap desde Metasploit son casi infinitos. Recomiendo leer un buen manual de Nmap para aprender bien a utilizar cada tipo de escaneo que hay muchos.

La utilidad de utilizar Nmap dentro de Metasploit es el uso de la base de datos interna y su gran integración con las herramientas de ataque del propio Metasploit.

Si tenéis cualquier duda podéis comunicarla a través de los comentarios de la web.

 

 

 

2 comentarios