WavebreakMediaMicro - Fotolia

Noticias Manténgase informado sobre las más recientes actualizaciones de productos y noticias de tecnología empresarial.

Cómo los hackers usan las APIs de Docker para minería maliciosa

El acceso remoto pone a las API de Docker en una posición vulnerable. El experto Dave Shackleford explica cómo los hackers abusan de las API de Docker para llevar a cabo ataques de cryptojacking.

Parece que los contenedores y las herramientas de administración de contenedores se encuentran expuestos en internet todos los días, a veces con poca o ninguna seguridad.

En junio de 2018, se descubrieron en público más de 22.000 consolas de administración de orquestación de contenedores y consolas de administración de APIs. Algunas de ellas no tenían ninguna autenticación y muchas utilizaban autenticación débil o predeterminada.

La mayoría de estas eran contenedores de Kubernetes alojados en la nube pública en AWS. Para los equipos de la nube y DevOps que usan contenedores en la nube, es fácil exponer accidentalmente más de lo que esperaba, posiblemente con resultados desafortunados.

Este escenario se desarrolló en 2018 con el descubrimiento de que los atacantes estaban utilizando las API de Docker expuestas para crear nuevos contenedores para ataques de cryptojacking, según una nueva investigación de Trend Micro Inc. Para entender cómo ocurrieron los ataques, debe conocer un poco sobre el propio Docker.

Cómo se abusa de las API de Docker

Docker funciona como un daemon o servicio dentro de un sistema operativo que permite crear, construir y ejecutar nuevas imágenes de contenedor, aprovechando el kernel del sistema operativo para compartir recursos. De forma predeterminada, el cliente Docker local dentro del sistema operativo puede ejecutarse para crear, extraer/importar o ejecutar los núcleos con comandos como docker import, docker pull y docker run.

Estos comandos están bien cuando se ejecutan desde el sistema local, pero algunas organizaciones desean permitir que los usuarios remotos ejecuten los mismos comandos desde lejos, convirtiendo los sistemas host de Docker en arquitecturas cliente-servidor más tradicionales. Esto podría funcionar en una red interna con controles adecuados, pero exponer estas API y puertos a internet sin agregar capas de controles de seguridad a la implementación es una decisión peligrosa.

De forma predeterminada, los dos puertos Docker que están expuestos por este control remoto son TCP 2375 para conexiones HTTP simples y el puerto TCP 2376 para conexiones HTTPS. Obviamente, las conexiones HTTPS son las preferidas, pero incluso éstas deberían tener seguridad de la capa de transporte (TLS) u otros métodos de autenticación habilitados para cualquier cliente de conexión que desee ejecutar los comandos de Docker.

Según una investigación de Trend Micro, ninguna de estas precauciones de seguridad estaban vigentes antes de la exposición de 2018. Los atacantes pudieron acceder a los puertos de la API Docker; ejecutar fácilmente los comandos de creación, extracción e importación de Docker para, por ejemplo, crear una imagen local; extraer una imagen de un registro de imágenes de Docker en línea o accesible; o importar una imagen desde un archivo .tar.gz u otros archivos comprimidos accesibles remotamente.

Los investigadores también pudieron obtener secuencias de comandos de instalación automatizada que configuran el contenedor con acceso de Secure Shell para los nuevos usuarios root, para que puedan instalar y ejecutar el software de minería de criptomoneda Monero.

Además, los nuevos contenedores maliciosos pudieron instalar la herramienta masscan y comenzaron a escanear todas las redes visibles desde el nuevo host para estos mismos puertos: 2375 y 2376. De esta manera, los atacantes no solo utilizaron los contenedores para minar criptomonedas, sino también para buscar nuevas víctimas.

Cómo prevenir el mal uso de las API de Docker

Hay varias precauciones que las organizaciones pueden tomar para mitigar este tipo de ataque. Primero, deje de abrir las API de Docker en internet. Rara vez hay una buena razón para que estas API sean expuestas públicamente para que todos las vean, ya que se implementan más a menudo en una red privada.

En segundo lugar, implemente la autenticación para los usuarios que pueden conectarse mediante TLS u otros métodos compatibles –idealmente, autenticación multifactorial– si son compatibles con alguna de las API abiertas. Además, no permita que las imágenes se ejecuten en ningún host Docker que no sea de confianza y no esté firmado por registros aprobados.

Todavía no he encontrado una empresa que tuviera la minería de divisas de Monero como un objetivo comercial principal, así que evite que eso suceda con el equivalente de una lista blanca de contenedores de imagen de Docker. Finalmente, asegúrese de que ningún contenedor pueda consumir una parte desproporcionada de recursos en el host.

Al seguir estos pasos, las organizaciones deberían poder evitar que los hackers aprovechen sus contenedores en la nube para actividades maliciosas, como la minería maliciosa.

Profundice más

Inicie la conversación

Envíenme notificaciones cuando otros miembros comenten sobre este artículo.

Por favor cree un Nombre de usuario para poder comentar.

- ANUNCIOS POR GOOGLE

Close