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