Ir al contenido
Únase a Censys el 10 de septiembre de 2024 para nuestro Taller de Caza de Amenazas en San Francisco, CA | Regístrese ahora
Blogs

Where the Weird Things Are 🛸 Investigación de artefactos inusuales de Internet con datos de búsqueda en Censys

Introducción

El otro día, encontré algo raro en Internet. Un clúster de hosts estaba ejecutando un servicio no reconocido - todos en el puerto 55555, todos en un sistema autónomo, y todos con el mismo críptico banner de servicio de dos caracteres.

Una extraña combinación de características

Se trata de algo inusual -sobre todo por este singular mensaje-, pero no sorprendente. Internet es un lugar grande y extraño. A veces, indagando, encontramos cosas que parecen extrañas: un grupo de dispositivos que de repente se desconectan, paneles de control en Internet sin autenticación, software que dice ser una versión cuando en realidad es otra. A primera vista, es demasiado pronto para decir si estos fenómenos son benignos o algo preocupante. Por eso es fundamental contar con una herramienta que permita recabar rápidamente más información.

En este artículo te mostraré cómo hacerlo utilizando Censys Search.

 

Recapitulemos: ¿Qué hace Censys ?

Para refrescar la memoria, Censys es una plataforma líder en el descubrimiento de activos de Internet. Censys mantiene la visión más completa de la Internet pública en el mundo mediante el escaneo continuo de todo el espacio público de direcciones IPv4 a través de más de 3.592 puertos desde múltiples perspectivas globales. Utiliza la detección automática de protocolos para identificar los servicios que se ejecutan en cada puerto, como HTTP, SSH, etc. Consulte esta guía más detallada sobre cómo Censys escanea Internet.

Censys La búsqueda es una gran herramienta para descubrir artefactos de Internet. Ofrece una interfaz intuitiva para nuestros conjuntos de datos Hosts y Certificados, muy adecuada tanto para navegar a vista de pájaro como para profundizar en la búsqueda de una aguja en el pajar. En este artículo nos centraremos en el conjunto de datos Hosts.

 

Evaluación de la "rareza" de una observación

Vale, has encontrado algo raro. Como cualquier buen espeleólogo de Internet, necesitas una especie de mapa sobre cómo llevar a cabo tu investigación. Aquí tienes una lista rudimentaria de preguntas que podrían ayudarte a entender qué es esa cosa rara:

  1. ¿Hasta qué punto está extendida esta observación? ¿Cuántos huéspedes presentan estas características?
  2. ¿En qué sistemas autónomos están distribuidos estos hosts?
  3. ¿En qué regiones geográficas se encuentran estos anfitriones?
  4. ¿Qué otros servicios están ejecutando estos hosts?
  5. ¿Hubo un pico en el número de hosts activos que mostraban estas características en un día determinado?

Mientras que las cuatro primeras preguntas pueden responderse utilizando Censys Search, la quinta requiere que ampliemos nuestro conjunto de herramientas. Necesitaremos acceder a instantáneas del Conjunto Universal de Datos de Internet en Google BigQuery. Vamos a abordar estas preguntas por orden en las siguientes secciones.

 

Evaluar el alcance

Censys La búsqueda facilita la determinación rápida de la huella pública de un fenómeno de Internet.

Cada host concreto de Censys Search contiene información detallada sobre su dirección IPv4, sistema autónomo, puertos abiertos, servicios que se ejecutan en esos puertos y mucho más. Estos atributos también son entidades en las que se pueden realizar búsquedas. Por ejemplo, podríamos buscar todos los hosts detectados ubicados en Irlanda que estén ejecutando SSH. (Véase la documentación de todos los campos busc ables que se rellenan para cada host).

Cuando nos enfrentamos a montones de datos, queremos centrarnos en los atributos que hacen que nuestro anfitrión observado sea "raro" para poder centrarnos en ellos. He aquí algunos que suelen ser útiles:

  1. puerto.servicio
  2. servicios.nombre_servicio
  3. servicios.banner
  4. sistema_autonomo.nombre

Volviendo a nuestra primera pregunta de investigación:

???? P1: ¿Cuántos anfitriones presentan estas características?

Podemos hacer frente a esto escribiendo una consulta de búsqueda en Censys que obtendrá todos los hosts que coincidan con esas características. Junto con los hosts coincidentes, la búsqueda también devolverá el número total de resultados, el tiempo que se tardó en obtenerlos y un desglose de los resultados por algunos filtros básicos.

En mi caso, quería filtrar los hosts con una combinación específica de sistema autónomo, puerto, servicio y mensaje de banner. Mi consulta de búsqueda en Censys tenía este aspecto:

autonomous_system.asn=ASNx
AND same_service(service.port=PORTx
AND services.service_name='UNKNOWN'
AND services.banner=’BANNERx’
AND services.truncated=`false`)

(saltos de línea añadidos para mayor claridad)

Si añade el práctico services.truncated=false al final de la consulta, excluirá cualquier host que esté ejecutando más de 100 servicios, lo que a menudo puede ser un marcador de honeypots o pseudo servicios. Para obtener más información sobre el campo truncado, consulta las Preguntas frecuentes sobre búsquedas.

