Error en configuración de servicios Docker permite ataque de cryptojacking

Un conjunto de scripts compromete la seguridad de los servicios Docker

Acorde a reportes de especialistas en ciberseguridad y forense digital del Instituto Internacional de Seguridad Cibernética, los hackers maliciosos que buscan una forma fácil de minar criptomoneda sin el consentimiento de los usuarios están atacando activamente a los servicios de Docker expuestos públicamente. Acorde a los especialistas, los hackers utilizan un script malicioso capaz de escanear la red en busca de hosts vulnerables y comprometerlos.

El punto de entrada es el puerto TCP 2375 o 2376, el valor predeterminado para acceder al servicio Docker de forma remota a través de las API de administración REST, que permiten crear, iniciar y detener contenedores. A menos que se configure de otro modo, ambos puertos proporcionan comunicación sin cifrar y no autenticada.

Según los especialistas en forense digital, los contenedores Docker son muy populares porque permiten la virtualización en el nivel del sistema operativo. Esto permite ejecutar aplicaciones en un entorno virtual más ligero, completo con todas las dependencias que necesitan.

Los investigadores de una firma de ciberseguridad descubrieron que los cibercriminales están aprovechando los servicios Docker mal configurados para agregar sus propios contenedores, mismos que ejecutan un script de minería de Monero.

La infección se propaga automáticamente a través de scripts y utilidades ya existentes en el sistema atacado, en una táctica conocida por los expertos en forense digital como “vivir de la tierra”. Entre estos scripts y utilidades se encuentran Docker, wget, cURL, Bash, iproute2, MASSCAN, apt-get, yum, up2date, pacman, dpkg-query y systemd.

Acorde a la investigación realizada por esta firma, una vez que el atacante llega a un host Docker vulnerable, inicia un contenedor y ejecuta comandos para descargar e iniciar ‘auto.sh’, un script que ayuda a extender la operación. También verifica el sistema en busca de paquetes específicos y descarga los que faltan para continuar la proliferación a otros hosts.

El script ‘auto.sh’ también es responsable de iniciar la tarea de minería de Monero ejecutando otro script llamado MoneroOcean. Este minero está disponible para su descarga gratuita en GitHub, pero los autores de esta campaña en realidad utilizan una variante alojada en Pastebin.

Es posible saltar a diferentes hosts después de escanear las subredes de la red conectadas a los hosts infectados; las direcciones IP de los demonios Docker mal configurados se almacenan en un archivo de texto, procesado por scripts adicionales llamados ‘test.sh’ y ” test3.sh; ‘ su propósito es recorrer cada dirección IP en la lista y conectarse a los hosts remotos utilizando la herramienta cliente de Docker.

Todos estos scripts están alojados en un servidor que estaba en funcionamiento hasta el momento en que se realizó la investigación. Un software minero diferente llamado ‘xm’ también se almacena en el servidor; está considerado marcado como malicioso por 24 antivirus diferentes en el sitio VirusTotal.

Esta no es la primera vez que el script auto.sh se utiliza para el cryptojacking. A mediados de octubre fue detectada una campaña de ataque en la que se detectó un script con el mismo nombre.

Llegar a Docker a través de la red de forma segura se logra fácilmente ejecutando la comunicación a través de TLS. Esto es posible cuando el indicador ‘tlsverify’ está habilitado y la definición de un certificado de confianza para el indicador ‘tlscacert’. Bajo esta configuración, el daemon Docker solo acepta conexiones autenticadas con un certificado confiable. Cuando está en modo cliente, Docker se conecta solo a los servidores que presentan un certificado de confianza.

En conjunto con la tecnología de computación en la nube, los servicios expuestos a Internet público son presa fácil para los perpetradores de cualquier tipo de amenaza informática.