Burlando la seguridad de capas 2 y 3
(hecha la ley, hecha la trampa)
Fecha: 5 de abril del 2014 Clase: Exploration 4
Escenario
En este escenario se trata de burlar la seguridad de capa 2 del switch al que está conectado un PC, y la
seguridad de capa 3 en un router suponiendo que se deben conectar varias máquinas en un solo puerto,
por ejemplo por no tener suficientes cables UTP en el sector o por conectar un AP ilegal para ofrecer
WiFi (esto se llama rogue AP y es un agujero de seguridad muy común y potencialmente peligroso).
No se pretende aprender a burlar la seguridad sino entender como son los mecanismos para burlarla
y poder mitigarlos para crear una red mas segura.
Hecha la ley…
Switch(config)#int range fa0/1-24
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport port-security
Switch(config-if-range)#switchport port-security mac-address sticky
Switch(config-if-range)#switchport port-security maximum 1
Switch(config-if-range)#spanning-tree portfast
Switch(config-if-range)#end
Switch#sh port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
(Count) (Count) (Count)
--------------------------------------------------------------------
Fa0/1 1 1 0 Shutdown
Fa0/2 1 1 0 Shutdown
Fa0/3 1 0 0 Shutdown
Fa0/4 1 0 0 Shutdown
---resumido---
Switch#sh mac address-table
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
1 00e0.8f3d.822d STATIC Fa0/1
1 0001.9777.6e01 STATIC
Fa0/2
1 0090.2178.2d01 STATIC Fa0/24
Switch#
Hecha la trampa…
Por el MAC clone burlamos la capa 2 y el PAT (variante del NAT) burlamos la capa 3, todos los PC tras
El router ilegal salen por una única MAC y una única IP.
Conectamos un AP ilegal, esto representa realmente un potencial agujero de seguridad.
C:\>ipconfig /all
---resumido---
Adaptador Ethernet Intel on board :
Sufijo de conexión específica DNS :
Descripción. . . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connection
Dirección física. . . . . . . . . . . : 00-1B-38-7E-F1-71
DHCP habilitado. . . . . . . . . . : No
Autoconfiguración habilitada. . . : Sí
Dirección IP. . . . . . . . . . . . . : 10.0.0.105 (estamos tras el router ilegal)
Máscara de subred . . . . . . . : 255.255.255.0
Puerta
de enlace predeterminada : 10.0.0.1
Servidor DHCP . . . . . . . . . . : 10.0.0.1
Concesión obtenida . . . . . . . : Sábado, 05 de Abril de 2014 10:08:26 a.m.
Concesión expira . . . . . . . . .: Domingo, 06 de Abril de 2014 10:08:26 a.m.
C:\>
C:\>ping 192.168.1.1
Haciendo ping a 192.168.1.1 con 32 bytes de datos:
Respuesta desde 192.168.1.1: bytes=32 tiempo=2ms TTL=254 (vemos que el TTL no es 255, por lo que hubo un salto)
Respuesta desde 192.168.1.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=1ms TTL=254
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:\>
Hecha la nueva ley…
Router(config)#ip access-list ext FILTRO
Router(config-ext-nacl)#deny ip any any ttl lt 128 (detrás del router ilegal: 128-1=127) (lt es less than, o menor que)
Router(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 any (permite todo el resto)
Router(config-ext-nacl)#exit
Router(config)#int fa0/0
Router(config-subif)#ip access-group FILTRO in
Router(config-subif)#^Z
Router#
C:\>ping 192.168.1.1
Haciendo ping a 192.168.1.1 con 32 bytes de datos:
Respuesta desde 192.168.1.1: Red de destino inaccesible.
Respuesta desde 192.168.1.1: Red de destino inaccesible.
Respuesta desde 192.168.1.1: Red de destino inaccesible.
Respuesta desde 192.168.1.1: Red de destino inaccesible.
Estadísticas de ping para 192.168.1.1:
Paquetes: enviados = 4, recibidos = 4, perdidos = 0 (notar que el contador marca 4 paquetes recibidos
(0% perdidos), mas allá del mensaje de éxito o error)
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 0ms, Máximo = 0ms, Media = 0ms
C:\>
Router#sh access-list
Extended IP access list FILTRO
10 deny ip any any ttl lt 128 (4 matches) (bloquea tráfico detrás del router ilegal)
20 permit ip any any (4 matches)
Router#
Por defecto Windows transmite con un TTL de 128, en el primer router (el ilegal) ya queda en 127.
Hecha la nueva trampa…
HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\Tcpip\Parameters.
Name: DefaultTTL
Type: REG_DWORD
Valid Range: 1-255 (en este caso pondremos 129)
C:\>ping 192.168.1.1
Haciendo ping a 192.168.1.1 con 32 bytes de datos:
Respuesta desde 192.168.1.1: bytes=32 tiempo=2ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=1ms TTL=254
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:\>
Router#sh access-list
Extended IP access list FILTRO
10 deny ip any any ttl lt 128 (4 matches)
20 permit ip 192.168.1.0 0.0.0.255 any (8 matches) (ahora los paquetes pasan el control)
Router#
La solución a esto ? 802.1x, pero ya es otra historia, primero debemos aprender otras cosas.
(2014) Mutants packets
Rosario, Argentina