En diciembre de 2019 se publicó una encuesta en la que se reflejaba una tendencia al alza de las líderes tecnológicas en el uso de microservicios debido principalmente a la simplicidad y flexibilidad de este tipo de arquitecturas. Este incremento ha supuesto la aparición de una puerta más para que los atacantes puedan exponer a las compañías a diversas ciberamenazas; por ejemplo, a día de hoy se han observado ataques relacionados con el minado de criptomonedas a consecuencia de infecciones por malware o mediante root.

Los investigadores de Trend Micro han observado recientemente un nuevo modus operandi de los atacantes: un payload específicamente diseñado para salir de contenedores que corren con privilegios root manteniendo dicho nivel de acceso al sistema aún estando fuera del contenedor.

Durante la investigación se detectó que el atacante (o bot) usaba direcciones IP de Reino Unido y Francia para ejecutar un contenedor de Docker malicioso en el host. El punto de entrada del atacante es un script en bash llamado calm.sh, el cual descarga otro script más llamado cmd. Calm.sh llama a nginx, una aplicación falsa que en realidad se trata de un archivo ELF para minar criptomonedas. Los investigadores aluden a la posibilidad de que los atacantes hayan escogido el nombre «nginx» para evitar ser detectados, ya que dicho nombre se asocia habitualmente al servidor HTTP Nginx, pudiendo causar que las víctimas del ataque consideren esta actividad como algo normal.

El honeypot implementado por los investigadores fue detectado por un escáner de red que se ha vuelto bastante popular entre los atacantes que tienen como objetivo esta tecnología de contenedores: zgrab. El escáner elaboraba un mapa del contenedor con la API que estaba siendo expuesta, y se detectó que la conexión mostrada en la imagen a continuación era la que ejecutaba el contenedor malicioso en el sistema:

Imagen 1. Conexión que ejecuta el contenedor malicioso en la API expuesta
Fuente: Trend Micro

A partir de aquí, es la API la que, ejecutando el comando create, descarga una imagen llamada «gin» del registro. Una de las opciones usadas como parámetro para la ejecución era privilegiada (root), puesto que este es uno de los requisitos específicos para el ataque.

Pudiendo darse el caso en que la explotación fuese infructuosa, los atacantes implementaron una funcionalidad adicional que les permitía minar criptomonedas en un servidor vulnerable que no necesitase un contenedor con privilegios en el que ejecutarse.

Observando el aumento en el número de ataques que poco a poco van teniendo lugar contra este tipo de tecnologías, y los diversos métodos empleados por los atacantes, cabe decir que llevar a cabo un escaneo de vulnerabilidades en los contenedores no es suficiente: los equipos de seguridad deben, asimismo, contar con la posibilidad de que las imágenes contengan malware y/o exploits y llevar a cabo los correspondientes análisis para su detección.

Más información

Threat Actors Now Target Docker via Container Escape Features

Survey Sees Massive Adoption of Microservices

La entrada Docker: escapar de un contenedor manteniendo privilegios root se publicó primero en Una al Día.