2 ene 2013

Episodio de Pentesting (Parte I)

image

Hoy damos comienzo a una cadena de artículos, que finalizará en un documento descargable, y en la que se realizará una explicación detallada sobre cómo conseguir hacerse con un ordenador remoto aprovechando una vulnerabilidad de Java en navegadores, que permite la ejecución de código malicioso tras aceptar un applet de Java en cualquier navegador y/o sistema operativo. Así mismo, explicaré el procedimiento habitual en el que entra en juego la ingeniería social para hacer que las posibles víctimas acepten la ejecución del applet.

Para explicar el procedimiento, voy a especificar varias fases por separado, que permitirán entender de manera más sencilla todo el proceso. En la primera fase, se debe realizar un escaneo de la LAN en la que se sitúa el episodio para visualizar la estructura de la red y detectar posibles equipos vulnerables. Más tarde, hay que analizar los mismos para ver cómo y qué vulnerabilidades se pueden aprovechar. Tras eso, se debe configurar el exploit necesario para aprovechar dicha vulnerabilidad, y dependiendo del tipo de exploit, habrá que seguir un procedimiento para hacer que el ataque se haga efectivo.

Conceptos necesarios

Para la compresión de este proyecto necesitaremos tener algunas definiciones y conceptos claros, así que voy a dar una breve explicación de todos los términos que considero necesarios para entender el desarrollo del mismo.

Backtrack 5 R3

Distribución de Linux basada en Ubuntu destinada a la seguridad. En su última versión incorpora las versiones actualizadas de muchas de las utilidades de Linux más usadas en el ámbito de la seguridad informática. Abarca desde programas destinados al pentesting, como Metasploit Framework o SET, pasando por herramientas de ingeniería inversa, como IDA Pro, de análisis de redes, como Nmap o AirCrack, o de análisis forense, como Galleta. La distribución se basa más concretamente en Ubuntu 10.04 LTS (Lucid Lynx) y está disponible en arquitecturas de 32, 64 bits y en ARM. En el ámbito de la seguridad, posiblemente sea la distribución más utilizada. Como dato adicional, en todo el desarrollo del episodio os llamará la atención la ausencia de “sudo” en los comandos, pero la razón es que este sistema utiliza la cuenta de administrador por defecto. En el desarrollo del episodio, me referiré a esto como Backtrack, BT o BT5.

Metasploit Framework

Es una herramienta imprescindible para cualquier informático que trabaje con test de penetración. Metasploit o MSF, es un programa que recopila una base de datos de exploits autoactualizable que permite aprovechar las posibles vulnerabilidades que tengan los equipos atacados. Junto con NMap, se convierte en una herramienta increíble. Además, existe una interfaz gráfica disponible para los que odien la CLI (Command Line Interface), llamada Armitage, de la que hablaré en uno de los anexos del proyecto.

Ettercap

Realiza las funciones de sniffer, interceptor y registrador para cualquier LAN. Soporta direcciones activas y pasivas de varios protocolos, incluido SSH y HTTPS. Hace posible la inyección de datos en una conexión establecida y permite el filtrado al vuelo aun manteniendo la conexión sincronizada gracias a la característica de realizar ataques MiTM (Man in the middle). Justamente esta última característica es la que a nosotros nos interesa para nuestra simulación de escenario. Lo explicaremos de forma más extensa en el apartado de Envenenamiento de DNS

VB Bridged Network Mode

VirtualBox dispone de varios modos de configuración de la tarjeta de red virtualizada de las guest. Los más usados suelen ser el modo NAT, que crea un puente de conexión entre el host, con IP habitualmente de tipo 192.168.X.X y el guest, el cual se configura en otra red 10.X.X.X. Y también se usa habitualmente el modo red interna, que conecta directamente todas las guest en una misma red. Sin embargo, puesto que el escenario precisa de actualización de diversos componentes dentro de la VM, he configurado la red como Bridged Network (Red Puenteada) que añade ambas VM a la red local y les asigna, como es evidente, direcciones del tipo 192.168.X.X. Ello nos permitirá tener ambas máquinas virtuales conectadas, tanto la atacante como la atacada, y además tener en ambas conexión a internet para actualizar los componentes necesarios.

SET

Social Engineering Toolkit es una suite en CLI que nos facilita una interfaz en consola para automatizar el uso de ataques de penetración habituales compenetrando varias herramientas de la distribución, como pueden ser Metasploit, NMap, Apache Server, etc… implementando en una misma aplicación la automatización de los ataques. Le echaremos un vistazo en el apartado de anexos.

PAYLOAD

Es un término que se refiere al código o herramienta que tras la infección de una víctima, permite realizar todo tipo de efectos secundarios. Es decir, la parte del troyano que se encarga de los cambios de configuración, y ejecución de cualquier orden no legítima.

EXPLOIT

Es un software, o secuencia de comandos que se crea con el fin de causar un error o un fallo en alguna aplicación, a fin de causar un comportamiento no deseado o imprevisto en un sistema o componente. Habitualmente supone la ejecución remota de código, la escalada de privilegios o incluso un ataque DOS.

Vista la introducción, en el próximo artículo comenzaremos con la configuración del entorno.

Un Saludo

Nicolás Moral de Aguilar

2 comentarios:

  1. Que tal en cuanto a tu publicacion lo de java vas a utilizar en el MSF el java rhino??un cordial saludo

    ResponderEliminar
  2. [...] Hoy damos comienzo a una cadena de artículos, que finalizará en un documento descargable, y en la que se realizará una explicación detallada sobre cómo conseguir hacerse con un ordenador remoto aprovechando una vulnerabilidad de Java en...  [...]

    ResponderEliminar