Pruebas de penetración para principiantes: explotando una vulnerabilidad con Metasploit Framework

La versión gratuita y limitada de Metasploit framework Community es una herramienta que permite ejecutar y desarrollar exploits contra sistemas objetivos. Actualmente se encuentra integrado con Kali Linux, una distribución de Linux con diversas herramientas orientadas a la seguridad y es ampliamente utilizado para realizar pruebas de penetración. En la edición anterior mencionamos algunas de las herramientas más importantes para adentrarse en el mundo de las pruebas de penetración. Ahora, utilizaremos Metasploit para mostrar paso a paso la explotación de un servidor vulnerable.

¿Qué etapas se contemplan durante una prueba de penetración?

Para realizar una prueba de penetración es necesario considerar diferentes etapas. La primera de ellas consiste en recopilar información sobre el sistema objetivo y comúnmente se le conoce como etapa de reconocimiento. A partir de los datos obtenidos, se tomarán las decisiones acordes y los pasos a seguir en etapas posteriores. Una vez que los datos han sido recopilados y analizados, se procede a la instancia donde se realizará la explotación sobre el sistema objetivo. La selección de los exploits que se utilizarán dependerá exclusivamente de la información obtenida en la etapa anterior. Finalmente, una vez realizado el ataque, se analiza el impacto y, posiblemente, se realizarán nuevas acciones a partir de este último.

La documentación y la generación de reportes concluyen las pruebas de penetración y suelen reflejar el trabajo completo por parte del pentester (persona que lleva a cabo la prueba de penetración).

Existen diferentes metodologías que pueden implementarse para realizar pruebas de penetración, donde cada una de las variantes difiere principalmente en las técnicas y métodos para llevar a cabo las respectivas tareas. Algunas metodologías son del tipo blackbox, donde básicamente no se conoce ningún tipo de información sobre el sistema objetivo. En contraposición, están las de whitebox, donde se tiene información sobre el sistema objetivo, como puede ser código fuente de aplicaciones, configuraciones, entre otras alternativas. A su vez, existen diferentes etapas de acuerdo a la metodología utilizada.

En este caso, sin realizar distinción de la metodología, haremos foco sobre la etapa de reconocimiento. Dentro de ésta existen dos formas de recopilar la información, ya sea de forma activa o pasiva. En el primer caso la información se obtiene directamente del sistema objetivo y en el segundo de forma indirecta. Finalmente ejecutaremos la etapa de explotación, ya que nos permitirá obtener un panorama general de lo que realmente involucra una prueba de penetración. Asimismo, un análisis completo involucra otras etapas, tales como la de enumeración, acceso, entre otras.

¿Cómo comenzar?

Para que los lectores puedan hacer el ataque paso a paso deberían instalar dos máquinas virtuales conectadas entre sí. Para ello es posible utilizar VMWare o en su defecto VirtualBox, en realidad existen otras alternativas, aunque estas dos son las más populares. Las dos máquinas virtuales que deben instalarse son las siguientes:

  • Kali Linux: como mencionábamos en el número anterior de la revista, es la distribución para pruebas de penetración por excelencia bajo la licencia GPL, se puede descargar desde: http://www.kali.org/
  • Metasploitable 2: es una máquina creada con fines académicos, que ya posee varias vulnerabilidades que permiten que sea sencillo realizar pruebas sobre la misma, se puede descargar desde: http://sourceforge.net/projects/metasploitable/files/Metasploitable2/

Para continuar, es importante verificar que ambas máquinas tengan visibilidad entre sí (es decir, que puedan comunicarse). Esto puede corroborarse con un simple ping entre las dos.

Después, desde la máquina en Kali Linux (todo el ejercicio se desarrolla en esta máquina, la segunda solo oficia como objetivo del ataque, pero no se realizarán acciones en ésta más allá de prenderla para “atacarla”) utilizaremos la consola de Metasploit (msfconsole) de donde se lanzarán todos los comandos correspondientes sobre el servidor en el que se desea realizar la prueba de penetración. Para abrir la consola, solo hace falta el comando

  • msfconsole

Information gathering

Para recopilar información es posible utilizar Nmap desde la propia consola de Metasploit. Para ello, basta con solo invocar el comando “db_nmap”. Los parámetros que pueden utilizarse son los mismos que acepta Nmap. De esta manera, los resultados serán almacenados en la base de datos de Metasploit.

Para obtener una observación rápida del sistema objetivo, se ingresa el siguiente comando:

  • db_nmap {dirección ip} -p 1-65535

La dirección IP de la máquina objetivo es posible averiguarla mediante el comando ifconfig (este comando se utiliza en las distribuciones de Linux para conocer las direcciones IP de las diferentes interfaces de red).

Puertos abiertos

Seguir leyendo el artículo en la Revista de Seguridad IT de la UNAM N°19

Revista UNAM 19

Fernando Catoira
Analista de Seguridad

Autor , ESET

  • Realmente este post es de gran profesionalismo tío, desde que estás en eset, la calidad técnica de los post ha aumentado.

    • Fernando Catoira

      Muchas gracias José. Me alegro que te haya sido de utilidad.

      Saludos!

Síguenos