Asi es como aprovechan de un error de Snap al sugerir paquetes no verificados
Investigadores de Aqua Security dieron a conocer hace poco, mediante una publicación de blog, la posibilidad de un ataque dirigido a los usuarios Ubuntu, aprovechando una de las funciones más conocidas y también de la ignorancia o descuido de los usuarios.
Y es que para los usuarios de Linux en general, uno de los mensajes más comunes que solemos encontrarnos cuando estamos en la terminal es el famoso «command-not-foun». Este famoso mensaje que nos indica que lo que estamos solicitando no está en el sistema (en la mayoría de los casos) o que estamos teclado algo mal.
Nadie me dejará mentir, a todos nos ha pasado, ya sea porque creemos y estamos seguros de que el paquete o aplicacion con la que vamos a trabajar en la terminal se encuentra en nuestro sistema o simplemente que por descuido tecleamos alguna letra mal y en ese momento nos salta el «command-not-foun». Como todos sabrán, cuando este mensaje nos aparece se nos suele hacer la recomendación de la instalación de dicho paquete que no es encontrado. Un ejemplo práctico del mensaje sería algo asi:
Command 'Firefox' not found, but can be installed with: sudo apt install "paquete 1 recomendado" sudo snap install "paquete malicioso"
Como tal, este controlador proporciona una pista cuando se intenta iniciar un programa que no está en el sistema.
Volviendo al punto del artículo, los investigadores de Aqua Security detectaron un problema que radica en la forma en la que se evalúan los comandos para ejecutar los que no están presentes en el sistema, ya que no solo recomienda la instalación de paquetes de los repositorios estándar, sino también paquetes snap del directorio snapcraft.io al ofrecer recomendaciones.
Además, nuestra investigación indica que hasta el 26% de los comandos asociados con paquetes APT (Advanced Package Tool) son vulnerables a la suplantación por parte de actores maliciosos. Este problema podría allanar el camino para ataques a la cadena de suministro que afecten a los usuarios de Linux y Windows que ejecutan WSL. Este blog profundiza en los detalles operativos de command-not-found, los riesgos asociados con la instalación de paquetes snap comprometidos y los diversos vectores de ataque que podrían explotarse.
Cuando se realiza una recomendación basada en el contenido del directorio snapcraft.io, el controlador como tal no evalúa el estado del paquete y solo cubre los paquetes agregados al directorio por usuarios no verificados. Por lo tanto, un atacante puede colocar un paquete con contenido malicioso oculto en snapcraft.io, con un nombre que se superponga con paquetes DEB existentes, programas que originalmente no estaban en el repositorio o aplicaciones ficticias cuyos nombres reflejan errores tipográficos y errores típicos de los usuarios al escribir los nombres de utilidades populares.
Por ejemplo, un atacante puede colocar paquetes como «Firefox-123» con la expectativa de que el usuario que cometa errores al escribir los nombres de las utilidades y en este caso, «command-not-found» recomendará instalar los paquetes maliciosos colocados por el atacante desde snapcraft.io.
Es posible que el usuario no se dé cuenta del problema y piense que el sistema solo recomienda paquetes probados. Además, un atacante puede colocar un paquete en snapcraft.io cuyo nombre se superponga con los paquetes DEB existentes o con algún atractivo en el nombre. En este escenario, «command-not-found» dará dos recomendaciones para instalar DEB y snap, y el usuario puede elegir snap, considerándolo más seguro o tentado por la nueva versión.
Las aplicaciones snap permitidas por snapcraft.io para la revisión automática solo pueden ejecutarse en un entorno aislado. Sin embargo, un atacante puede aprovechar este entorno aislado, por ejemplo, para extraer criptomonedas, realizar ataques DDoS o enviar spam.
Además, un atacante puede utilizar técnicas de elusión de aislamiento en paquetes maliciosos. Esto incluye explotar vulnerabilidades no parcheadas en el kernel y mecanismos de aislamiento, utilizar interfaces de snap para acceder a recursos externos (como grabaciones de audio y vídeo ocultas) o capturar entradas de teclado cuando se utiliza el protocolo X11 (para crear keyloggers que funcionen en un entorno sandbox).
Los investigadores de Aqua Security recomiendan, para protegerse contra tales amenazas, adoptar varias medidas preventivas:
- Los usuarios deben verificar el origen de un paquete antes de la instalación, verificando la credibilidad de los mantenedores y la plataforma recomendada (ya sea snap o APT).
- Los desarrolladores de Snap con un alias deben registrar de inmediato el nombre correspondiente si se alinea con su aplicación para evitar un uso indebido.
- Se anima a los desarrolladores de paquetes APT a registrar el nombre snap asociado a sus comandos, protegiéndolos de forma preventiva contra posibles suplantaciones por parte de atacantes.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.