You are on page 1of 10

Comunicaciones Digitales

Captura de Tramas

Captura de Paquetes en la Red.


Con el fin de ver el contenido de lo que circula por una red usaremos un
programa llamado Wireshark ( Tiburn del Cable).
Este programa tiene una licencia GNU. Este programa no es mas que un
frontend para presentar de manera grfica lo que se obtiene de otros
programas que no son del tipo grfico, como Tcdump y algn otro.
El proyecto Wireshark es sucesor de el Ethereal. El objetivo de la
Practica ser poner en modo promiscuo ( => que capture las tramas que
son para la placa y las que no son para la placa) la placa de red de una
PC y observar el contenido de lo que captura la misma.
Es cierto que existe la posibilidad de esnifar (sniffer = espiar) todo tipo
de trafico en una transmisin, esto puede costar mucho o poco
dependiendo del tipo de red , pero me atrevera a decir que con tiempo
todo se logra.
Recordemos que esto se realiza con fines didcticos, no buscamos, ni ser
ni jugar a ser Hackers, o algo parecido. Es importante hacer notar que
esto en algunos lugares esta tarea puede constituir un delito o en
algunas empresas no estar permitido.
Desde Linux para poder poner la placa en modo promiscuo deberemos
tener los permisos necesarios , una manera fcil de lograr esto es
ejecutar la aplicacin como root.
La interfase de Wireshark antes de empezar a capturar paquetes de la
red lucir de la siguiente manera.

El primer icono de la barra de tareas


permite configurar las
interfaces por las cuales se capturarn los paquetes o tramas , si
presionamos en este icono , veremos..

Ing. Daniel Refosco

pagina 1de 10

Comunicaciones Digitales

Captura de Tramas

En este caso vemos que en el equipo que se tomo la imagen exista solo
una placa de red ( eth0) , con los botones de "Start" se comienza el modo
de captura y con "Options" se podran configurar las opciones de
captura, cosa que por el momento no entraremos en detalle.
Si presionamos Start aparecer una pantalla como la siguiente:

Aca podemos ver que aparecen la cantidad total y porcentajes de tipos de


paquetes capturados..mientras esto transcurre , los paquetes son
almacenados temporalmente hasta que se presione el botn de "Stop".
Luego de esto la apariencia de la interfase del Wireshark :

Ing. Daniel Refosco

pagina 2de 10

Comunicaciones Digitales

Captura de Tramas

Podemos observar que en esta nueva etapa ( luego de la Captura)


aparecen tres secciones en la pantalla. En la superior , todas los
paquetes capturados con informacin del tipo origen, destino, protocolo,
etc. Estos haciendo un "click" en campo correspondiente se pueden
ordenar de acuerdo al lo necesario (source, Destination , Protocol, etc)
En la ventana inferior podemos ver a nivel mas bajo en valores
hexadecimales el contenido del paquete o trama.
En este punto podramos usar la opcin de Filter para limitar el
contenido de lo visualizado a lo que nosotros necesitamos, por ejemplo:

Ing. Daniel Refosco

pagina 3de 10

Comunicaciones Digitales

Captura de Tramas

En este caso estaramos limitando el contenido de lo visualizado a los


Segmentos TCP que tengan como Puerto de Origen el Nro. 34.
Otros ejemplos seran:
-tcp dst port 110
-http contains "http://www.forosdelweb.com"
-frame contains "@hotmail.com"
Con este ltimo filtro capturamos todos los correos con origen y destino
al dominio @hotmail.com, incluyendo usuarios, pass, etc.
ip.addr == xxx.xxx.xxx.xxx Con esta notacin le decimos a wireshark que
capture todos los paquetes con origen y destino con esa IP.
ip.scr == xxx.xxx.xxx.xxx Capturar con esta IP como origen.
ip.dst == xxx.xxx.xxx.xxx con esta ltima notacin capturamos los
paquetes con esa IP de destino. Podemos usar tambin el operador !=
(que no sea igual a).
Tambin podemops usar filtros que en vez de especificar IP, especifique
direcciones Ethernet:
eth.dst == ff:ff:ff:ff:ff:ff.
Tambin lo operadores lgicos:
ip.scr==80.x.x.x or ip.src==200.80.x.x.

Ing. Daniel Refosco

pagina 4de 10

Comunicaciones Digitales

Captura de Tramas

Para agregar un filtro personalizado, escribir un nombre descriptivo en el


campo Filter name, luego escribir la sintaxis del filtro en Filter string, y
finalmente dar un click en New, en este momento se agrega el nuevo
filtro al listado de filtros disponibles, Wireshark ya incluye los que se
muestran en esta pantalla.

Finalmente quiero agregar un par de links de lugares donde se puede


obtener informacin, en la pgina principal de Wireshark, hay un link
haca el Wiki ( http://wiki.wireshark.org/CaptureFilters ), en este puede
encontrarse bastante informacin sobre el uso de wireshark, esta
disponible una pgina con informacin sobre filtros de captura, que
incluye algunos ejemplos interesantes, por ejemplo como construir un
filtro para observar el trfico de la red en busca de virus tipo worm.

Casos Practicos:
Supongamos que queremos capturar (desde una Notebook), el trfico
entre un servidor y la PC de un usuario (llamaremos X) que esta
experimentando problemas para acceder a dicho servidor. Lo ms
probable es que estn conectados a travs de un switch , si este es el
caso, al conectar la Notebook, no podremos ver el trfico entre la PC y el
Servidor, nicamente ser posible ver el trfico destinado a la Notebook
y trfico de Broadcast, recordemos que el Switch no repite por todos los
puertos sino reenva la trama para el puerto que corresponde. Ante este
escenario tenemos varias alternativas.
Opcin 1
El switch es administrable : En este caso, consultar en la documentacin
Ing. Daniel Refosco

pagina 5de 10

Comunicaciones Digitales

Captura de Tramas

del mismo, como configurar un Port Mirroring, suponiendo que el


Servidor esta ubicado en el puerto 1, la PC en el puerto 2, y la laptop con
wireshark en el puerto 3, debera configurarse el port mirroring para
copiar los puertos 1 y 2 en el puerto 3. Como configurar el port mirroring
depende de cada fabricante, lo ideal es consultar el manual del switch, o
en la pgina web del fabricante, en el caso de Cisco, el port mirroring se
le denomina SPAN (Switch Port Analizer).

Opcin 2
El switch es administrable pero no soporta port mirroring, o no es
administrable: En este caso, la opcin que tenemos es conectar un
pequeo hub, como se ilustra en la figura 1b, en este caso, la idea es
conectar el hub a un puerto del switch y conectar la PC, el servidor y la
Notebok al hub, en este caso si se podr ver todo el trfico ya que en un
hub, el trfico en cada puerto es visible en todos los dems puertos. Las
desventajas de esto, es que el hub no funciona a full duplex, adems es
muy probable que la velocidad sea a 10 mientras que los puertos del
switch funcionen a 100 o an a 1000, as que si esta es una red en
produccin el acceso al servidor se puede ver severamente afectado para
el resto de usuarios, as que usar esta opcin con mucha precaucin y
solo despus de haber considerado el impacto que tendr en los usuarios.

Ing. Daniel Refosco

pagina 6de 10

Comunicaciones Digitales

Captura de Tramas

Opcin 3
Utilizar un network tap: Esta pienso que es la pocin ideal, un network
tap, es un dispositivo pasivo que se puede insertar en la red y permite
ver el trfico que esta pasando a travs de la misma, por ser un
dispositivo pasivo no interfiere en ninguna manera en la configuracin,
incluso en caso de falla del tap el trfico sigue pasando por la red.
Existen diferentes tipos de taps, pero en esencia la funcin es la misma,
permitirnos visibilidad del trfico. Aunque esta es la opcin ideal, es
probable que sea la ms difcil de conseguir, sin embargo, si es posible,
vale la pena conseguir algunos taps y tenerlos a la mano para cuando se
presenten esos problemas extraos en la red, para aprender ms sobre
taps, y ver lo que es posible con estos, recomiendo visitar la pgina de
algunos fabricantes, normalmente se encontraran descritas las diferentes
tecnologas de taps, y como utilizarlos eficientemente, entre los
fabricamentes de taps puede mencionar, Datacom Systems, Netoptics, y
Network Critical.

Opcin 4: ARP Poisoning.


Normalmente, en una red de conmutacin el switch sabe que mquinas
tiene conectada en cada puerto por que en el protocolo ARP vienen en las
solicitudes , entonces obtiene la direccin MAC de cada uno ordenador
conectado a uno de sus puertos fsicos. De esta manera manda cada
paquete a su correspondiente puerto....pero algo que todos hacen cuando
quieren mandar algn paquete fuera de la red es enviar el paquete o
trama al Gateway o Puerta de Enlace. Supongamos que queremos
"sniffear" a la maquina llamada X.
Tenemos que lograr que de alguna manera la mquina que queremos
sniffear , X , entienda que nosotros somos el gateway o puerta de
enlace de la red.
De esta manera cualquier paquete que quiera salir de la red debera
estar con la MAC del Gateway o Puerta de enlace ( o sea nuestra
Ing. Daniel Refosco

pagina 7de 10

Comunicaciones Digitales

Captura de Tramas

mquina) as podemos obtener los paquetes de X en primer lugar, y, a


continuacin, remitir el paquete al gateway real.
Normalmente cada maquina obtiene el Gateway , como la propia
direccin IP del Servidor de DHCP al iniciarse o encenderse.
Una forma de hacerlo es a envenenar el cach ARP de la mquina X.
Cada equipo, cuando se realiza un ARP request, escribe la respuesta en
una memoria Cache y durante un tiempo utiliza lo que tiene en la
memoria para hacer la bsqueda ms rpidamente la prxima vez y no
tener que andar preguntando nuevamente (ARP request) y reducir
el trfico de la red.
Si logramos envenenar la Cache de X , enviar todos los datos que salgan
de la red a nuestra maquina.
La forma tradicional para envenenar la cach es de inundacin de la red
con falsas respuestas ARP. La mayora de las computadoras realmente
responde a estas respuestas ARP, incluso si no enviaron ninguna una
solicitud ARP.
As que al enviar un montn de respuestas ARP falsos ( flake ARP) , con
una direccin IP -MAC falsificados, podramos lograr recoga esto y
actualiza su cach ARP, que ahora se apuntan a la inhalacin de nuestra
mquina.
Sin embargo, hay un gran inconveniente importante a esta tcnica y es
que provoca una gran cantidad de trfico de la red, y podra hacerse
notar por algn IDS ( Intrusion Detection System (IDS)) y alertar a
alguien, entonces lo que quedara por hacer es un ataque "manual".
Para ello podemos utilizar un troyano o un IE explotar o cualquier otro
tipo de explotacin que nos da el acceso remoto a su mquina.
La belleza de esto es que no crea el trfico de la red, y no una alerta IDS.
Por supuesto podra tener un AV (antivirus), que detecte nuestro
intento.
Veamos algunos comando del ARP para Windows:
C:\>ARP -s inet_addr eth_addr [if_addr]
C:\>ARP -d inet_addr [if_addr]
C:\>ARP -a [inet_addr] [-N if_addr]
-a

Displays current ARP entries by interrogating the current


protocol data. If inet_addr is specified, the IP and Physical
addresses for only the specified computer are displayed. If
more than one network interface uses ARP, entries for each ARP
table are displayed.
-g
Same as -a.
inet_addr
Specifies an internet address.
-N if_addr Displays the ARP entries for the network interface specified
by if_addr.
Ing. Daniel Refosco

pagina 8de 10

Comunicaciones Digitales

Captura de Tramas

-d

Deletes the host specified by inet_addr. inet_addr may be


wildcarded with * to delete all hosts.
-s
Adds the host and associates the Internet address inet_addr
with the Physical address eth_addr. The Physical address is
given as 6 hexadecimal bytes separated by hyphens. The entry
is permanent.
eth_addr
Specifies a physical address.
if_addr
If present, this specifies the Internet address of the
interface whose address translation table should be modified.
If not present, the first applicable interface will be used.
Ejemplo:
C:\> arp -s 157.55.85.212 00-aa-00-62-c6-09 .... Agrega una entrada
esttica a la tabla
Veamos como logra envenenar la Tabla de ARP supongamos que la
IP/MAC de nuestro Gateway es: 10.209.36.129/00-01-30-2a-b4-00
Si hacemos:
C:\>ping 10.209.36.149
Pinging 10.209.36.149 with 32 bytes of data:
Reply
Reply
Reply
Reply

from
from
from
from

10.209.36.149:
10.209.36.149:
10.209.36.149:
10.209.36.149:

bytes=32
bytes=32
bytes=32
bytes=32

time<1ms
time<1ms
time<1ms
time<1ms

TTL=128
TTL=128
TTL=128
TTL=128

Ping statistics for 10.209.36.149:


Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Al hacer luego:
C:\>arp -a
Muestra la tabla ARP .
Interface: 10.209.36.134 --- 0x2
Internet Address
Physical Address
Type
10.209.36.129
00-01-30-2a-b4-00
dynamic
Lo primero que deberamos hacer es borrar la tabla ARP.
C:\>arp -d * ( borramos las entradas ARP)
C:\>arp -a (listamos ... no deberan aparecer ninguna )
Agrego a mano la MAC para la IP 10.209.36.129
C:\>arp -s 10.209.36.129 00-e0-29-57-07-2d
Ing. Daniel Refosco

pagina 9de 10

Comunicaciones Digitales

Captura de Tramas

C:\>arp -a
Interface: 10.209.36.134 --- 0x2
Internet Address
Physical Address
10.209.36.129
00-e0-29-57-07-2d

Type
static

Podemos ver que ahora todos los paquetes o Datagrama IP que viajen
con destino a la IP 10.209.36.129 irn a nivel cable con la MAC 00-e029-57-07-2d en lugar de salir con la MAC real que corresponde a esa IP
que es 00-01-30-2a-b4-00

Ing. Daniel Refosco

pagina 10de 10

You might also like