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.
http://www.wireshark.org/download.html
Desde linux, se puede descargar desde la consola.
Sudo apt-get install wireshark
Partes de Wireshark
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
Esto nos permitirá seleccionar nuestra tarjeta de red que pondremos a la escucha de paquetes.
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.
Les mostrare un ejemplo de cómo se manifestó mi wireshark cuando hice un apt-get install en la consola de Linux
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.
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:
1 2 3 4 5 6 | == (Igual que) > (Mayor que) < (Menor que) != (Distinto que) >= (Mayor o igual que) <= (Menor o igual que) |
Filtros por IP
[En todos los ejemplos, reemplazar 0.0.0.0 por la ip a filtrar]
1 2 3 | ip.addr = = 0.0.0.0 ip.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) |
1 2 3 | ip.src == 0.0.0.0 ip.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) |
1 2 3 | ip.dst == 0.0.0.0 ip.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) |
Para filtrar paquetes del protocolo ARP entre:
1 2 3 4 5 6 7 | 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) |
1 2 3 | 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) |
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:
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 www.antrax-labs.org
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
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
1 | http.host == “DOMINIO” |
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
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
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
Fuente: http://www.antrax-labs.org/
0 comentarios:
Publicar un comentario