bitcoin prize

TUNELES ICMP PARA EVASION DE SEGURIDAD PERIMETRAL 💀💢💨💻

TUNELES ICMP PARA EVADIR SEGURIDAD PERIMETRAL Y FILTRAR INFORMACION.
 el protocolo icmp es legendario y lo digo lo de "legendaria" ya que es un buen recurso ala hora de hacer cualquier tipo de testeos en nuestra red ya que con este protocolo podemos saber si el host esta activo o por el contrario no lo esta.
ademas podemos saber que rutas atraviesa antes de salir al exterior y cual es el sistema operativo, por ejemplo un truco sencillo para saber el sistema operativo es que cada sistema opera y trata todo de una manera muy diferente,  por ejemplo si es linux el ttl es distinto a windows y las ventanas en cuanto el protocolo tcp tambien sera muy diferente.
lo que necesitaremos aqui mismo en esta entrada es refrescar nuestros conocimientos acerca de como luce un paquete icmp para analizar en detalle como es que funcionan los tuneles icmp.
ahora analizaremos el paquete a detalle ya que el mismo rfc tecnico del protocolo icmp admite datos encapsulados mediante lo que vemos en la imagen como ICMP data(variable)  el tamaño de esta parte puede ser un poco variable eso es lo que puede significar y a lo que nos mencionamos.
la version nos indica el protocolo v4 o v6  al lado nos muestra el tamaño total que puede contener el paquete ,   el ttl se refiere al tiempo de vida del paquete (recordad que en cada  salto entre router-router va disminuyendo en 1 en esta seccion del campo).
el header checksum o chequeo de integridad es aquel que identifica con un codigo hexadecimal unico para que el paquete llegue en optimas condiciones y no llegue alterado o con errores  ya que algunas condiciones de algunas redes donde llegan los paquetes pueden ser muy perjudiciales para los datos y como consecuencia los datos pueden llegar alterados,   la seccion protocol identifica al protocolo que esta haciendo uso en ese momento el flujo de datos,   el padding o rellenado ,  es un relleno que se realiza si el paquete no alcanza a completar los datos del tamaño total correspondiente.
pero lo que realmente nos interesa es el campo de datos , la ultima seccion,  que es donde el ataque va a tener exito correspondientemente.
el src address es la direccion ip de origen y la dst address es la direccion ip de destino .
ahora vamos a encender nuestra maquina con nuestra distribucion de seguridad favorita sea esta misma kali linux o se esta parrot security o si os gusta el pentesting en windows pues deberais probar una fabulosa toolbox llamada  "pentest box" que trae todas las herramientas por defecto de linux especialmente de seguridad,  convierte un entorno windows en una emulacion de la linea de comandos de linux y sus librerias soportadas para poder contener el sistema base.

un tunel como lo dice el titulo es aquel donde se permite el enrutado de un flujo de datos correspondiente determinado como cualquier otro protocolo,  pero en este caso al tratarse de un protocolo soportado por todas las organizaciones, entonces es posible que nuestro ataque el dia de hoy tenga el 95% de exito quedandose el margen de error en el 5% por posibles errores del sistema.


supongamos que tenemos el siguiente escenario:
1._un windows server 2008 con algunas politicas de seguridad configuradas que provee acceso compartido a 2 windows 7
2._un atacante con una maquina con kali linux


aqui lo que haremos es  tratar de colocar una conexion reversa entre el servidor y el atacante para que de esta forma , podamos ejecutar comandos arbitrarios y conseguir una shell del sistema similarmente a como si ejecutaramos en la maquina victima una sesion reversa de ncat o netcat.
                                                    
                                                   maquina windows server 2008 r2:

maquina atacante con kali linux:

ahora lo que debemos hacer es mediante una forma tener acceso al servidor ,  nos sera facil ya que  estamos en la misma subred.
para comfigurar previamente las configuraciones de una direccion ip debemos entrar a :
nano /etc/network/interfaces 

y escribimos :
 auto eth0
iface eth0 inet static
address 192.168.37.12
netmask 255.255.255.192
#gateways  xxx.xxx.xxx.xxx
# en esta caso no usare puerta de enlace porque solo es una Poc o una pruba de concepto como se le suele llamar en la seguridad informatica.



ahora lo que haremos es clonarnos el repositorio que contiene la herramienta que utilizaremos mas adelante que es icmpsh lo que hace es lo que se explica en la seccion de wikipedia para el tunel icmp,  que es cuando el host A por ejemplo envia muchos paquetes echo o de solicitud y el servidor o a donde se dara el flujo de datos de la conexion nos contestara con un echo request que es la verdadera respuesta a lo que en esta parte importante ya que la computadora remota es la que inyecta una respuesta y la devuelve en las respuestas echo request,  pudiendo enviar comandos arbitrarios al sistema,  etc.
antes de ejecutar con exito este ataque necesitamos de alguna manera haber accedido ala victima o en este caso como es un windows server 2008 es vulnerable al ataque conocido de la nsa como eternal blue ,  primero accedemos y despues ejecutamos este tipo de ataque como  un backdoor o como una especie de puertra trasera para acceder cuando se nos de nuestra regalada gana.
cabe recalcar que podemos crear nuestro propio script que realize este tipo de funciones tambien en python,   deberemos programarlo para que se oculte dentro de los archivos del registro de sistema o en algun directorio muy escondido.