Utilizar ":" en lugar de "=" es la sintaxis para ejecutar una búsqueda "difusa" que no requiere una coincidencia exacta. Es la mejor opción cuando sólo se dispone de una palabra clave o un fragmento de texto. Para obtener más información sobre cómo escribir consultas de búsqueda bien formadas en Censys , consulta la documentación de búsqueda y algunos ejemplos de consultas de host.

La consulta tardó 0,34 segundos y arrojó 303.311 resultados:

En el gran esquema de las cosas, no es un número enorme de hosts... pero tampoco es un número pequeño. Sigamos con nuestra lista de preguntas.

 

Caracterización de un espacio IP

Ahora que tenemos una lista fácilmente indexable de todos nuestros hosts "raros", podemos profundizar en sus otras características utilizando la función Informes de la interfaz de búsqueda de Censys .

Los informes ofrecen una forma sencilla de ver un desglose de los resultados de búsqueda, lo que nos permite ver cómo se comparan entre sí los resultados de búsqueda en función de un atributo específico. Para acceder a él, basta con hacer clic en la pestaña Informe situada en la esquina superior derecha de la página de resultados de búsqueda.

???? P2: ¿En qué sistemas autónomos están distribuidos estos hosts?

Podemos obtener fácilmente un desglose de nuestros hosts "raros" por sistema autónomo generando un informe y especificando el atributo autonomous_system.name o autonomous_system.asn como Campo de Desglose.

???? P3: ¿En qué regiones geográficas se encuentran estos hosts?

Idem a lo anterior, salvo que ahora podemos establecer nuestro campo de desglose en cualquiera de los atributos del campo de ubicación, dependiendo de si queremos investigar a escala de ciudades, países, continentes, etc:

???? Q4: ¿Qué otros servicios están ejecutando estos hosts?

Cada servicio que se ejecuta en un host se captura mediante el atributo services.service_name. Genera un informe con este atributo establecido como campo de desglose para obtener más información, teniendo en cuenta que puede haber varios servicios ejecutándose en un host. Esté atento a cualquier servicio que sea particularmente conocido por ser explotado con frecuencia por los actores de amenazas, como SMB, RDP y FTP.

Aquí está nuestro informe:

En la parte superior, vemos que la friolera del ~99% de nuestros hosts raros están ejecutando algún servicio etiquetado como "UNKNOWN". ¿Qué significa eso?

Censys puede detectar 105 protocolos de Capa 7 (también conocidos como servicios). Aunque estas técnicas de detección automática de protocolos son bastante sofisticadas, a veces no son concluyentes, ya sea porque el servicio no se adhiere al protocolo de alguna manera o porque no tenemos un escáner específico de protocolo escrito para él. Cuando el escáner no es capaz de reconocer el servicio que se ejecuta en un puerto concreto, lo clasifica como UNKNOWN. Podría ser interesante profundizar en lo que estos UNKNOWNs podrían ser, pero la presencia de ellos normalmente no es un indicador de nada sospechoso por sí mismo.

Bajando por el informe, HTTP es el segundo servicio más comúnmente representado. Esto es lógico, ya que HTTP constituye la mayoría de los servicios que vemos en los datos de análisis de Censys.

Escaneando toda la lista, parece que hay un puñado de hosts ejecutando FTP, SMB y RDP. Esto justifica un poco más de investigación. Haz clic en cualquiera de las celdas del informe para ir a los resultados de la búsqueda en Censys de ese subconjunto de hosts. Examina varios de los resultados, buscando en sus cuerpos de respuesta HTTP, mensajes de banner, certificados TLS y versiones de software cualquier cosa que parezca rara. ¿Hay elementos JavaScript sospechosos? ¿Certificados caducados o autofirmados? ¿Software asociado a CVE conocidas? No se trata de un análisis exhaustivo, pero se ajusta a nuestro objetivo de hacernos una idea rápida de a qué nos enfrentamos.

En general, no he encontrado nada manifiestamente preocupante. Pasemos a la siguiente pregunta.

 

Análisis de tendencias históricas

Visualizar las fluctuaciones en el número de hosts activos que coinciden con estas características a lo largo del tiempo es otra pieza clave de información. Un aumento o disminución significativo de hosts en un día determinado podría indicar una serie de eventos sospechosos, por ejemplo, el posible inicio de un incidente de amenaza.

???? P5: ¿Hubo un pico en el número de hosts activos que mostraban estas características en un día determinado?

Para responder a esta pregunta, tendremos que ir más allá de la API y la interfaz de usuario web de Censys Search. Las búsquedas ejecutadas en estas plataformas siempre se realizan en los hosts de la instantánea más reciente del conjunto de datos universal de Internet de Censys. Para obtener datos históricos, tenemos que ejecutar nuestra consulta en las instantáneas de varios días.

