Tuve una máquina virtual basada en Ubuntu 16.04.03 y el único paquete que se le agregó fue OpenVPN. El propósito era proporcionar una VPN en mi red privada ubicada en el entorno de la nube. El hipervisor también es 16.04.03.
El otro día noté una utilización del 100% de la CPU y una vez que inicié la sesión noté un proceso de "ñame" que consumía todos los ciclos de usuario. La búsqueda en Google reveló que es probable que sea un minero de bitcoin.
Ninguna de las otras máquinas virtuales en el sistema o el hipervisor parecían estar afectadas. Tengo 20 núcleos con hipervínculos en ese sistema, por lo que razoné que si el malware hubiera sido capaz de hacerlo, habrían ido después de los 40 subprocesos en lugar de los 2 que obtuvieron.
Así que eliminé el proceso y luego derribé el VM con la intención de reconstruirlo en la mañana. Tontamente no tomé otras acciones.
Por la mañana descubrí que todas las máquinas virtuales en ese sistema estaban caídas y que las contraseñas se habían cambiado en el hipervisor. Podía iniciar sesión a través de una autenticación SSH authorized_key pero no podía sudo con mi contraseña normal. Peor aún, el zpool ZFS había sido destruido. Todas las actualizaciones de Ubuntu se aplicaron.
Así que tuve que ir al sitio de ubicación de co-hosting (afortunadamente local) y recuperar el sistema con acceso a la consola. Pude mostrar la matriz de almacenamiento y las otras máquinas virtuales. Cambié todas las contraseñas (muchas de ellas son un dolor).
Así que mis preguntas son las siguientes:
-
¿Qué exploit podría haber sido usado para ingresar a la VPN VM pero no a las otras? Solo esa máquina virtual tenía OpenVPN.
-
¿Qué exploit podría haberse utilizado para eliminar la matriz ZFS y las contraseñas en el hipervisor? ¿Es posible que la vulnerabilidad haya sido cerrada por las actualizaciones?
-
Me parece que si tuvieran acceso de root-shell podrían haber hecho mucho más daño que ellos. ¿Es el hecho de que no lo hicieron a) porque estaban siendo "amables" o b) en realidad no tenían ese nivel de acceso?
Me doy cuenta de que estas preguntas no pueden responderse definitivamente con la información detallada que tengo aquí, pero cualquier orientación o sugerencia de alguien que tenga experiencia con una situación similar probablemente sea útil.