Suscribirse al Feed
17Sep

El ataque Man In the Middle [video tutoriales]

La verdad existe ya bastante información acerca de este fascinante ataque, pero me aventuro a proporcionar mi propia definición:

El ataque Man in the Middle (hombe en el medio), es una técnica de hacking cuya finalidad es situar al equipo atacante en medio del equipo víctima y el router. Esto es necesario puesto que en una red que funciona con un switch, los paquetes viajan directamente entre el equipo victima y el router, por lo tanto no basta con esnifar la red en modo promiscuo.

La manera en que el equipo víctima identifica el router, y viceversa, es usando el protocolo ARP, esto es: verificando la dirección MAC e IP de la tarjeta de red el otro equipo (en la tabla ARP).Siendo así, la técnica más común para llevar a cabo un ataque Man-in-the-middle es el ARP Spoofing, en la que el equipo atacante envenena la tabla ARP tanto del equipo víctima (haciéndose pasar por el router) como del router (haciéndose pasar como el equipo víctima), y por lo cual todos los paquetes que envíe o reciba dicho la víctima circularán a través de nuestra red.

No está demás aclarar que mientras tengamos bajo un ataque man inthe middle al PC víctima y al router, es necesario hacer un forwarding (reenvio) de paquetes. De lo contrario dejaríamos sin conexión a la víctima, lo cual es muy sospechoso.

¿Entendible? :twisted: Puede que el tema sea algo duro de digerir al principio, puede que no sea bueno explicando cosas, puede que tú no tengas claros algunos conceptos, en todo caso ¿qué tal si miramos cómo funciona esto con algunos video tutoriales?

Pero antes, sería bueno que tuvieras claro el cómo funciona el protocolo ARP: Lectura fácil en la Wikipedia, y el bonito RFC 826 [aquí en español].

Video tutoriales

Los siguientes tres video tutoriales axplican en detalle cómo funciona el ARP Spoofing; y fueron creados por Miguel Angel Calvo (todos los derechos reservados):

¿A poco no son geniales? En los videos anteriores se utiliza Ettercap para realizar el ARP Spoofing. Por supuesto, existen otras maneras de hacerlo, y es lo que veremos a continuación.

ARP Spoofing y ataque Man In the Middle usando dsniff y fragrouter

Iba a escribir algo acerca de cómo hacer ARP Spoofing utilizando las herramientas dsniff (comando arpspoofing) y fragrouter, ambas en los repositorios de la mayoría de las distros. Afortunadamente Informático de Guardia me comentaba que él ya ha escrito acerca los ataques Man in the Mittle, y prescisamente usa dichas herramientas. Así que te invito a que leas en su blog acerca de ello: Ataque man-in-the-middle.

16Sep

[video tutorial] Usar tcpxtract para recuperar archivos capturados con Wireshark

Los paquetes que viajan por la red frecuentemente son trozos de archivos demasiado grandes para ser enviados completos; además, puesto que estos paquetes pueden ser de archivos binarios (imágenes, videos, ejecutables, etc.), no basta con buscar dentro del Wireshark información de los paquetes (no vamos a entender nada).

Esta entrada está acompañada con un video tutorial, en donde aprenderemos a reconstruir los paquetes capturados con Wireshark usando tcpxtract, de tal manera que podamos ver los archivos que envió y recibió el equipo víctima.

Antes de ver el video, observemos el proceso completo:

Puedes encontrar tcpxtract en los repositorios de tu distribución, por lo que en Debian o Ubuntu basta con ejecutar el siguiente comando:

sudo apt-get install tcpxtract

O descargar el código fuente y construirlo tu mismo:

tar xvzf tcpxtract-1.0.1.tar.gz
cd tcpxtract-1.0.1
./configure
make
sudo make install

Uso del tcpxtract

Ahora supongamos que el fichero de captura se llama captura; para extraer los archivos de la captura y guardarlos en la carpeta archivos_capturados ejecutamos el siguiente comando:

tcpxtract --file captura --output archivos_capturados

Es todo, sencillo pero eficaz. Podemos además utilizar el tcpxtract para escuchar directamente sobre una interfaz de red, con lo que nos ahorramos el uso del Wireshark, por ejemplo:

tcpxtract --device eth0 --output archivos_capturados

Si te preguntas porqué querría capturar los paquetes que envía y recibe nuestro propio equipo, tal vez estás ignorando que: cuando realizamos un ataque Man in the middle todos los paquetes que envía y recibe el equipo víctima pasan por nuestra interfaz de red.

