Burlando mediante ICMP una ACL reflexiva
Fecha: 3 de septiembre del 2014 Clase:
Exploration 4
Escenario
Este laboratorio en realidad se realizó para aprender ACL reflexivas y terminó en una prueba de las
mismas con ICMP y la falta de control que puede llegar a ocurrir con este protocolo, ya que sólo
maneja ventanas de tiempo para el retorno, sin control de flags como TCP.
Esto corresponde al punto 5.4.3 de Exploration 4 o 4.1.5 de CCNA Security.
La ACL permite el tráfico de retorno desde el exterior mediante una ventana de tiempo.
Verificación
C:\>ping 192.168.72.101 (desde el interior)
Pinging 192.168.72.101 with 32 bytes of data:
Request timed out.
Reply from 192.168.72.101: bytes=32 time=0ms TTL=127 (el de windows es 128)
Reply from 192.168.72.101: bytes=32 time=0ms TTL=127
Reply from 192.168.72.101: bytes=32 time=0ms TTL=127
Ping statistics for 192.168.72.101:
Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\>
Tucuman>sh access-list
Extended IP access list LAN_IN
10 permit tcp 192.168.4.0 0.0.0.255 any eq 443 time-range permitido (active)
20 permit tcp 192.168.4.0 0.0.0.255 any eq www time-range permitido (active) (4906 matches)
30 permit tcp 192.168.4.0 0.0.0.255 any eq telnet (343 matches)
40 permit icmp any any (84 matches)
Extended IP access list entrante
10 evaluate navegacion
20 evaluate dns
30 evaluate icmp
40 deny ip any any (3971 matches)
Reflexive IP access list dns
Reflexive IP access list icmp (tráfico ICMP de retorno)
permit
icmp host 192.168.72.101 host 192.168.4.10
(8 matches) (time left 23) (el último fue hace 7”)
Reflexive IP access list navegación (tráfico web de retorno)
permit tcp host 192.168.72.101 eq www host 192.168.4.10 eq 62082 (797 matches) (time left 295)
permit tcp host 192.168.72.101 eq www host 192.168.4.10 eq 62081 (644 matches) (time left 295)
permit tcp host 192.168.72.101 eq www host 192.168.4.10 eq 62080 (1431 matches) (time left 296)
permit tcp host 192.168.72.101 eq www host 192.168.4.10 eq 62079 (460 matches) (time left 295)
permit tcp host 192.168.72.101 eq www host 192.168.4.10 eq 62078 (1631 matches) (time left 296)
Tucuman>
Una vez abierta, la ventana permite tráfico que se genere desde la IP destino del tráfico saliente,
entonces pueden generarse varias respuestas de echo ante una única solicitud y mantener la
ventana de tiempo abierta desde el exterior. Esto es un comienzo para otro tipo de ataque o para
el filtrado de información dentro de los pings (ver laboratorio sobre este tema).
Generamos tráfico de sólo respuesta al echo solicitado anteriormente.
Puede verse que el TTL es de 99, en el generador es de 100, uno se descuenta el router, también en los pings
originales se pueden ver números de secuencia que no se generan en el tráfico pirata, sin embargo los paquetes
pasan igualmente la ACL. Ver el mensaje en el payload o carga del paquete “ Pasé la ACL ! ”.
Tucuman#sh clock (verificamos ventana de tiempo)
09:01:12.124 UTC Thu Sep 4 2014
Tucuman#sh access-list
Extended IP access list LAN_IN
10 permit tcp 192.168.4.0 0.0.0.255 any eq 443 time-range permitido (inactive) (6 matches)
20 permit tcp 192.168.4.0 0.0.0.255 any eq www time-range permitido (inactive) (4937 matches)
30 permit tcp 192.168.4.0 0.0.0.255 any eq telnet (1126 matches)
40 permit icmp any any (114 matches)
Reflexive IP access list dns
Extended IP access list entrante
10 evaluate navegacion
20 evaluate dns
30 evaluate icmp
35 permit eigrp any any (29709 matches)
40 deny ip any any (6792 matches)
Reflexive IP access list icmp
permit icmp host 192.168.72.101 host 192.168.4.10 (87 matches) (time left 29)
Reflexive IP access list navegacion
Extended IP access list saliente
10 permit tcp any any eq www reflect navegacion (4675 matches)
20 permit udp any any eq domain reflect dns
30 permit icmp any any reflect icmp (8 matches)
Tucuman#
Tucuman#sh clock
09:03:01.256 UTC Thu Sep 4 2014 (dos minutos después)
Tucuman#sh access-list
Extended IP access list LAN_IN
10 permit tcp 192.168.4.0 0.0.0.255 any eq 443 time-range permitido (inactive) (6 matches)
20 permit tcp 192.168.4.0 0.0.0.255 any eq www time-range permitido (inactive) (4937 matches)
30 permit tcp 192.168.4.0 0.0.0.255 any eq telnet (1126 matches)
40 permit icmp any any (114 matches)
Reflexive IP access list dns
Extended IP access list entrante
10 evaluate navegacion
20 evaluate dns
30 evaluate icmp
35 permit eigrp any any (29778 matches)
40 deny ip any any (6901 matches)
Reflexive IP access list icmp
permit icmp host 192.168.72.101 host 192.168.4.10 (192 matches) (time left 29)(misma ventana)
Reflexive IP access list navegacion
Extended IP access list saliente
10 permit tcp any any eq www reflect navegacion (4675 matches)
20 permit udp any any eq domain reflect dns
30 permit icmp any any reflect icmp (8 matches)
Tucuman#
C:\>ping 192.168.4.10 (prueba
de echo desde el exterior, verificamos que el ICMP no entra)
Haciendo ping a 192.168.4.10 con 32 bytes de datos:
Respuesta desde 192.168.72.4: Red de destino inaccesible.
Respuesta desde 192.168.72.4: Red de destino inaccesible.
Respuesta desde 192.168.72.4: Red de destino inaccesible.
Respuesta desde 192.168.72.4: Red de destino inaccesible.
Estadísticas de ping para 192.168.4.10:
Paquetes: enviados = 4, recibidos = 3, perdidos = 1
(25% perdidos),
C:\>
Detalle de tipos ICMP:
Fuente: http://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml
Configuración del equipo:
Tucuman#sh runn (sólo lo
relevante)
Building configuration...
Current configuration : 1858 bytes
!
version 12.4
!
hostname Tucuman
!
logging message-counter syslog
enable secret 5 $1$evf2$J1jnDWUe01QBiSWO4os6s1
!
interface FastEthernet0/0
ip address 192.168.4.1 255.255.255.0
ip access-group LAN_IN in
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.72.4 255.255.255.0
ip
access-group entrante in
ip
access-group saliente out
duplex auto
speed auto
!
ip access-list extended LAN_IN
permit tcp 192.168.4.0 0.0.0.255 any eq 443 time-range permitido
permit tcp 192.168.4.0 0.0.0.255 any eq www time-range permitido
permit tcp 192.168.4.0 0.0.0.255 any eq telnet
permit icmp any any
ip access-list extended entrante
evaluate navegacion
evaluate dns
evaluate
icmp
deny ip any any
ip access-list extended saliente
permit tcp any any eq www reflect navegacion timeout 300
permit udp any any eq domain reflect dns timeout 10
permit icmp any any
reflect icmp timeout 30 (este
valor se puede modificar)
!
time-range permitido
periodic weekdays 18:00 to 21:00
!
end
Tucuman#
(2014) Sensei, St Claus also deliver IP packets ?
Rosario, Argentina