Cuidado con los instaladores MSI firmados: aunque parezcan fiables, pueden esconder virus y poner en peligro tu PC
Se está empezando a conocer que Microsoft y VirusTotal se han unido para detectar de un modo más eficiente los archivos ejecutables en formato MSI firmados que han sido modificados para incluir archivos Java maliciosos.
Y es que hay que tener en cuenta que cuando un desarrollador crea un software, suele firmarlo utilizando un certificado de código digital para certificar quién creó el programa, al tiempo que cualquier modificación en el ejecutable de Windows firmado, provocará que la firma no sea válida, lo que proporciona una capa adicional de seguridad. Aunque los desarrolladores también pueden firmar un archivo “Microsoft Installer” o MSI con un certificado, esto no ofrece las mismas garantías en el supuesto de que este haya sido manipulado.
Esto se debe a que es posible modificar el contenido de un archivo MSI firmado, mientras que la firma seguirá siendo válida. Esto puede suponer un problema, como se está viendo ahora en algunos casos, ya que podría permitir a los atacantes utilizar archivos MSI como sistema de almacenamiento para programas maliciosos y que sigan apareciendo como firmados. Dado que algunos antivirus se basan en estas firmas digitales para determinar si un archivo es malicioso o no, esto podría permitir que esos ficheros manipulados no sean detectados.
Así, el principal problema aquí es que se necesitaría otro programa para extraer el código malicioso del archivo MSI y ejecutarlo, aunque esto cambia si el MSI firmado tiene un archivo Java malicioso añadido. Decir que los archivos Java o JAR, son simplemente archivos Zip que contienen los componentes y código necesarios que permiten que sean ejecutados por un lanzador Java.
Por tanto, el conocido sitio VirusTotal explica que como los archivos JAR son simplemente archivos Zip, cuando Java ejecuta uno, lo hace leyendo desde el final del archivo hasta el principio, ignorando el resto del archivo MSI.
Los ejecutables MSI de Windows pueden contener malware difícil de detectar
Esto permite a los atacantes distribuir archivos MSI firmados con archivos JAR maliciosos adjuntos, renombrarlos a un archivo JAR, y luego ejecutarlos utilizando el lanzador “javaw.exe” de Java. Con el fin de demostrar este peligroso panorama centrado en los archivos MSI maliciosos, VirusTotal proporcionó una muestra descubierta que utilizaba el método anteriormente comentado, añadiendo que su servicio online está detectando este tipo de muestras como «Jacksbot«, aunque de momento son raras.
Por tanto esta técnica de ataque ha demostrado ser original y efectiva, aunque de momento no se ha extendido mucho, por lo que se puede considerar como rara. De este modo, aunque de puede añadir cualquier cosa al final de un fichero MSI, en este caso en particular, sólo un JAR se ejecutaría de la manera descrita, lo que podría ser dañino para los sistemas afectados.
Es por ello que recientemente Microsoft ha actualizado su herramienta Sigcheck para indicar si se ha manipulado un MSI firmado o no, algo que ya se ha implementado en Sigcheck 2.70 y está siendo utilizado por VirusTotal para detectar archivos MSI firmados que han sido modificados cuando se cargan en su servicio para esconder virus en Windows.
Por tanto, si Sigcheck detecta un archivo MSI firmado y modificado, mostrará la advertencia correspondiente a los usuarios como que el mismo está firmado pero no es válido, ya que el archivo es demasiado grande. Al mismo tiempo el Centro de respuesta de seguridad de Microsoft también ha estado vigilando estos tipos de archivos maliciosos y afirmó que se muestran como firmados en las versiones más recientes y actualizadas de Windows 10 y Java, algo que todavía no ha sido solucionado en las versiones actuales de Windows 10, al menos por el momento.