este tipo de paquete de datos es comunmente facil que atraviesen NAT o diversos cortafuegos ya que son raras las veces que icmp es bloqueado dentro de la infraestructura de una empresa u organizacion en general.

las conexiones que comunmente  utilizan los atacantes ciberneticos para evadir la seguridad perimetral asi como los bloqueos o las trampas mejor conocidas como honeypots,  son las llamadas conexiones en reversa que es el resultado de que   la victima se conecte hacia el atacante y no al reves lo que evade en el 90% de los casos  toda seguridad que pudiese existir en el medio de la red.


Como vemos en la imagen anterior,  si el atacante como se hacian anteriormente en las epocas de inicios de internet   se conectara normalmente en una conexion saliente hacia la victima, las medidas de seguridad perimetrales actuales o de IDS, IPS, ETC la detectarian rapidamente descartando y eliminando el paquete incluso sacandonos de la red bloqueando nuestras direcciones IP como atacantes.

lo que hace la conexion en reversa es mandar un paquete hacia un puerto en especifico en la victima para que esta misma abra ese puerto x una vez abierto el puerto x el atacante envia mas paquetes lo que en consecuencia  la victima manda respuesta hacia el atacante abriendonos la puerta la misma victima y cayendo en nuestra trampa.

Ahora vemos en la ilustracion siguiente como es que funciona y luce un tunel icmp de mensajes peticion/respuesta para evadir ciertos tipos de seguridad que es el principal objetivo de este articulo.
vemos que tenemos al atacante y a los srvidores o en su defecto  crean un tunel sin autorizacion del lado de la victima,  son los mensajes responsables de echo request y echo reply lo que comunmente logran esto mediante mensajes continuos lo que termina creando conexiones TCP absolutas.
el objetivo del delincuente informatico en este aspecto es intentar crear un tunel cifrado o no dependiendo de diversos factores y circunstancias ademas de configuraciones en las que nos encontremos,  pero siempre el objetivo o meta primordial es la misma,  crear un tunel entre el atacante y la victima en la que podremos tener acceso ala victima,  en este mismo articulo al final veremos como nos podemos defender de este tipo de tecnicas y como evitarlas en su momento si sospechamos que nuestra red esta siendo atacada por esta tecnica.

Lo primero que haremos si estamos en linux en kali linux es desactivar las respuestas ICMP para prevenir algun error en esta tecnica como atacantes,  entramos al archivo de configuracion y editamos manualmente con una almohadilla la configuracion de enviar respuestas ECHO.


una vez entrado y modificado la linea de las respuestas  ECHO ICMP,  ahora lo que haremos es correr la herramienta con las direcciones atacante-victima correspondientes para proceder a crear el tunelado icmp.

Vemos que estamos dentro de la maquina de la victima al desplegarsenos la linea de comandos de windows o la consola cmd.exe como se le quiera nombrar,   vemos que podemos observar que nos tira el comando systeminfo lo que nos da una buena amalgama de informacion como las actualizaciones KB insaladas asi como el tipo de arquitectura, el modelo , el sistema operativo, la version, el nombre de la comutadora y toda la informacion relativa al comando,  desde aqui las posibilidades como atacantes son infinitas.

En la maquina victima tambien tenemos que hacer que la victima abra el puerto para que la conexion en reversa y el tunel se cree automaticamente.


abierto tambien el puerto primero en la victima mediante algun tipo de ingenieria social.
Entonces tenemos el acceso total y el tunel creamos para hacer nuestras diversiones.

si nos pasamos al trafico de la red,  vemos que se estan enviando multitud de paquetes ECHO REQUEST Y REPLY lo que deberiamos sospechar en primera instancia por la cantidad de trafico que este ataca ocasiona.



vemos que la cantidad de trafico del protoclo ICMP es insostenible inaudito es demasiado trafico ICMP lo que si en una red no hay alarmas como tal no se sospecharia nada pero si existen IDS o IPS dentro de una red determinada,  entonces podriamos parar el ataque.

ahora las medidas de seguridad de defensa en este ataque para despediros y que tengan excelente mitad de semana,  dicho esto las medidas son las siguientes:


  • Bloquear la cantidad excesiva de trafico ICMP peticiones/respuestas
  • configurar IPS e IDS para frenar trafico malformado ICMP que sospechemos
  • Permitir solo trafico ICMP de ciertas IP'S
  • configurar firewall de tipo stateful para inspeccionar paquetes entrantes y salientes del protocolo ICMP y derivados para frenar en caso de contener PAYLOADS maliciosos
  • Denegar o descartar los paquetes malformados

0 comments:

Publicar un comentario

My Instagram

Uso cookies para darte un mejor servicio.
Mi sitio web utiliza cookies para mejorar tu experiencia. Acepto Leer más