Realice pruebas de seguridad simples usted mismo, utilizando Metasploit Framework y nmap

Incluso con poco esfuerzo, la seguridad de su propia red se puede poner a prueba. Presentamos dos herramientas que lo hacen posible. Lo mejor de todo: las herramientas están disponibles gratuitamente.

El Metasploit Framework de Rapid7 es uno de los marcos más conocidos en el área del análisis de vulnerabilidades, y es utilizado por muchos Red Teams y probadores de penetración en todo el mundo. Está disponible gratuitamente y se puede ampliar individualmente, lo que lo hace muy versátil y flexible. A menudo se utiliza en combinación con un escáner de puertos como nmap, una de las herramientas más destacadas en esta área, que también está disponible gratuitamente.

En este artículo damos una pequeña idea de ambas herramientas. Para esto, mostraremos un breve ejemplo para demostrar cómo puede realizar pruebas simples contra sus sistemas usted mismo.

Tenga en cuenta que solo puede realizar ataques contra sistemas en los que el propietario le haya dado permiso. De lo contrario, podrían dar lugar a sanciones penales, dependiendo de la legislación de su país. Además, asegúrese de coordinar sus pruebas y no interferir inesperadamente o bloquear un servicio que otras personas están utilizando.

Requisitos previos – Instalación

Prerrequisitos

Metasploit Framework es una aplicación de consola y nmap se ejecuta desde la línea de comandos. Por lo tanto, debe tener conocimientos básicos en esta área (por ejemplo, bash).

Instalación

Puede descargar Metasploit Framework desde aquí e instalarlo después.

Precaución: Los softwares antivirus y firewalls a veces detectan los archivos como malware, ya que contienen código que también se encuentra en el software malicioso. Por lo tanto, debe deshabilitar estos componentes de protección o configurarlos para que no impidan el uso de Metasploit Framework.

Al instalar Metasploit Framework, también se instalan herramientas relacionadas (incluido nmap), por lo que no se necesita ninguna instalación adicional para nuestro ejemplo.

Alternativamente, puede usar Kali Linux, una distribución de Linux que tiene muchas herramientas de seguridad ofensivas preinstaladas. El Metasploit Framework y nmap se encuentran entre ellos. Al usar Kali Linux, tenga en cuenta que algunas soluciones EDR son sensibles al nombre de host predeterminado de un sistema Kali y activan una alarma.

Conveniente: Kali Linux está disponible como una máquina virtual para VirtualBox o VMware, por lo que no tiene que instalar un sistema completamente nuevo.

Marco metasploit

El marco Metasploit tiene una estructura modular. Los módulos se pueden dividir en diferentes categorías, que se combinan de varias maneras.

Tres de las categorías se explican brevemente a continuación:

1. Auxiliares: Esto incluye herramientas auxiliares como escáneres, fuzzers, etc., que se utilizan para detectar qué servicios se están ejecutando en un sistema de destino y si hay vulnerabilidades presentes.

2. Exploits: Los exploits, como su nombre lo dice, incluyen todos los módulos que se pueden usar para explotar vulnerabilidades. Estos van desde exploits de denegación de servicio que bloquean un servicio hasta exploits de ejecución remota de código que permiten a un atacante ejecutar código arbitrario en el sistema de destino.

3. Cargas útiles: Las cargas útiles se pueden usar en exploits para ejecutar código y establecer una conexión entre el atacante y el sistema de destino. Esto generalmente se hace a través de shell. Las cargas útiles se pueden usar para controlar qué tipo de carcasa se usa de qué manera. Hay dos distinciones básicas:

3.1 Carga útil por etapas frente a la no por etapas

Para algunos exploits, el tamaño de la carga útil utilizable es limitado. Esto puede implicar que se debe utilizar una carga útil por etapas. En este caso, solo se transmite una pequeña pieza de código (stager) al sistema de destino. Luego se establece una conexión con el atacante a través del stager. Finalmente, se reciben y ejecutan más cargas útiles (etapas).

Las cargas útiles no escalonadas, por otro lado, son autónomas y vienen con todo el código requerido. Por lo tanto, son más grandes, pero al mismo tiempo más estables, es decir, funcionan de manera más confiable porque no existen más dependencias.

Los dos tipos diferentes se pueden reconocer fácilmente por el nombre del módulo. Las cargas útiles por etapas contienen un «/» más, mientras que las cargas útiles no por etapas tienen un guión bajo «_» en la posición correspondiente.

Ejemplos:
por etapas: windows/x64/shell/reverse_tcp
sin etapas: windows/x64/shell_reverse_tcp

3.2 Shells de enlace o inverso

Cuando se utiliza un shell de enlace, se inicia un servicio que escucha en un puerto específico en el sistema de destino. A continuación, el atacante se conecta a este sistema a través del puerto especificado.

Dependiendo de la configuración del sistema de destino, los firewalls bloquean el tráfico de red entrante para que la conexión no se pueda establecer a través del shell de enlace. Además, si el atacante y el sistema de destino no están en la misma red, nat puede cambiar la dirección IP y los puertos (privados) del sistema de destino, lo que también impide el uso de un shell de enlace.