Veamos ahora el video del tcpxtract en acción:

Ver el video (2,6 MB)

Descargar video

13Sep

Filtrando paquetes en Wireshark [video tutorial]

En este pequeño artículo aprenderemos a usar los filtros del Wireshark, de tal manera que una vez hayamos realizado las capturas pertinentes podamos buscar información específica. Este tema es algo extenso, y requiere sobre todo de mucha atención e imaginación. Por tanto he hecho un pequeño video donde aprenderemos a hacerlo!

La sinopsis del video ejemplo es la siguiente:

  • Capturamos los paquetes de nuestra propia conexión con el Wireshark
  • Nos logueamos en una página que use cifrado SSL (HTTPS) y otra sencilla (HTTP)
  • Usando los filtros del Wireshark buscamos el usuario y el password con el que nos logueamos

Enlace y descarga

Ver el video (2 MB)

Descargar video

10Sep

Wireshark, capturando paquetes

En esta pequeña guía aprenderemos a capturar paquetes con Wireshark, un proceso bastante sencillo e intuitivo. Lo primero, ejecutar el comando wireshark con lo cual aparecerá la interfaz gráfica.

Nota: Es necesario ejecutar Wireshark con privilegios de root, puesto que de lo contrario no podremos configurar las interfaces de red.

Vamos al menú Capture -> Options, con lo cual veremos lo siguiente:

wireshark capture options

  • Interface: es la tarjeta de red que utilizaremos para realizar la captura de los paquetes.
  • Capture packets in promiscuous mode: opción bastante importante. Al estar seleccionada Wireshark captura TODOS los paquetes que la interfaz reciba/envíe. Cabe hacer una pequeña aclaración: cuando tu equipo está conectado detrás de un hub, la tarjeta de red recibe TODOS los paquetes que transmitan/reciban los equipos conectados al mismo hub. Esto es porque, cuando el hub recibe un paquete lo reenvía a todos los puertos conectados, y es el computador quien decide que hacer con ellos (si el paquete es para él, lo recibe; si el paquete es para otro equipo, lo ignora). Esto no sucede así cuando estamos usando un Switch, puesto que cuando usamos una red switcheada se verifica el destinatario del paquete, antes de enviarlo. Luego veremos cómo vulnerar una red switcheada, de momento prosigamos.
  • Limit each packet to: límita el tamaño máximo de cada paquete capturado.
  • Capture filter: aunque en la siguiente entrada aprenderemos a usar esta característica, no está de más decir que sirve para asignar un filtro a la captura. Los filtros son útiles para mostrar sólo la información deseada, por ejemplo: paquetes enviados por la IP XX.XXX.XXX.XX, o sólo paquetes HTTP, etc.
  • File: aquí especificamos el archivo donde serán guardados los paquetes capturados. Es posible además separar los archivos cada vez que alcancen un tamaño, o cada cierto tiempo.
  • Stop capture: nos sirve para detener automáticamente una captura después de ciertas condiciones (tiempo, tamaño del archivo de captura y número de paquetes).
  • En las opciones de visualización (Display Options), es posible configurar a Wireshark para:
    • Actualizar el panel de paquetes cada vez que se capture uno (Update list of packets in real time)
    • Realizar un scroll-down cada vez que se capture un paquete (Automatic scrolling in live capture)
    • Ocultar el diálogo de información de captura (Hide capture info dialog)
  • Por último, las opciones de resolución de nombres (Name resolution) le indican a Wireshark si debe o no intentar resolver las direcciones MAC, el nombre de red y nombre del tipo de transporte, de los paquetes capturados.

Clic en Start para comenzar con la captura de paquetes:

live capture wireshark

Ahora mismo Wireshark está capturando todos los paquetes posibles de la interfaz de red seleccionada, y guardándolos en el archivo que hayamos especificado (lo que nos permite analizarlo en cualquier momento, reiteradamente, y con diversos programas). Aquí suelen surgir algunas preguntas:

¿Porqué solamente veo los paquetes que envía y recibe mi equipo?

Esto puede deberse principalmente a:

  1. Estás tratando de esnifar una red switcheada (que se conecta mediante un switch, y no un hub)
  2. Estás conectado a un hub que está configurado como un switch (mismo caso de arriba)
  3. No configuraste a Wireshark para que esnifara en modo promiscuo (Capture packets in promiscuous mode)

