Imagina si el Imperio hubiera sabido que había una falla en el puerto de escape térmico de la Estrella de la Muerte. ¿Cómo cambiaría esto los eventos de la historia de SW? Este dato crítico les habría permitido tomar decisiones informadas, tal vez instalar algunos escudos deflectores para proteger esta pieza crucial de infraestructura. Al final, los eventos del Episodio IV habrían ocurrido de manera muy diferente. Aunque ninguno de nosotros puede justificar las acciones del Imperio, sin duda hay una lección que podemos sacar de esta épica saga.
¿Qué es External Recon?
External Recon destaca los puertos y servicios abiertos que están expuestos a Internet, como RDP o SMB. Cuando están expuestos, estos servicios son puntos de entrada ideales para que los atacantes lancen sus ataques; vemos que esto sucede una y otra vez.
Debemos recordar que los atacantes tienen que empezar por algún lado. ¿Cómo deciden a quién atacar después? Al estudiar el comportamiento de los atacantes, un tema común que vemos una y otra vez es el escaneo de servicios abiertos en la red pública. Incluso una simple búsqueda de RDP en Shodan muestra varias pantallas de inicio de sesión de servidores Windows. Los atacantes siempre buscan de forma oportunista un objetivo fácil, escanean puertos en busca de servicios externos y usan la fuerza bruta para entrar.
Si estas exposiciones existen, ¿cómo podemos ponerlas en evidencia para que se puedan tomar decisiones informadas y mejorar la postura de seguridad? Con External Recon, el objetivo es dar más visibilidad para orientar decisiones y acciones de seguridad clave, ayudando a responder las siguientes preguntas:
- ¿Cómo puedo ver si mis clientes tienen exposiciones externas críticas?
- ¿Puedo recibir una notificación cuando un cambio afecta la superficie de ataque externa?
- Cuando empiezo a trabajar con un nuevo cliente, ¿qué tan rápido puedo identificar una posible exposición?
Algo importante que hay que notar sobre estos servicios expuestos es que, a menudo, forman parte del funcionamiento normal del sistema, pero son vulnerables al estar expuestos. Para seguir con nuestra humilde analogía, estos servicios son como nuestro puerto de escape térmico: también muy vulnerable, pero necesario para eliminar el exceso de calor del núcleo del reactor de la Estrella de la Muerte. Con External Recon, tener visibilidad de estos servicios expuestos no significa necesariamente que deban eliminarse o desactivarse; simplemente significa que se deben tomar medidas adicionales para proteger esos servicios críticos, como políticas de firewall más estrictas o incluso autenticación multifactor.
¿En qué se diferencia External Recon de un escaneo de vulnerabilidades o una prueba de penetración?
En cualquier evaluación de una superficie de ataque, hay innumerables áreas por cubrir, y cada una puede analizarse con distintos niveles de profundidad. Con el escaneo de vulnerabilidades, el enfoque suele estar en la evaluación automatizada. Por ejemplo, el escaneo de vulnerabilidades puede revisar servicios abiertos mediante la enumeración de puertos, buscando servicios disponibles externamente que den acceso a ciertas aplicaciones. Luego pueden examinar esa aplicación para obtener información de versión y compararla con versiones conocidas como vulnerables, o incluso buscar configuraciones incorrectas de la aplicación.
Las pruebas de penetración van un paso más allá, pues ponen a personas detrás de estas pruebas también; básicamente, se ponen el sombrero blanco para ver hasta dónde pueden llegar y sacar a la luz vulnerabilidades muy profundas. Hay decenas de elementos que podrían revisarse al analizar la superficie de ataque externa. Un escaneo de vulnerabilidades completo y bien estructurado, o una prueba de penetración, no solo destacará algunas de estas exposiciones, sino que también dará una probabilidad de ocurrencia (o una puntuación de criticidad) para priorizar y resaltar los problemas más urgentes.
External Recon no reemplaza un escaneo de vulnerabilidades ni un informe de prueba de penetración que se realice a intervalos regulares o por motivos de cumplimiento. Se enfoca en el escaneo continuo de exposiciones de alto nivel para destacar cuándo se descubren nuevos vectores de ataque y así acelerar la respuesta.
¿Con qué frecuencia volverá a escanear External Recon?
Con esta primera versión de External Recon, usamos un servicio de terceros llamado Shodan para ayudarnos a recopilar esta información. Por el momento, simplemente mostramos la información que recibimos según el escaneo solicitado. Aunque tenemos la capacidad de volver a escanear, no tenemos control sobre cuándo ocurre esto. Estamos desarrollando activamente nuevas soluciones para complementar los datos que recibimos de Shodan y ofrecer resultados más oportunos.
¿Cómo cambiará el Agent para adaptarse a External Recon?
Con esta versión de External Recon, nada cambia en el agente para que Huntress pueda ofrecer visibilidad de los servicios expuestos. Cuando el agente envía metadatos relacionados con la persistencia (como siempre lo ha hecho), Huntress puede capturar la dirección IP pública desde donde el agente está llamando. Luego, esa dirección IP pública se escanea con Shodan para determinar qué servicios están abiertos en esa IP pública.
¿Puedo saber qué endpoint tiene servicios expuestos en ejecución?
Dada la forma en que están configuradas la mayoría de las redes, no hay manera de identificar el endpoint específico desde donde se origina el puerto abierto. Para explicar esto, retrocedamos un poco y veamos qué es NAT (traducción de direcciones de red).
Uno de los usos más importantes de NAT es conservar el espacio de direcciones IPv4 públicas; al asignar rangos de IP específicos para uso interno privado, esas IP se pueden reutilizar de una red a otra. En la mayoría de los casos, hay varias IP internas que se asignan a una sola IP pública “global”, y es responsabilidad del firewall perimetral saber qué conexiones salientes a Internet están vinculadas a endpoints internos específicos.
External Recon imita la forma en que un atacante escanearía las IP públicas en busca de servicios abiertos. Así es como funciona:
- Cuando el agente de Huntress se comunica con la nube de Huntress, Huntress captura la dirección IP pública desde donde está llamando.
- Se recopila una lista de direcciones IP públicas de todos los agentes de la organización, y el servicio External Recon, alojado en la nube, las escanea, no el agente en sí.
- Los servicios que se descubren abiertos y disponibles a través de las direcciones IP públicas se reportan luego al panel de External Recon de Huntress.
Debido a que External Recon adopta la perspectiva de un atacante externo, no puede vincular esta información con la IP interna del endpoint interno que ejecuta activamente el servicio; en la mayoría de los casos, la tabla de relaciones NAT administrada por el firewall perimetral o el router guarda y mantiene esa información.
Además, hay otros factores que considerar. Por un lado, varios equipos internos pueden tener exactamente el mismo servicio en ejecución (es decir, RDP 3389, ver diagrama). Una vez más, son las reglas del firewall perimetral las que deciden qué equipo interno expone realmente ese servicio a través de la IP pública externa.
¿Qué sigue para External Recon?
Sabemos mucho sobre cómo los atacantes tienen éxito al lanzar sus ataques. Al filtrar días, semanas y meses de investigación práctica de amenazas, hemos identificado algunos de los vectores de ataque más comunes y comenzamos con los puertos de servicio abiertos expuestos a Internet. Como parte de nuestra Huntress Security Platform, una respuesta más rápida y específica a través de la iteración es clave. Queremos seguir iterando nuestros servicios según cómo cambian las amenazas, qué funciona o no, y la retroalimentación de nuestros partners, mientras refinamos y mejoramos constantemente la defensa de seguridad.
El futuro está bastante abierto y hay muchas direcciones diferentes que podemos tomar para iluminar la superficie de ataque externa. Existen posibilidades que van desde rastrear filtraciones de contraseñas encontradas en la dark web hasta escanear la información de registro de dominios en busca de nombres de usuario y números de contacto. Empezar en pequeño con el monitoreo de puertos de servicio nos ayuda a entender qué funciona y qué no para nuestros partners, y no tenemos intención de detenernos aquí.