Análisis técnico de las fases de Cobalt, la pesadilla para la red interna de un bancoElevenPaths 16 abril, 2018 Hace algunos días, un actor relevante del grupo de atacantes conocido como Cobalt/Carbanak (o incluso FIN7 para algunos) fue detenido en Alicante. Este grupo ha estado relacionado con distintas campañas contra instituciones bancarias que han provocado unas pérdidas sustanciosas mediante transferencias y retiradas fraudulentas de efectivo en cajeros automáticos. Vamos a ver algunos detalles técnicos del modus operandi de la última oleada, cómo funciona y algunas ideas sobre cómo mitigar el impacto dado el caso. El objetivo del grupo es el acceso a la infraestructura de la entidad financiera para conseguir el compromiso de los cajeros automáticos y retirar fraudulentamente de efectivo. Aunque parezca ciencia ficción, se hacen con el control de la red de cajeros hasta el punto de que pueden hacer que a una hora concreta, comience a soltar todo el efectivo que contiene. Basta con que el «mulero» se encuentre en ese momento frente al cajero para que el golpe se haga realidad. Más que en el análisis de la muestra, nos detendremos en los aspectos más interesantes de las fases del ataque. Objetivo 1: Ataque al inbox del usuario Este grupo emplea la técnica de «spear-phishing» o phishing dirigido. Se trata fundamentalmente de ingeniería social (requiere la interacción de un empleado) para lograr el compromiso de la red corporativa de la organización financiera. Las víctimas (probablemente seleccionados en una fase previa de inteligencia, en las que recolectan nombres y apellidos de trabajadores y los unen con una estructura conocida al dominio del banco) reciben correos electrónicos con adjuntos maliciosos que suplantan a compañías legítimas y autoridades regulatorias. Puede tratarse de correos muy elaborados, con informes de supuestas actualizaciones, alertas, etc. No son enviados de forma masiva en ningún caso, solo a un selecto conjunto de emails pertenecientes normalmente a un mismo dominio. En esta fase, pretenden pasar especialmente bajo el radar. El correo contiene normalmente un enlace web a un documento, esto es, un archivo con extensión .doc (que en realidad habitualmente es un RTF renombrado) alojado en un dominio comprado para la ocasión. Se sabe qué correos en anteriores campañas (e incluso las más recientes) están siendo enviados en esta oleada por un sencillo «mailer» creado en PHP. Habitualmente reconocible porque en su cabecera se añadirá el siguiente mensaje: X-PHP-Originating-Script: 0:alexusMailer_v2.0.php El consejo: mejorar la barrera perimetral típica anti-spam y anti-malware, realizar un sandboxing inteligente del correo, controlar los buzones de personas con privilegios, conocer qué información se filtra afuera, o incluso incluir la revisión controlada de ciertas cuentas para garantizar una mayor protección. Objetivo 2: Ejecución, la red interna Si la víctima ejecuta el fichero con Office vulnerable, comienza la infección. El fichero RTF aprovecha varias vulnerabilidades en Office (especialmente CVE-2017-8570, CVE-2017- 8570…. todas muy recientes) y en su ejecución, extrae a su vez varios tipos de ficheros. EXE, DLL, DOC, BAT y SCT (Visual Basic Script). Cada uno tiene una función: inyección en memoria, descarga de otro payload (SCT), borrado de pruebas (BAT) y el DOC es un documento inocuo con información que solo sirve para «distraer» al usuario. De hecho, se llama «decoy.doc». De lo más curioso son las llamadas SCT, que en realidad esconden una llamada asíncrona para descarga y ejecución del ejecutable que de verdad desencadenará la infección (en los casos en los que no los lleven incrustados los propios documentos). Parte del código de uno de los BAT descargados por el RTF Otro asunto muy curioso es el hecho de utilizar ficheros .BAT para el «control de flujo» de ejecución. El código es bastante autoexplicativo: la intención es que el fichero block.txt haga de «mutex» para que el usuario no lance dos veces el RTF mientras se descargan los payloads, y así no se comporte de forma errática. El caso es que gracias a esto, es posible crear una especie de vacuna sencilla para esta y quizás otras oleadas. Por ejemplo con este código: copy /y nul «%TMP%block.txt» icacls %TMP%block.txt /deny *S-1-1-0:W /T copy /y nul «%TEMP%block.txt» icacls %TEMP%block.txt /deny *S-1-1-0:W /T Es muy simple e inocuo crea un fichero block.txt sin permiso de borrado para nadie. No es lo más elegante e incluso puede ser eludido por el malware, pero como decimos, resulta bastante inocuo. Los RTF son creados con herramientas que se venden en el mercado negro, en las que se define la vulnerabilidad y los ficheros incrustados, y realizan todo el trabajo de composición. Como dato interesante, no crean un RTF que sea consistente con las especificaciones. Los RTF creados que vienen en el correo tienen esta cabecera. «{rt «, «{rt » o «{rt1» Cuando la cabecera debería ser «rtf1». Esto es a causa de esa herramienta de creación de exploits o de inclusión de payloads en RTF. En ella también se usa a veces el dominio test1.ru para estadísticas, pero no tiene función relevante. El consejo: En esta fase, obviamente lo más interesante es disponer de un sistema completamente actualizado (en especial el Office) y unos usuarios correctamente entrenados. Medidas adicionales de seguridad en profundidad (bastionado de Windows específico, detector de malware, EDR, etc.) también son de ayuda. Filtrado web y una buena política de consumo de IOCs para también usar de forma inteligente los datos que ya se puedan llegar a conocer. Código ejemplo real de los SCT que puede a llegar a extraer el RTF. En él se observa la descarga de un ejecutable Objetivo 3: Control de servidores interesantes Los «implantes» se inyectan en el sistema para poder ser controlados de forma remota a través de una llamada a casa. En estos casos, los dominios y comandos utilizados corresponden a herramientas tipo RAT. Los IDS, filtros de proxies, etc. deberían realizar su trabajo. En estos casos concretos, una vez tienen el control de un sistema cualquiera en la red bancaria interna, los atacantes se adaptan en lo que pueden a su entorno, y su actuación depende de las facilidades que les brinden. Se realiza un (obvio) movimiento lateral por la red buscando algún servidor de control de cajeros automáticos. Para conseguirlo se usarán movimientos laterales estándar (mimikatz, pass the hash, elevación de privilegios en directorio activo…) buscando conexiones hacia estos servidores (por ejemplo, Terminal Server) que les interesan. También, es posible que creen usuarios en varias máquinas para elevar privilegios o pasar desapercibidos de forma más cómoda. Esta fase puede durar semanas. Una vez localizado el servidor que puede llegar a permitir el control de cajeros, se implantará el «beacon«, en forma de servicio, para poder ser controlado por el atacante. Se trata de una especie de meterpreter para control remoto, que de nuevo, permite el acceso del atacante y realizará, por tanto, conexiones con el exterior que deberían ser detectadas a través de logs, dominios, etc. En realidad, está basado en CobaltStrike, una herramienta comercial para crear este tipo de herramientas de ataque y control remoto. De hecho, hace poco ha aparecido una nueva versión. El consejo: Una red bien vigilada y segmentada. Correlación adecuada de eventos de seguridad y sobre todo, control de privilegios. Conclusiones Métodos tradicionales mezclados con sistemas más modernos para conseguir control de alguna máquina interna, y de ahí, a manejar un cajero automático. No es ciencia ficción. Como tampoco lo es la posibilidad de protegerse adecuadamente. Como hemos visto (si no en un punto podría ser en otro) existen numerosos métodos con los que combatir este tipo de amenazas, por muy sofisticadas que parezcan, siempre y cuando se entiende la amenaza y se maneja la información adecuada en cada fase del ataque. Nada extraordinariamente nuevo, realmente, pero sí un grave problema a tener en cuenta. Sergio de los Santos Equipo de Innovación y Laboratorio ssantos@11paths.com @ssantosv DirtyTooth se hace mayor con un nueva página en Wikipedia#CyberSecurityPulse: De los bug bounties (tradicionales) a los data abuse bounties
Telefónica Tech Boletín semanal de Ciberseguridad, 18 – 24 de marzo HinataBot: nueva botnet dedicada a ataques de DDoS El equipo de investigadores de Akamai ha publicado un informe en el que señala que han identificado una nueva botnet denominada HinataBot que dispondría...
Telefónica Tech Qué es el Esquema Nacional de Seguridad (ENS 2.0) La Ciberseguridad, la privacidad y la protección de los datos y de la información sensible son aspectos cada vez más importantes en la sociedad actual. Tanto para empresas y...
Nacho Palou 5G: cuatro casos de uso reales y prácticos El último informe “La Sociedad Digital en España 2022” [1] de Fundación Telefónica confirma la consolidación de los procesos de digitalización en la sociedad española. En este sentido, cabe...
Susana Alwasity Ciberseguridad: eventos “cisne negro” en un mundo conectado En la sociedad actual, la tecnología ha transformado la forma en que vivimos, trabajamos y nos relacionamos. Con el aumento del uso de dispositivos y redes conectados a internet,...
Telefónica Tech Boletín semanal de Ciberseguridad, 11 – 17 de marzo Nueva versión del troyano bancario Xenomorph Investigadores de ThreatFabric han detectado una nueva variante del troyano bancario para Android Xenomorph. Esta familia de malware fue detectada por primera vez en febrero...
Gonzalo Álvarez Marañón Matemáticas contra el cibercrimen: cómo detectar fraude, manipulaciones y ataques aplicando la Ley de Benford Cómo aplicar la ley de Benford para luchar contra el cibercrimen. La respuesta, en este post que utiliza las matemáticas para ayudar a la ciberseguridad.