En caso tal que la conexión de tu red esté detrás de un switch, no es posible que veas los paquetes que transmiten y reciben otros equipos. Esto no quiere decir que sea imposible hacerlo; lo más común a realizar en estos casos es un ataque Man in the Middle a través de un ARP Poisoning. Estás técnicas son bastante fáciles de realizar (además de divertidas), pero se salen del tema de esta entrada. En las próximas entradas hablaremos al respecto.

¿Cómo obtengo datos específicos?

Para esto es imprescindible el uso de los filtros, sobre todo cuando los paquetes capturados son demasiados. Este tema lo trataremos en la próxima entrada.

¿Cómo recupero archivos enviados y recibidos mientras se realizaba la captura?

Esto es muy sencillo, pero lo explico en la próxima-próxima entrada :D

09Sep

Wireshark, instalación y conceptos básicos

logo wiresharkWireshark es un capturador/analizador de paquetes de red (llamado a veces, sniffer o esnifer). Wireshark te permitirá ver, aun nivel bajo y detallado, qué está pasando en tu red. Además es gratuito, open source, y multiplataforma. Sin duda la mejor opción al momento de auditar nuestra red.

Posee una interfaz gráfica y muchas opciones de organización y filtrado de información. Así, permite ver todo el tráfico que pasa a través de una red (usualmente una red Ethernet, aunque es compatible con algunas otras)

¿Para que/quien es util Wireshark?

  • Administradores lo usan para resolver problemas en la red
  • Ingenieros lo usan para examinar problemas de seguridad
  • Desarrolladores lo usan para depurar la implementación de los protocolos de red
  • Estudiantes los usan para aprender internamente cómo funciona una red

Características de Wireshark

  • Disponible para Linux y Windows
  • Captura de paquetes en vivo desde una intefaz de red
  • Muestra los paquetes con información detallada de los mismos
  • Abre y guarda paquetes capturados
  • Importar y exportar paquetes en diferentes formatos
  • Filtrado de información de paquetes
  • Resaltado de paquetes dependiendo el filtro
  • Crear estadísticas

Instalación de Wireshark

La verdad es que lo tienes muy fácil si usas Debian o sus derivados (Ubuntu, por ejemplo). Tan solo debes hacer lo de siempre:

sudo apt-get install wireshark

Y ya está! Además la mayoría de las distribuciones lo incluyen en sus repositorios, por lo que lo tienes fácil en openSuse, Fedora, o Gentoo. Por ejemplo, en Gentoo:

USE="adns gtk ipv6 portaudio snmp ssl kerberos threads selinux" emerge wireshark

O FreeBSD:

pkg_add -r wireshark

Sin embargo, si lo que deseas/necesitas es instalarlo desde las fuentes, vamos por ello:

Instalación del Wireshark desde el tarball

Antes que nada, para poder compilar correctamente Wireshark debes tener dos cosas:

  • Gtk+ y Glib, que puedes descargar de www.gtk.org
  • libpcap, las librerías para captura de paquetes que Wireshark usa. La puedes encontrar en www.tcpdump.org

Ahora, debes descargar el código fuente de la página oficial descomprimirlo e instalarlo:

tar zxvf wireshark-1.0.3.tar.gz
cd wireshark-1.0.3/
./configure
make
sudo make install

Problemas experimentados: personalmente tuve que instalar manualmente bison, flex y gtk+; en muchos sistemas no es necesario, pero mejor que estés preparado.

Entendiendo la interfaz gráfica de Wireshark

Luego de la instalación podrás iniciar el programa con el comando wireshark:

wireshark

La interfaz gráfica de Wireshark está principalmente dividida en las siguientes secciones (de arriba a abajo):

  • La barra de herramientas, donde tienes todas las opciones a realizar sobre la pre y pos captura.
  • La barra de herramientas principal, donde tienes las opciones más usadas en Wireshark.
  • La barra de filtros, donde podrás aplicar filtros a la captura actual de manera rápida
  • El listado de paquetes, que muestra un resumen de cada paquete que es capturado por Wireshark
  • El panel de detalles de paquetes que, una vez seleccionado un paquete en el listado de paquetes, muestra información detallada del mismo
  • El panel de bytes de paquetes, que muestra los bytes del paquete seleccionado, y resalta los bytes correspondientes al campo seleccionado en el panel de detalles de paquetes.
  • La barra de estado, que muestra algo de información acerca del estado actual de Wireshark y la captura.

En el próximo artículo veremos un ejemplo de cómo usar Wireshark y su Live Capture.

© 2007 - 2008 Dezinerfolio. Todos los derechos reservados.
Powered by Wordpress. Entradas RSS