Durante los últimos años, la tecnología IDS/IPS ha ayudado a detectar actividad maliciosa no solo en el lado del servidor, sino también en el lado de los clientes. Actualmente, experimentamos un volumen creciente de ataques en el lado de los clientes, los criminales encuentran más fácil atacar a los usuarios y uno de los vectores de ataque más utilizados es el correo electrónico con un enlace a un exploitkit o archivo adjunto.
Con las tecnologías IPS/IDS hemos podido identificar máquinas de usuarios infectadas, básicamente porque en la mayoría de los casos el protocolo utilizado era HTTP. Hoy en día las cosas están cambiando y los atacantes están mejorando su infraestructura implementando canales SSL, lo que hace más difícil detectarlos. La respuesta de la industria ha sido, básicamente, estos dos enfoques:
Inspección SSL (Man-in-the-Middle)
Si la empresa tiene un proxy corporativo, es posible interceptar el SSL. Hay soluciones comerciales, pero es posible implementarlo con software de código abierto como Squid usando la configuración SslBump Peek and Splice. El único requisito es que el cliente confíe en la CA que genera los certificados en el proxy.
Cuando el usuario quiere conectarse usando HTTPS, el proxy establecerá una conexión con el servidor real y negociará otro canal con el cliente. Una vez que tengamos el tráfico en texto plano, podemos usar ICAP o podemos reflejar el tráfico descifrado al IDS.
La cantidad de recursos requeridos para este enfoque dependerá del número de usuarios que utilicen el proxy. Como la mayoría del tráfico en Internet es HTTPS, los requisitos de hardware para las funciones criptográficas (descifrar y cifrar para cada conexión) serán bastante costosos.
JA3 y JA3S (Huella digital de conexión)
El algoritmo JA3/JA3S toma una colección de configuraciones del “Client Hello” de SSL, como la versión de SSL/TLS, los conjuntos de cifrado aceptados, la lista de extensiones, las curvas elípticas aceptadas y los formatos de curvas elípticas. Para mayor compacidad, la cadena se cifra con MD5. JA3 está destinado a identificar al cliente y JA3S al servidor.
Malware Trickbot
- JA3 = 6734f37431670b3ab4292b8f60f29984 (Trickbot)
- JA3S = 623de93db17d313345d7ea481e7443cf (Respuesta del Servidor C2)
Malware Emotet
- JA3 = 4d7a28d6f2263ed61de88ca66eb011e3 (Emotet)
- JA3S = 80b3a14bccc8598a1f3bbe83e71f735f (Respuesta del Servidor C2)
JA3 fue creado en Salesforce por:
- John Althouse
- Jeff Atkinson
- Josh Atkins
Con este enfoque, no podremos analizar el tráfico cifrado, pero identificaremos que la conexión está relacionada con una actividad maliciosa.
Neverwave: extensión del navegador
Neverwave utiliza un enfoque completamente diferente. Es un complemento de navegador compatible con Google Chrome, Chromium, Microsoft Edge, Opera Browser, Brave y otros navegadores basados en Chromium. Detectará ataques en la etapa temprana del proceso de infección.
Como es un complemento, no necesita descifrar el tráfico, puede procesar los datos antes de que estén cifrados.
En este momento bloquea:
- Kits de explotación como GrandSoft, KaiXin, Magnigate/Magnitude, Purple Fox, RIG, Router… entre otros.
- Sitios comprometidos que pueden ser dañinos.
- Patrones de explotación genéricos relacionados con vulnerabilidades conocidas como CVE-2018-8174 o CVE-2018-8373, entre otros.
Para implementar esto, utilicé patrones de Emerging Threats, Snort y EKFiddle
Puedes instalarlo gratis en tu navegador compatible con Chromium desde la Chrome Web Store: