¿Usas Docker? Cuidado con los contenedores que descargas, pueden no ser tan seguros como piensas

Escrito por Rubén Velasco

Sin duda, una de las mayores revoluciones de la informática moderna son los contenedores, un nuevo concepto similar a la virtualización en el que, en vez de virtualizar un sistema operativo completo, como haríamos con VMware, por ejemplo, solo cargamos las librerías y los componentes estrictamente necesarios para que funcione un determinado servicio, nada más, utilizando así la mínima cantidad de recursos que, además, se ejecutan de forma segura y completamente aislada. Cuando hablamos de contenedores, la plataforma más utilizada para este tipo de virtualización son los contenedores Docker.

Lo ideal cuando vamos a virtualizar con contenedores es crear nuestro propio contenedor desde cero, por ejemplo, con Alpine, e instalar en él lo que vayamos a necesitar. No hay nada mejor que un contenedor personalizado y adaptado a nuestras necesidades. Sin embargo, para muchos, crear este contenedor no es una tarea precisamente sencilla, por lo que la mayoría de las veces se suelen descargar contenedores ya creados por otras personas a través de plataformas como Docker Hub.

Aunque todo puede parecernos correcto y de fiar, en realidad esto puede suponer un peligro para nuestro sistema, como se acaba de dar a conocer.

17 contenedores Docker publicados en Docker Hub ocultaban malware

Los desarrolladores de Docker acaban de retirar un total de 17 contenedores Docker publicados en su plataforma que estaban ocultando malware, concretamente una puerta trasera (backdoor) que se utilizaba para conectarse de forma remota a estos contenedores, instalar un shell remoto y habilitar una serie de scripts para minar criptomonedas utilizando estas máquinas.

Estos contenedores han estado publicados en esta plataforma durante todo un año, desde mayo de 2017, cuando fueron subidos, hasta mayo de 2018, cuando finalmente han sido retirados. Docker no aplica ningún tipo de control a las nuevas imágenes que se suben a su plataforma, y por ello ha ocurrido esto. Además, no se descarta que haya otros contenedores también comprometidos.

Los 17 contenedores Docker maliciosos que se han detectado y eliminado habían sido subidos por un usuario registrado como “docker123321” y estos son, organizados según la amenaza que ocultaban:

  • Shell remoto en Python:
    • docker123321/tomcat
    • docker123321/mysql2
    • docker123321/mysql3
    • docker123321/mysql4
    • docker123321/mysql5
    • docker123321/mysql6
  • Shell remoto en Bash:
    • docker123321/tomcat11
  • Contenedor con claves SSH del pirata:
    • docker123321/tomcat22
  • Contenedor con minado de criptomonedas simplemente descargando un JPG:
    • docker123321/cron
    • docker123321/cronm
    • docker123321/cronnn
    • docker123321/mysql
    • docker123321/mysql0
    • docker123321/data
    • docker123321/t1
    • docker123321/t2
  • Contenedor con minado de criptomonedas simplemente descargando un script SH:
    • docker123321/kk

Se cree que, según la popularidad de estos contenedores, este pirata informático habrá minado un total de 545 Monero, lo equivalente aproximadamente a 90.000 dólares.

Qué hacer si utilizábamos un contenedor subido por docker123321

Se cree que aún puede haber varios servidores que tengan habilitados este tipo de contenedores Docker, lo cual es algo bastante preocupante. Por ello, se recomienda que si hemos descargado y habilitado algún contenedor Docker en nuestro servidor, NAS u ordenador subido por este pirata informático lo deshabilitemos cuanto antes y busquemos alguna alternativa.

Además, si queremos evitar futuros problemas, igual nos merece la pena investigar para crear nuestro propio contenedor desde cero (estando seguros que de no oculta nada raro), así como controlar la actividad de los contenedores que tengamos en funcionamiento ahora mismo para detectar si alguno de ellos está generando una actividad fuera de lo normal.

¿Qué opinas de la seguridad de Docker Hub? ¿Crees que se deberían analizar los contenedores antes de publicarlos en la plataforma?