En el mundo tecnológico actual, la seguridad en línea es un tema que nunca pierde relevancia. Un ejemplo reciente de vulnerabilidad en la ciberseguridad es el ataque a las APIs de Docker expuestas. Este incidente ha puesto en alerta a la comunidad tecnológica, destacando la importancia de adoptar prácticas seguras en el desarrollo y despliegue de aplicaciones.
Entendiendo Docker y sus APIs
Para entender la gravedad de estos ataques, primero debemos comprender qué es Docker. Docker es una plataforma de contenedores que permite a los desarrolladores empaquetar aplicaciones en contenedores, asegurando que el software funcione de manera fluida en cualquier entorno. Las APIs de Docker, por otro lado, son interfaces de programación de aplicaciones que permiten a los usuarios interactuar con Docker, automatizando y simplificando tareas como la gestión de imágenes de contenedores, contenedores, redes y volúmenes.
Conoce más sobre: Contenedores Docker: Eficiencia en el Desarrollo de Apps
Naturaleza de los ataques
Los puntos finales de la API de Docker expuestos en Internet están siendo objeto de un ataque sofisticado de criptojacking conocido como "Commando Cat". En un nuevo informe publicado por investigadores de seguridad, se revela que esta campaña despliega un contenedor benigno generado mediante el proyecto Commando. A partir de este contenedor, el atacante ejecuta múltiples cargas útiles en el host Docker.
Se ha detectado que esta campaña está activa desde principios de 2024, marcando la segunda campaña de este tipo descubierta en tan solo unos meses. A mediados de enero, se dio a conocer otro grupo de actividades que se enfocan en hosts Docker vulnerables para implementar el minero de criptomonedas XMRig, así como el software 9Hits Viewer.
Te podrá interesar: Ataque a los hosts de Docker: Esquema de robo de tráfico web
Commando Cat utiliza Docker como vía de acceso inicial para entregar una colección de cargas útiles desde un servidor controlado por el actor malicioso. Estas acciones incluyen establecer persistencia, abrir puertas traseras en el host, filtrar credenciales del proveedor de servicios en la nube (CSP) y lanzar el minero.
Una vez obtenido un punto de apoyo mediante la violación de instancias de Docker susceptibles, se utiliza la herramienta de código abierto Commando para crear un contenedor inofensivo y ejecutar un comando malicioso que permite al atacante escapar de los límites del contenedor mediante el comando chroot.
Además, se llevan a cabo comprobaciones para verificar si ciertos servicios como "sys-kernel-debugger", "gsc", "c3pool_miner" y "dockercache" están activos en el sistema comprometido. La campaña avanza a la siguiente etapa solo si estas comprobaciones son exitosas.
Es importante señalar que el propósito de verificar "sys-kernel-debugger" no está claro, ya que este servicio no se utiliza en ninguna parte del malware ni forma parte de Linux. Es posible que este servicio esté relacionado con otra campaña en la que el atacante no desea competir.
La siguiente fase implica la descarga de cargas útiles adicionales desde el servidor de comando y control (C2), incluyendo un script de shell para establecer una puerta trasera (user.sh). Este script es capaz de agregar una clave SSH al archivo ~/.ssh/authorized_keys y crear un usuario llamado "juegos" con una contraseña conocida por el atacante, además de incluirlo en el archivo /etc/sudoers.
Te podrá interesar: ¿Qué es Backdoor?: Protegiendo tu Sistema Digital
Asimismo, se proporcionan de manera similar tres scripts de shell adicionales (tshd.sh, gsc.sh, aws.sh) diseñados para eliminar Tiny SHell y una versión modificada de netcat llamada gs-netcat, además de exfiltrar credenciales.
Los actores de amenazas "ejecutan un comando en el contenedor cmd.cat/chattr para recuperar la carga útil desde su propia infraestructura C2", informó un investigador, explicando que logran esto mediante el uso de curl o wget y canalizando directamente la carga útil resultante hacia el shell de comando bash.
"En lugar de emplear /tmp, [gsc.sh] utiliza /dev/shm, que funciona como un almacenamiento temporal de archivos respaldado en memoria", señalaron los investigadores. "Esto podría ser una táctica de evasión, ya que el uso de /tmp es más común en el malware".
"Además, esta técnica evita que los artefactos se escriban en el disco, lo que dificulta el análisis forense. Ya se ha empleado esta técnica en el pasado en BPFdoor, una campaña de Linux de alto perfil".
El ataque culmina con la implementación de otra carga útil que se entrega directamente como un script codificado en Base64 en lugar de recuperarse del servidor C2. Esta acción, a su vez, desactiva el minero de criptomonedas XMRig y elimina los procesos mineros competidores de la máquina infectada antes de finalizar.
Los orígenes precisos del actor de amenazas detrás de Commando Cat no están actualmente claros. Sin embargo, se ha observado que los scripts de shell y la dirección IP C2 se superponen con los asociados a grupos de criptojacking como TeamTNT en el pasado, lo que sugiere la posibilidad de que se trate de un grupo imitador.
"El malware desempeña múltiples funciones, incluyendo la obtención de credenciales, el establecimiento de una puerta trasera altamente sigilosa y la minería de criptomonedas, todo en uno", destacaron los investigadores. "Esta versatilidad lo convierte en una herramienta capaz de extraer el máximo valor de las máquinas infectadas".
Conoce más sobre: Desentrañando el Mundo de la Ciberseguridad C2
Conclusión
La reciente ola de ataques a las APIs de Docker expuestas sirve como un recordatorio crítico de la importancia de la ciberseguridad en el mundo de la tecnología moderna. Adoptar medidas de seguridad robustas no es opcional; es una necesidad para proteger tus sistemas y datos de actores maliciosos. Al implementar las estrategias mencionadas, puedes fortalecer significativamente la seguridad de tus contenedores Docker y asegurar que tus aplicaciones corran de manera segura y eficiente.
La seguridad en línea es una carrera continua contra los atacantes. Mantenerse informado sobre las últimas tendencias de seguridad y vulnerabilidades es clave para anticiparse a los riesgos. Recuerda, en el mundo digital, la precaución nunca es suficiente. Proteger tus APIs de Docker es un paso crucial hacia la construcción de un entorno tecnológico más seguro para todos.