
En este proyecto, encontramos un ataque reciente a través del contenedor malicioso e implementamos un mecanismo de seguridad para detenerlo.
En este proyecto, descubrimos un ataque reciente a través de un contenedor malicioso e implementamos un mecanismo de seguridad para detenerlo.
Los ciberataques se han convertido en un desafío crítico tanto para empresas como para pequeñas empresas, debido en gran medida a las vulnerabilidades en diversos componentes de sus recursos informáticos. Comprender estas amenazas es el primer paso para proteger los datos y activos de una organización. Las formas comunes de ataque incluyen malware, ransomware y phishing. Estudios recientes destacan la creciente prevalencia de ataques dirigidos a infraestructuras de contenedores. Los adversarios a menudo explotan contenedores mal configurados localizándolos a través de motores de búsqueda públicos y herramientas de escaneo. Por lo tanto, en este proyecto hemos implementado un ataque utilizando la vulnerabilidad CVE-2019-5736 de Docker e identificado un mecanismo de seguridad para prevenirlo.
Hemos utilizado la siguiente configuración para implementar de forma segura un ataque y un mecanismo de seguridad. En la máquina base con sistema operativo Windows, se ha desplegado la máquina virtual VMware Workstation con el sistema operativo Ubuntu 18.04. Además, se ha instalado la aplicación de contenedores Docker 18.03.1-ce (Runc 1.0.0-rc5) en Ubuntu 18.04.
El archivo "usr/docker/runc" es un archivo interno ejecutable sensible que ningún tercer usuario debería poder modificar. Sin embargo, la versión 18.03 de Docker tiene la vulnerabilidad por la cual no registrará la modificación del archivo "runc" de Docker; como resultado, el atacante puede usar esta vulnerabilidad para modificar el archivo "usr/docker/runc" y obtener acceso root a nuestro sistema Linux.
Como resultado:
La causa raíz de esta vulnerabilidad es la capacidad de la imagen de Docker maliciosa para alterar el archivo "/usr/docker/runc" e incluir código hostil en el archivo ejecutable.
Para evitar que ocurra este ataque, usamos el comando "Chattr" para hacer inmutable el archivo "/usr/docker/runc". Como resultado, el exploit no se ejecuta y no hay respuesta del lado del atacante.
El mecanismo de seguridad que hemos aplicado efectivamente detiene el ataque, lo que significa que pudimos evitar que el código malicioso explotara la vulnerabilidad de ese archivo específico de Docker que encontramos. Para el mecanismo de seguridad, no pudimos usar el comando 'chmod' porque en esta vulnerabilidad específica que usamos, se otorga acceso root al ataque. Por lo tanto, el comando "chmod" no pudo prevenir un ataque.
En este proyecto elegimos implementar un ataque que explotara la vulnerabilidad CVE-2019-5736 con la puntuación CVSS ALTA, que otorga a un atacante acceso remoto a la máquina del usuario con privilegios root. Ejecutamos exitosamente el ataque y encontramos el mecanismo de seguridad para prevenirlo.
Desafíos: