Introducción
Cuando uno se imagina un ciberataque sofisticado, a menudo le vienen a la mente sucesos como exploits de día cero, rootkits personalizados, organizaciones criminales y un don para la ingeniería social. Sin embargo, la mayoría de las veces, un ataque sofisticado es una combinación de experiencia técnica, mucha paciencia, persistencia y una pizca de pura suerte. Esencialmente, encontrar una aguja en el proverbial pajar.
Cuando se trata de seguridad informática y de redes, un refrán común es que muchas organizaciones grandes y pequeñas por igual tienen un caparazón exterior duro y un interior blando y pegajoso. A un atacante le resultará más fácil infiltrarse en la totalidad de una red si ya tiene un punto de apoyo en la zona de seguridad de confianza de una empresa.
En agosto de 2021, un pirata informático obtuvo y vendió una base de datos de más de 50 millones de clientes actuales y potenciales de T-Mobile, según informó el Wall Street Journal. Lo más chocante es que toda esta situación podría haberse evitado con una supervisión proactiva adicional.
Utilizando varias técnicas, el hacker de T-Mobile erosionó las capas externas de seguridad y, en una semana, se había introducido en las redes internas de T-Mobile. Sin embargo, si no hubiera sido por un único router expuesto involuntariamente y no autenticado, el resultado de esta historia podría haber sido drásticamente diferente.
Como ingenieros, CISO y responsables de TI, centramos nuestra atención y energía en los riesgos potenciales con los que, como usuarios finales, interactuamos directamente (el software que se ejecuta en los servidores web, el sistema operativo que ejecuta el servidor web y la autorización y autenticación utilizadas para acceder a estos sistemas), olvidando a menudo los elementos que se encuentran entre Internet y estos dispositivos de cara al público.
Los puntos débiles más importantes de una red son las áreas con menos visibilidad y los dispositivos que tanto el tiempo como los humanos tienden a olvidar. Un simple error de configuración puede exponer inadvertidamente una flota de conmutadores a Internet o dejar abierta la interfaz de gestión de un router. Un error en una regla de cortafuegos puede exponer un conjunto de dispositivos fuera de banda conectados en serie a la Internet global o filtrar directorios de sistemas de archivos sensibles al mundo.
Censys se propuso determinar si este tipo de exposición era un hallazgo aislado o un indicador de un problema más importante y oculto. ¿Existen grandes cantidades de dispositivos conectados a Internet con interfaces administrativas de línea de comandos que se configuraron por error y se instalaron sin autenticación? Al ahondar en estos rincones oscuros de Internet, ausentes de las miradas indiscretas de los sistemas de supervisión corporativos estándar, podemos encontrar un mundo en el que si tienes una idea general de lo que estás buscando, puedes ser capaz de encontrar más de lo que necesitabas para empezar a astillar el duro exterior de una red supuestamente segura y privada.
¿Cuál es el problema?
El objetivo de esta investigación era encontrar servicios no autenticados que permitieran a los usuarios gestionar un dispositivo de forma remota a través de telnet. Estos dispositivos podrían permitir a un atacante desplazarse lateralmente a zonas de confianza dentro de una red, inspeccionar el tráfico y, potencialmente, modificar o eludir las políticas de seguridad.
Normalmente, cuando un cliente se conecta a un servicio de gestión remoto basado en telnet, el servidor responderá con un mensaje de banner informativo seguido de un aviso de inicio de sesión a la espera de que el cliente se autentique. Una vez autenticado, el servidor creará una sesión interactiva en la que el cliente podrá emitir comandos para ejecutar en el dispositivo.
Mediante la construcción de un conjunto de consultas de búsqueda para que coincida con los banners de telnet que no contienen un indicador de inicio de sesión, pero tienen indicaciones de un indicador de shell hacia el final del banner, se puede distinguir fácilmente los servicios mal configurados y no autenticados de los dispositivos con una configuración adecuada.
Bigquery (Censys clientes de datos empresariales):
SELECT
host_identifier.ipv4,
svc.port,
autonomous_system.asn,
autonomous_system.name,
location.country_code,
SAFE_CONVERT_BYTES_TO_STRING(svc.telnet.banner) AS banner,
FROM
censys-io.universal_internet_dataset.universal_internet_dataset,
UNNEST(services) AS svc
WHERE
DATE(snapshot_date) = '2021-12-01'
AND svc.telnet.banner IS NOT NULL
AND svc.service_name = "TELNET"
AND NOT REGEXP_CONTAINS(SAFE_CONVERT_BYTES_TO_STRING(svc.telnet.banner), r'(?i).*(user|username|login as|user name|login|password|account).*?[:>]')
AND REGEXP_CONTAINS(SAFE_CONVERT_BYTES_TO_STRING(svc.telnet.banner), r'(#|>|\$) ?$')
Search (Censys clientes de búsqueda empresarial):
same_service(not services.telnet.banner: /.*([Uu]ser|[Uu]sername|[Ll]ogin as|[Uu]ser name|[Ll]ogin|[Pp]assword|[Aa]ccount).*?[:>]/ and services.telnet.banner=/.*(#|>|$) ?/)
En el momento de escribir estas líneas, Censys descubrió que más de 17.000 servicios conectados a Internet mostraban signos de un dispositivo gestionable remotamente que no requiere autenticación. Desde routers y conmutadores hasta root shells y consolas de depuración, pasando por programadores de trabajos esotéricos, la capacidad de conseguir un control inicial en una red es trivial cuando las puertas del reino no tienen cerradura.
La mayoría de estos servicios no autenticados se localizan geográficamente en China (con 4.651 servicios), Corea del Sur (con 2.363 servicios) e Israel (con 1.816 servicios), seguidos de cerca por Estados Unidos, con algo menos de 1.700 resultados.
Además, Censys dio a cada resultado de este hallazgo un "Nivel de privilegio estimado", que indica el nivel de acceso que tendría un atacante una vez conectado al dispositivo. Este nivel de categorización ofrece al lector un resumen rápido de los posibles movimientos laterales de un atacante una vez conectado al servicio en cuestión.
NIVEL DE PRIVILEGIO ESTIMADO |
DESCRIPCIÓN |
RECUENTO DE SERVICIOS |
ANÓNIMO |
Niveles de privilegios en dispositivos no autenticados, como servidores de rutas públicos, MUD y BBS. |
42 |
RAÍZ |
Un nivel de privilegio administrativo como el modo de configuración en un enrutador o un shell raíz expuesto en un servidor. |
5,506 |
USUARIO |
Nivel de privilegio en un dispositivo que contiene acceso a nivel de usuario, como un enrutador que no está en modo de configuración o un indicador de shell que indica un usuario distinto de UID-cero. |
5,115 |
DEBUG |
Nivel de privilegio destinado a depurar una función específica, normalmente asociado a un intérprete de comandos de acceso limitado. |
1,460 |
DESCONOCIDO |
Un nivel de privilegio en un dispositivo con características similares a un shell, pero no se disponía de información suficiente para validarlo. |
6,300 |