Sniffing con Wireshark

Iniciado por ANTRAX, Marzo 22, 2012, 08:53:26 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Introducción.

Wireshark es un analizador de paquetes de red, comúnmente llamado sniffer.
Es utilizado por administradores de redes para ver todo el tráfico que está pasando en un momento específico.
Una de las ventajas que tiene, es que es open source y multiplataforma.
Wireshark ofrece distintos tipos de filtros para leer los paquetes. Captura a demás cookies y passwords que veremos a continuación en este paper.
Para instalar wireshark simplemente hay que ir a su página oficial y descargarlo.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Desde linux, se puede descargar desde la consola.

Sudo apt-get install wireshark

Partes de Wireshark

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Enumere las partes más importantes del Wireshark para describirlas por separado.
1 – Muestra un listado de las interfaces disponibles que podemos poner a la escucha de paquetes.
2 – Permite configurar algunos parámetros de nuestra interface
3 – El filtro permite filtras paquetes separándolos por IP, protocolos, etc
4 – Listado de paquetes. Muestra un resumen de los paquetes capturados, presionando con el otro botón del mouse se listaran opciones disponibles para manejarlos a gusto.
5 – Panel de vista en Árbol. Muestra el paquete seleccionado con mayor detalle.
6 – Panel de detalle  de los datos. Muestra los datos del panel superior en formato hexadecimal y ascii

También podemos ver en el menú superior las siguientes opciones:

File: Contiene las funciones para manipular archivos y para cerrar la aplicación Wireshark.
Edit: Este se puede aplicar funciones a los paquetes, por ejemplo, buscar un paquetes especifico, aplicar una marca al paquete y configurar la interfaz de usuario.
View: Permite configurar el despliegue del paquete capturado.
Go: Desde acá podemos ir a un paquete especifico, volver atrás, adelante, etc.
Capture: Para iniciar y detener la captura de paquetes.
Analyze: Desde analyze podemos manipular los filtros, habilitar o deshabilitar protocolos, flujos de paquetes, etc.
Statistics: Podemos definir u obtener las estadísticas del trafico capturado.
Telephony: Trae herramientas para telefonía.
Tools: Opciones para el firewall
Internal: Parámetros internos de Wireshark
Help: Menú de ayuda.

Primeros pasos con Wireshark

Una vez instalado, lo abrimos y presionamos sobre el icono marcado en rojo en la imagen

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Esto nos permitirá seleccionar nuestra tarjeta de red que pondremos a la escucha de paquetes.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Para saber que tarjeta poner a la escucha, debemos observar cual es la que recibe paquetes.
Se puede observar en la imagen que en mi caso es la wlan0. Una vez identificada, damos en Start para comenzar.

Automáticamente el programa comenzara a capturar paquetes de todos los hosts conectados a la red.
Ahora navegare un poco con mis ordenadores por internet para ver que podemos capturar.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Les mostrare un ejemplo de cómo se manifestó mi wireshark cuando hice un apt-get install en la consola de Linux

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ahí podemos ver de que ip a que ip se mueven los paquetes y porque protocolo. A demás de esto podemos ver el contenido del paquete que lo veremos más adelante en este mismo paper.
Si observamos la imagen, hay una caja de texto llamada Filter.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Esa caja de texto, como bien dice su nombre, permite filtrar paquetes. Y ahora veremos algunos de los filtros que posee Wireshark para que podamos usar este sniffer de una forma más eficiente.
En el filtro se pueden usar operadores lógicos como los siguientes:


== (Igual que)
> (Mayor que)
< (Menor que)
!= (Distinto que)
>= (Mayor o igual que)
<= (Menor o igual que)

Basándome en el paper de Datasecurity, les dejo a continuación los parámetros más usados en este sniffer

Filtros por IP

[En todos los ejemplos, reemplazar 0.0.0.0 por la ip a filtrar]

ip.addr = = 0.0.0.0ip.addr = = 0.0.0.0 && ip.addr = = 0.0.0.0 (Para filtrar más de una IP )
ip.addr = = 0.0.0.0 || ip.addr = = 0.0.0.0 (Para filtrar una IP de cualquiera de las dos)

Para filtrar paquetes de la fuente en direcciones IPv4 especificas:

ip.src == 0.0.0.0ip.src == 0.0.0.0 && ip.src == 0.0.0.0 (Para filtrar más de una IP )
ip.src == 0.0.0.0 || ip.src == 0.0.0.0 (Para filtrar una IP de cualquiera de las dos)

Para filtrar paquetes del destino en direcciones IPv4 especificas:

ip.dst == 0.0.0.0ip.dst == 0.0.0.0 && ip.dst == 0.0.0.0 (Para filtrar más de una IP )
ip.dst == 0.0.0.0 || ip.dst == 0.0.0.0 (Para filtrar una IP de cualquiera de las dos)

Nota: Para direcciones IP v6 utilice: ipv6.addr, ipv6.src, ipv6.dst, etc.

Para filtrar paquetes del protocolo ARP entre:

