Escenario de varios gateways
Fecha: 16 de Octubre del 2012
Escenario para probar
los mensajes ICMP redirect cuando tenemos un gateway por defecto, y otras redes
que se alcanzan a través de otros routers,
verificando si existen
saltos desde el router por defecto hasta alcanzarla, o si se generan mensajes
de control para redirigir el tráfico para alcanzar el
destino por un router
específico. (RFC: http://tools.ietf.org/html/rfc792)
Estos mensajes en
algunos casos se consideran una brecha de seguridad, ya que puede ser utilizado para ejecutar un ataque de
"man in the middle",
y en una red bien mantenida estos mensajes no deberían ser necesarios.
El objetivo es entender
a nivel forense la mecánica de background de las redes (lo que el usuario no
ve).
Escenario realizado en
equipos reales y simulado en Packet Tracer para verificar si existe la función
ip redirect.
Escenario
Verificación
inicial
C:\>ipconfig
Configuración IP de Windows
Adaptador Ethernet Intel on board :
Sufijo de conexión específica DNS :
Dirección IP. . . . . . . . .
. . : 192.168.0.5
Máscara de subred . . . . . .
. . : 255.255.255.0
Puerta de enlace
predeterminada : 192.168.0.1 (gateway por defecto)
C:\>arp -a
Interfaz: 192.168.0.5 --- 0x2
Dirección IP Dirección física Tipo
192.168.0.1 00-18-ba-d1-1f-90 dinámico (gateway por defecto)
C:\>
Gateway#sh ip route (verificamos en gateway por
defecto)
---resumido---
Gateway of last resort is 172.16.0.2 to network
0.0.0.0
172.16.0.0/24 is subnetted, 1 subnets
C
172.16.0.0 is directly connected, Loopback0
C 192.168.0.0/24 is directly connected,
FastEthernet0/0
S 192.168.1.0/24
[1/0] via 192.168.0.2 (Salida_2)
S* 0.0.0.0/0 [1/0] via 172.16.0.2 (simulada con Loop0 de este mismo router)
Gateway#ping 192.168.1.1 (verificamos desde el
router)
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout
is 2 seconds:
!!!!!
Success rate is 80 percent (4/5), round-trip
min/avg/max = 1/1/4 ms
Gateway#
Salida_2#sh ip route (verificamos en el 2do
gateway)
---resumido---
Gateway of last resort is not set
10.0.0.0/8
is variably subnetted, 3 subnets, 3 masks
C
10.10.0.0/30 is directly connected, Async5
S
10.10.0.2/32 is directly connected, Async5
S
10.0.0.0/24 [100/0] via 10.10.0.2
C
192.168.0.0/24 is directly connected, FastEthernet0/0
S 192.168.1.0/24
[1/0] via 192.168.0.3 (Salida_3)
Salida_2#
C:\>ping 192.168.1.1 (verificamos desde la
PC)
Haciendo ping a 192.168.1.1 con 32 bytes de datos:
Respuesta desde 192.168.1.1: bytes=32 tiempo=2ms TTL=255
Respuesta desde 192.168.1.1: bytes=32 tiempo=1ms TTL=255
Respuesta desde 192.168.1.1: bytes=32 tiempo=1ms TTL=255
Respuesta desde 192.168.1.1: bytes=32 tiempo=1ms TTL=255
Estadísticas de ping para 192.168.1.1:
Paquetes: enviados = 4, recibidos
= 4, perdidos = 0
(0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 1ms, Máximo = 2ms, Media
= 1ms
C:\>tracert 192.168.1.1
Traza a 192.168.1.1 sobre caminos de 30 saltos como máximo.
1 1 ms
1 ms <1 ms 192.168.1.1 (un
solo salto a través de 192.168.0.3)
Traza completa.
C:\>arp -a
Interfaz: 192.168.0.5 --- 0x2
Dirección IP Dirección física Tipo
192.168.0.1 00-18-ba-d1-1f-90 dinámico
(Gateway)
192.168.0.2 00-0f-90-b9-13-89 dinámico
(Salida_2)
192.168.0.3 00-07-85-a8-13-e0 dinámico
(Salida_3)
C:\>route print (no hay rutas agregadas ni
otros gateways)
===========================================================================
ILista de interfaces
0x1 ........................... MS TCP Loopback
interface
0x2 ...00 1b 38 7e f1 71 ...... Intel(R) PRO/100 VE
Network Connection - Minipue
rto del administrador de paquetes
0x10004 ...00 1b 77 b3 80 a5 ...... Intel(R) PRO/Wireless 3945ABG Network Connec
tion - Virtual Machine Network Services Driver
===========================================================================
===========================================================================
Rutas activas:
Destino de red Máscara de
red Puerta de acceso Interfaz
Métrica
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.5 20 (ruta por
defecto)
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.0.0 255.255.255.0 192.168.0.5 192.168.0.5 20
192.168.0.5 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.0.255 255.255.255.255 192.168.0.5 192.168.0.5 20
224.0.0.0 240.0.0.0 192.168.0.5 192.168.0.5 20
255.255.255.255 255.255.255.255 192.168.0.5 10004 1
255.255.255.255 255.255.255.255 192.168.0.5 192.168.0.5 1
Puerta de enlace predeterminada:
192.168.0.1
===========================================================================
Rutas persistentes:
ninguno
C:\>
Verificamos que luego
del primer PING al destino, este llega al gateway por defecto y se genera un
mensaje de redirección a otra salida
de la red, entonces la
dirección MAC de destino ya no es la del gateway por defecto sino la de
Salida_2, este generará otro mensage de
redirección a otra salida de la red, y
finalmente la dirección MAC de destino es la del router Salida_3.
Desactivando
ICMP redirect en router Gateway. Con esto habrá saltos hasta
Salida_2 y luego a Salida_3.
Gateway#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(config)#int fa0/0
Gateway(config-if)#no ip redirects
Gateway(config-if)#^Z
Gateway#
C:\>tracert 192.168.1.1
Traza a 192.168.1.1 sobre caminos de 30 saltos como máximo.
1 1 ms
1 ms 1 ms 192.168.0.1 (Gateway,
reenvía paquete a Salida_2)
2 1 ms
1 ms 1 ms 192.168.0.2 (Salida_2,
mensaje de redirect vía Salida_3)
3 2 ms
1 ms 1 ms 192.168.1.1 (Salida_3)
Traza completa.
C:\>
Detalle de los redirect
desde Salida_2 a la notebook, primero Gateway los reenvía a este, pero no salen
en la captura ya que es una
red conmutada por switch
y el tráfico entre routers no se captura (al menos en este escenario).
Detalle
del tráfico capturado (con redirect activado)
Frame 19 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: 00:1b:38:7e:f1:71 (notebook), Dst: 00:18:ba:d1:1f:90 (Gateway)
Internet Protocol, Src: 192.168.0.5 (192.168.0.5),
Dst: 192.168.1.1 (la IP destino)
Internet Control Message Protocol
Type: 8
(Echo (ping) request)
Code: 0 ()
Checksum:
0x435c [correct]
Identifier:
0x0200
Sequence
number: 2048 (0x0800)
Data (32
bytes)
Frame 20 (70 bytes on wire, 70 bytes captured)
Ethernet II, Src: 00:18:ba:d1:1f:90 (Gateway), Dst: 00:1b:38:7e:f1:71 (notebook)
Internet Protocol, Src: 192.168.0.1 (192.168.0.1),
Dst: 192.168.0.5 (192.168.0.5)
Internet Control Message Protocol
Type: 5 (Redirect)
(de Gateway a Salida_2)
Code: 0 (Redirect
for network)
Checksum:
0xe4f8 [correct]
Gateway
address: 192.168.0.2 (Salida_2)
Internet
Protocol, Src: 192.168.0.5 (192.168.0.5), Dst: 192.168.1.1 (192.168.1.1)
Internet
Control Message Protocol
Type: 8
(Echo (ping) request)
Code: 0
()
Checksum: 0x435c [incorrect, should be 0xedff]
Identifier: 0x0200
Sequence
number: 2048 (0x0800)
Frame 27 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: 00:1b:38:7e:f1:71 (notebook), Dst: 00:0f:90:b9:13:89 (Salida_2)
Internet Protocol, Src: 192.168.0.5 (192.168.0.5), Dst: 192.168.1.1 (la IP destino nunca cambia)
Internet Control Message Protocol
Type: 8
(Echo (ping) request)
Code: 0 ()
Checksum:
0x425c [correct]
Identifier:
0x0200
Sequence
number: 2304 (0x0900)
Data (32
bytes)
Frame 138 (70 bytes on wire, 70 bytes captured)
Ethernet II, Src: 00:0f:90:b9:13:89 (Salida_2), Dst: 00:1b:38:7e:f1:71 (notebook)
Internet Protocol, Src: 192.168.0.2 (192.168.0.2),
Dst: 192.168.0.5 (192.168.0.5)
Internet Control Message Protocol
Type: 5 (Redirect) (de
Salida_2 a Salida_3)
Code: 0 (Redirect for network)
Checksum:
0xe4f7 [correct]
Gateway
address: 192.168.0.3 (Salida_3)
Internet
Protocol, Src: 192.168.0.5 (192.168.0.5), Dst: 192.168.1.1 (192.168.1.1)
Internet
Control Message Protocol
Type: 8
(Echo (ping) request)
Code: 0
()
Checksum: 0x3b5c [incorrect, should be 0xe5ff]
Identifier: 0x0200
Sequence
number: 4096 (0x1000)
Frame 169 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: 00:1b:38:7e:f1:71(notebook), Dst: 00:07:85:a8:13:e0 (Salida_3)
Internet Protocol, Src: 192.168.0.5 (192.168.0.5), Dst: 192.168.1.1 (la IP destino nunca cambia)
Internet Control Message Protocol
Type: 8
(Echo (ping) request) (Notebook-Salida_3)
Code: 0 ()
Checksum: 0x375c
[correct]
Identifier:
0x0200
Sequence
number: 5120 (0x1400)
Data (32
bytes)
Frame 170 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: 00:07:85:a8:13:e0 (Salida_3), Dst: 00:1b:38:7e:f1:71 (notebook)
Internet Protocol, Src: 192.168.1.1 (192.168.1.1),
Dst: 192.168.0.5 (192.168.0.5)
Internet Control Message Protocol
Type: 0
(Echo (ping) reply) (Salida_3-Notebook)
Code: 0 ()
Checksum:
0x3f5c [correct]
Identifier:
0x0200
Sequence
number: 5120 (0x1400)
Data (32
bytes)
Simulación
en PAcket Tracer, verificamos que esta función en la versión
5.3.1.0044 no existe.
PC>tracert 192.168.1.1
Tracing route to 192.168.1.1 over a maximum of 30
hops:
1 63 ms 63 ms
63 ms 192.168.0.1 (Gateway)
2
* * 94 ms 192.168.0.2 (Salida_2:
no hay ICMP redirect)
3
* * 109 ms 192.168.1.1 (Salida_3)
Trace complete.
PC>
Gateway#sh runn
Building configuration...
Current configuration : 608 bytes
!
version 12.4
!
hostname Gateway
!
interface Loopback0
ip address
172.16.0.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.0.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 172.16.0.2 (ruta por
defecto)
ip route 192.168.1.0 255.255.255.0 192.168.0.2 (ruta
de redirección)
!
end
Gateway#
Salida_2#sh runn
Building configuration...
Current configuration : 513 bytes
!
version 12.4
!
hostname Salida_2
!
interface FastEthernet0/0
ip address
192.168.0.2 255.255.255.0
!
ip route 192.168.1.0 255.255.255.0 192.168.0.3 (ruta vía Salida_3)
!
end
Salida_2#
Salida_3#sh runn
Building configuration...
Current configuration : 525 bytes
!
version 12.4
!
hostname Salida_3
!
interface Loopback0
ip address
192.168.1.1 255.255.255.0
!
interface FastEthernet0/0
ip address
192.168.0.3 255.255.255.0
!
end
Salida_3#
(2012) Networking scares my girlfriend
Rosario, Argentina