En cualquier página de host de la interfaz de búsqueda, si navegas a la pestaña Historial verás una cronología histórica de los eventos, pero las búsquedas que utilizan el historial no son compatibles actualmente. Los datos históricos pueden extraerse ejecutando consultas SQL a través de la interfaz BigQuery de Google. Los clientes empresariales que descarguen o accedan a instantáneas diarias en BigQuery pueden buscar en Internet tal y como se observó en Censys en un momento histórico.

La siguiente consulta SQL cuenta todas las direcciones IPv4 únicas con servicios que coinciden con nuestros criterios de búsqueda entre el intervalo de dos fechas, agrupadas por cada día. La función LAG() calcula aquí la diferencia en el número de hosts de un día a otro.

Los criterios de la cláusula WHERE de la consulta SQL tendrán una sintaxis similar a la de nuestra consulta anterior Censys Search.

WITH
active_hosts AS (
SELECT
DATE(snapshot_date) AS day,
APPROX_COUNT_DISTINCT(host_identifier.ipv4) AS ipcount
FROM
`censys-io.universal_internet_dataset.universal_internet_dataset`,
UNNEST(services) AS svc
WHERE
autonomous_system.asn=ASNx
AND svc.port=PORTx
AND svc.service_name = 'UNKNOWN'
AND SAFE_CONVERT_BYTES_TO_STRING(svc.unknown.banner)=’BANNERx’
AND svc.truncated=`false`
AND DATE(snapshot_date) BETWEEN '2022-05-01' AND '2022-06-14'
GROUP BY
day
ORDER BY
day
)
SELECT
day,
ipcount,
ipcount - LAG(ipcount) OVER (ORDER BY day ASC) AS delta
FROM
active_hosts
GROUP BY
day,
ipcount
ORDER BY
day

También puede ser útil comparar las tendencias de los hosts "raros" con las tendencias de un subconjunto más amplio de hosts, como el país o la industria en general. En mi caso, quería analizar las tendencias en todos los hosts activos bajo este sistema autónomo en particular. Para ampliar el grupo de hosts de los que se extraen datos históricos, ajuste los filtros de la cláusula WHERE en la consulta SQL anterior:

WHERE
autonomous_system.asn=ASNx
AND DATE(snapshot_date) BETWEEN '2022-05-01' AND '2022-06-14'

Esta visualización no nos será muy útil hasta que sepamos atribuir un significado a los patrones que vemos. 

Cuando observamos las fluctuaciones de los hosts de Internet, hay algunas cosas que deberían hacernos saltar las alarmas. Cualquier tipo de cambio grande y repentino en los datos es sospechoso, como un gran pico o caída en un día concreto. El primero podría indicar el escalamiento de algo malicioso, mientras que el segundo podría representar problemas de conectividad como una interrupción, un mantenimiento programado o un incidente de seguridad. Además, presta atención a cualquier patrón en una línea de tendencia que no se refleje en las demás. Estas anomalías podrían indicar que algo no intencionado está ocurriendo en esas máquinas. 

Hagamos algunas observaciones iniciales de nuestro gráfico:

  • Las tendencias de nuestros hosts "raros" son bastante similares a las de todos los hosts de este sistema autónomo. 
  • A principios de mayo se produce un bache en los datos, pero es relativamente pequeño (~50 000 de aumento) y gradual, ya que dura más de una semana. 
  • A continuación se producen dos descensos, pero ambos son bastante leves y tienen lugar a lo largo de varios días. 
  • Obsérvese el aumento continuo de ambas líneas de tendencia a partir de mediados de mayo y hasta junio.

 

Conclusión: raro, pero no malicioso

A partir de este breve análisis, parece más probable que los hosts "raros" no sean nada explícitamente malicioso. La similitud entre las dos líneas de tendencia y el ritmo relativamente lento de los cambios en nuestra visualización de datos históricos sugieren que estos hosts pueden formar parte del escalado previsto de la infraestructura de esta red. Todavía existe la posibilidad de que se trate de algo malicioso, ¡pero ahora tenemos una hipótesis sólida sobre la que informar! 

Recuerda que Internet es un lugar GRANDE, extraño y en constante cambio. Con unas pocas herramientas, hemos podido comprender una pequeña parte de este ciberespacio. Si se sabe qué preguntas hacer, los datos de búsqueda de Censys pueden ayudar a tender un puente hacia los conocimientos que las responden. Ahora disponemos de un valioso trampolín para explorar más a fondo este fenómeno. 

 

Resumen

Censys La búsqueda es una herramienta inestimable tanto para investigadores de seguridad experimentados como para aficionados a la hora de investigar cuestiones sobre Internet. Consulte la Guía de inicio rápido de Search 2.0 para obtener información más detallada sobre la interfaz web de Búsqueda.

Recuerda: si ves algo raro, sigue el rastro. Nunca se sabe lo que se puede descubrir. ¡Feliz espeleología!

Sobre el autor

Himaja Motheram
Investigador de seguridad
Himaja Motheram es investigador de seguridad en Censys y trabaja para responder a preguntas interesantes sobre Internet utilizando los datos de búsqueda de Censys .
Soluciones de gestión de la superficie de ataque
Más información