A pesar de que muchos vean a Facebook como una red social que tuvo momentos mejores, lo cierto es que aún cuenta con un número de usuarios activos elevado y, por ese motivo, los intentos de robos de cuentas se siguen produciendo de forma habitual. No es raro encontrar continuas campañas de phishing que suplantan la web oficial de Facebook o se hacen pasar por su servicio de soporte técnico, pero, en el análisis de hoy, veremos que esta no es la única técnica que utilizan los delincuentes.
Ataque dirigido a perfiles profesionales
A diferencia de otros casos analizados anteriormente en este blog, en esta ocasión los delincuentes se dirigen a un perfil profesional que ofrece sus servicios y productos en varias redes sociales, entre las que se encuentra Facebook. Esto no es algo inusual, puesto que los atacantes pueden usar estos perfiles para propagar otros tipos de estafas y amenazas una vez se han hecho con el control, aprovechándose de la confianza que los usuarios puedan tener en el perfil.
El primer paso de esta campaña consiste en aproximarse a los administradores de la página de Facebook haciéndose pasar por un posible cliente solicitando información. En este caso vemos como los delincuentes se interesan por comprar un producto, pero sin especificar cuál y preguntando por varios aspectos como el precio o el tamaño. A continuación, adjuntan un enlace a una supuesta captura de pantalla del producto en el que están interesados, esperando que el responsable de la página caiga en la trampa, descargue el archivo y lo ejecute en su sistema.
En este punto queremos hacer un inciso en la información que nos proporciona el perfil del supuesto usuario de Facebook que ha contactado con esta página de perfil profesional en Facebook. Si lo visitamos observaremos que se trata de un perfil recién creado, que no sigue a nadie ni tampoco tiene seguidores y con solo dos publicaciones, correspondientes a las dos fotos de perfil que ha usado hasta el momento. En el caso de que recibamos una comunicación de este tipo, siempre es recomendable revisar el perfil de quien nos la envía, ya que, si sucede como en esta ocasión, es fácil detectar que estamos ante algún tipo de estafa o engaño.
Análisis de la cadena de infección
Pasando a revisar el supuesto fichero comprimido que se descarga desde el enlace proporcionado vemos que, en realidad contiene un ejecutable y que este inicia una cadena de infección. Al revisar esta amenaza de forma dinámica y siguiendo toda la cadena vemos cómo se conecta a un servidor externo controlado por los atacantes donde han alojado las siguientes fases de este ataque.
Para empezar, observamos que los delincuentes han ofuscado parte del código en formato BASE64, algo que, a día de hoy, no supone ningún problema. Al obtener el código original, vemos que se referencia a la ejecución de un archivo .BAT del mismo nombre que el archivo que hemos descargado del enlace, con parámetros para realizar sucesivos intentos cada cierto tiempo si no se consigue acceder a la ubicación remota establecida al primer intento.
Esta ubicación remota controlada por los delincuentes contiene instrucciones para ejecutar comandos en PowerShell en el sistema de la víctima que se conectarán a otras carpetas dentro del mismo dominio para realizar varias acciones, entre las que encontramos, además de otras cosas, la descarga y ejecución de Python, el lenguaje que los atacantes usarán para ejecutar el código malicioso.
Si revisamos el código que han preparado los delincuentes, vemos que este parece diseñado para robar las contraseñas guardadas en el navegador y enviarlas a un servidor remoto. Entre las características de este código, comprobamos que importa varios módulos de Python que le permiten acceder al sistema operativo, cifrar y descifrar datos, conectarse a bases de datos, usar criptografía, hacer peticiones web y procesar datos en formato JSON.
A continuación, el código define una variable vacía llamada vari y ejecuta una función que descifra una cadena de texto en base64 y la pasa como argumento a otra función que convierte los bytes en una cadena de texto. Esta cadena de texto es una URL que pertenece al dominio comprometido por los atacantes (hxxps://sealingshop[.]click/pyen/nam) y, al hacer una petición GET a esta URL, se obtiene otra cadena de texto codificada en base64, que se guarda en la variable vari.
Finalmente, ejecuta la misma función que antes, pero esta vez usando el contenido de la variable vari como argumento. Esta cadena de texto codificada en base64 contiene el código malicioso preparado para realizar las siguientes acciones:
- Busca el archivo Login Data en el directorio donde se almacenan los datos del navegador, diferente según el sistema operativo. Este archivo es una base de datos SQLite que contiene las contraseñas guardadas por el usuario.
- Conecta con la base de datos y ejecuta una consulta SQL para obtener el nombre de usuario, la URL y la contraseña cifrada de cada entrada.
- Usa la función win32crypt.CryptUnprotectData para descifrar las contraseñas con la clave maestra de Windows, que depende del usuario que inició sesión.
- Crea una instancia de clase AES para cifrar los datos robados con una clave y un vector de inicialización que se obtienen de URL hxxps://sealingshop[.]click/pyen/key.
- Envía los datos cifrados a la URL hxxps://sealingshop[.]click/pyen/data usando una petición POST con el nombre de usuario de Windows como parámetro.
En resumen, estaríamos ante un nuevo caso de robo de credenciales, aunque en lugar de usar un infostealer ya preparado para su uso, incluso por personas con pocos conocimientos técnicos, como Agent Tesla, Formbook y otros similares, en esta ocasión los delincuentes han optados por una vía más “artesanal”.
Conclusión
Si bien este tipo de amenazas pueden ser detectadas fácilmente si contamos con una solución de seguridad eficaz, no debemos bajar la guardia y andar con cuidado a la hora de pulsar sobre enlaces y descargar archivos no solicitados, especialmente si lo hacemos desde un perfil profesional en una red social. El robo de credenciales podría hacer que los delincuentes tomasen el control del perfil y comprometer la seguridad de nuestros seguidores y causarnos un daño reputacional considerable.