Si, por el contrario, se elige un shell inverso, se inicia un servicio en el dispositivo del atacante que escucha en un puerto específico. A continuación, el sistema de destino se conecta de nuevo al atacante.

Ejemplos:
shell de enlace: windows/x64/shell_bind_tcp shell
inverso: windows/x64/shell_reverse_tcp

nmapa

El marco metasploit incluye varios escáneres de puertos como módulos auxiliares. Sin embargo, estos ofrecen solo unas pocas opciones de configuración y solo determinan si los puertos están abiertos. Por el contrario, un escaneo con nmap permite establecer más configuraciones para la ejecución y también obtener mucha más información.

Por ejemplo, hay opciones disponibles para ajustar la velocidad del escaneo y tomar contramedidas contra posibles detecciones de firewall. Además, nmap se puede utilizar para determinar no solo qué puertos están abiertos, sino también a qué servicio se puede acceder a través de un puerto y qué versión del software subyacente se está ejecutando.

Escenario de ejemplo

A continuación, veremos un ejemplo simple que repasaremos paso a paso.

Nuestro escenario es el siguiente:

  1. Máquina vulnerable: IP 192.168.2.133
  2. Kali Linux con Metasploit Framework y nmap instalados: IP 192.168.2.132

La máquina vulnerable es Metasploitable 2, una máquina virtual intencionalmente vulnerable que se puede usar para probar herramientas como Metasploit Framework. Puede descargar esta y otras máquinas vulnerables de forma gratuita desde VulnHub, entre otros sitios. Además, Rapid7 también ha desarrollado una tercera versión actualizada de Metasploitable, que también puede obtener de forma gratuita aquí.

Paso 1: Portscan usando nmap

Para determinar qué servicios de un sistema de TI son accesibles desde el exterior y, por lo tanto, potencialmente explotables, normalmente se realiza un análisis de puertos. Metasploitable tiene una gran cantidad de puertos abiertos que se pueden escanear. Dado que queremos proporcionar una visión general simple, solo escaneamos un puerto. Por lo tanto, utilizamos el parámetro «-p» y especificamos el puerto 6667, en el que un demonio IRC está escuchando. Sin especificar este parámetro, nmap comprueba los 1000 puertos más populares.

Debido a que solo estamos comprobando un puerto, la configuración de la velocidad del escaneo es insignificante. Sin embargo, a modo de ilustración hemos especificado un ajuste «-T4″. En general, nmap ofrece la posibilidad de utilizar dichas plantillas predefinidas con valores de «T0» (lento) a «T5» (rápido), o de elegir configuraciones individuales.

Utilizando el parámetro «-A» nmap intenta reconocer el sistema operativo y determinar información sobre las versiones del software identificado.

Al buscar «unreal 3.2.8.1 metasploit» en un motor de búsqueda, uno descubre rápidamente que Metasploit Framework contiene un módulo de explotación adecuado, que le da a un atacante acceso al sistema objetivo.

Paso 2: Explotar

Ahora que sabemos que la versión del demonio UnrealIRC utilizada en el sistema de destino es vulnerable, podemos buscar el exploit apropiado en el Marco Metasploit. Metasploit Framework es una aplicación de consola y se inicia utilizando el comando «msfconsole«.

Gracias al resultado de nuestra búsqueda en Internet, podemos seleccionar directamente nuestro exploit determinado con «use exploit/unix/irc/unreal_ircd_3281_backdoor».

Alternativamente, los módulos se pueden buscar palabras clave utilizando el comando «buscar«. Si un módulo adecuado se encuentra entre los resultados de búsqueda, puede seleccionarlo a través del comando «usar«.

Si se ha seleccionado un exploit, se puede usar «mostrar cargas útiles» para mostrar todas las cargas útiles disponibles para el exploit seleccionado. El comando «set» selecciona la carga útil deseada.

La mayoría de los módulos también ofrecen opciones adicionales. El comando «mostrar opciones» muestra todas las opciones de configuración. La instrucción «set» se puede utilizar para ajustar los diversos valores. Establecemos la dirección IP del sistema de destino utilizando el comando «set RHOSTS 192.168.2.133». Dado que estamos utilizando un shell inverso, también necesitamos establecer la dirección IP del sistema atacante como «LHOST».

Finalmente usamos el comando «run» para ejecutar el exploit.

Comandos utilizados y video

Aquí encontrará una descripción general de todos los comandos que utilizamos en nuestro escenario de ejemplo. Puede usarlos si desea probar el ejemplo usted mismo. A continuación también puede ver un video corto que muestra el exploit «en movimiento».

Resumen y notas

El escenario que se muestra aquí se simplifica y solo sirve para ilustrar las posibilidades que ofrecen herramientas como Metasploit Framework y nmap. En su red, debe decidir individualmente qué comandos y opciones usar. Tenga en cuenta también que una autoprueba de este tipo no sustituye a una auditoría de seguridad externa y profesional o una prueba de penetración. Sin embargo, puede servir como punto de partida para encontrar algunos problemas de seguridad graves en su red antes de que otros lo hagan.

Enlace: Pruebas de seguridad sencillas: utilizando Metasploit y nmap | G DATOS (gdatasoftware.com) Blog de GDATA Joel Taddey