arp.src.proto (dirección del protocolo de la fuente)
arp.src.hw (dirección hardware de la fuente)
arp.dst.hw (dirección hardware del destino)
arp.src.hw_mac (dirección MAC de la fuente)
arp.dst.hw_mac (dirección MAC del destino)
arp.src.proto_ipv4 (dirección IPv4 de la fuente )
arp.dst.proto_ipv4 (dirección IPv4 del destino)

Para filtrar paquetes del protocolo Ethernet:

eth.dst == ff:ff:ff:ff:ff:ff (dirección MAC)
eth.src == ff:ff:ff:ff:ff:ff (dirección MAC)
eth.addr == ff:ff:ff:ff:ff:ff (dirección MAC)

Veremos un ejemplo con uno de los filtros: ip.addr == 192.168.1.37

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

En este caso me debería mostrar los paquetes correspondientes a la ip 192.168.1.37
Se puede ver en verde también 192.168.1.1 y esto es porque hace petición al router.

Filtro por protocolo

Como vimos hasta ahora, este filtro es muy poderoso, pero se darán cuenta de su potencial ahora que filtraremos por protocolo.
Algunos de los filtros son estos: tcp, http, pop, dns, arp, ssl, etc.
Con un Sniffer podemos obtener datos muy importantes. Desde cookies hasta usuarios y contraseñas. A modo ejemplo, abriré un FTP y veremos lo que hace nuestro Wireshark:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Como se puede ver, solo filtre el protocolo FTP. Y tambien notaremos que sacó mi user y pass del FTP.
Veremos ahora otros de los protocolos que suele capturar. En este caso hare un ping a mi blog No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

La imagen muestra el protocolo DNS e ICMP. Que si los añadimos en la caja de texto de filtro, nos los filtrara.
Aquí tenemos filtro por DNS

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Cabe aclarar que cada protocolo tiene un color diferente (que puede modificarse a gusto) para resaltarlos y distinguirlos con mayor facilidad.

Otros filtros

Veremos ahora otros filtros de gran utilidad, como este otro que nos permite filtrar por dominio o host

http.host == "DOMINIO"

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Acá lo que hice fue poner la url de facebook y robo mi cookie. Veremos ahora un ejemplo con otra web, pero filtrando nada más que el protocolo TCP:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Se puede ver de qué ip privada navego hacia que ip publica. En este caso, la ip pública es la del foro infiernohacker y abajo muestra la url de referencia.

Otras opciones de Wireshark

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Veremos ahora algo que se llama Go to Packet o ir al paquete. Para usar esta opción basta con ir a GO >> Go to Packet en el menú de la barra superior.
Permite ir a un número de paquete que especifiquemos en el cuadro de texto.

Otras de las opciones muy útiles que tiene Wireshark es la de poder mostrar en formato ascii la lectura de los paquetes capturados para poder así facilitar su entendimiento
Para ir a esta opción colocamos en el filtro HTTP y solo basta con clickear con el botón secundario del mouse y seleccionar Follow TCP Stream

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Como se puede ver, se ve mucho más entendible el código y permite tambien pasarlo a Hexadecimal, C Array etc.

Espero que les haya sido de utilidad

ANTRAX


Claro que si, de mucha utilidad...

Gracias por compartirnos este Tutorial!


Salu2
Si se puede imaginar... se puede programar.!

muy bien explicado, ampliaciones futuras del tuto?

Lo dudo, esta bastante claro!


si antrax! aunque ya avía visto el post en tu blog! :D pues esta muy buenoo!!
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Excelente tuto, gracias por aportar..



<!-- Saludos -->

Abril 24, 2013, 06:42:07 PM #6 Ultima modificación: Abril 24, 2013, 06:49:57 PM por xxxcoenxxx
gracias por el tuto!

tengo una dudilla.
como puedo analizar el protocolo NBNS o el BROWSER? solo consigo numeros y letras que no se interpretar

es normal que la ip de destino sea 192.168.0.255? leyendo acabo de ver que es mi ip broadcast.

Desde el hipervinculo no accede a la pagina  :o, pero no importa salvo eso excelente aporte  8)
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Captura tambien https?
Никогда не доверяй никому.


menudo tuto man, gracias por compartirlo

Es el sniffer que más uso gracias por los conceptos

El https se puede desifrar si tienes el certificado adecuado para ello :p
El conocimiento es libre...
La información no lo es xD

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
El https se puede desifrar si tienes el certificado adecuado para ello :p
Gracias,buscare certificados :D
Никогда не доверяй никому.

Agosto 05, 2013, 12:52:48 AM #14 Ultima modificación: Enero 28, 2014, 03:30:18 PM por Snifer
Hay algo sobre SSLStrip que descifra todo el tráfico SSL que viaja a través de las páginas web con HTTPS, pero lo que hace realmente SSLStrip es engañar al servidor y convertir todo el HTTPS de una web en HTTP (sin cifrar)


muchas gracias ANTRAX por el tutorial, muy util
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta