Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon El malware PamStealer para macOS incorpora descifrado de carga útil C2 en tiempo real y persistencia multicapa


Investigadores detectaron una nueva versión de PamStealer para macOS que utiliza un sitio falso de billeteras de criptomonedas llamado Wavel para infectar usuarios. Esta variante emplea un sistema de cifrado avanzado que requiere comunicación con el servidor para liberar la carga útil, dificultando el análisis estático. El malware, escrito en Swift, roba contraseñas del sistema, datos de llaveros y credenciales de una amplia variedad de navegadores web.





 Investigadores de ciberseguridad han detectado una nueva versión de PamStealer que garantiza que la carga útil principal solo pueda recuperarse mediante una cadena de descifrado en el servidor.

Los últimos artefactos, según Jamf Threat Labs, siguen basándose en el mismo mecanismo de descarga JavaScript para Automatización (JXA), pero modifican el señuelo y el método de entrega.

"Mientras que las variantes anteriores incrustaban el material de la clave de su carga útil directamente en el código fuente de JXA, ahora obtienen una utilidad de descifrado creada específicamente y completan un intercambio de claves con el servidor antes de que la carga útil pueda desenvolverse", afirmó el investigador de seguridad Thijs Xhaflaire en un análisis aquí. "Sin la cooperación del servidor, la carga útil no se puede recuperar estáticamente".

Un segundo cambio importante es la elección del propio señuelo. Mientras que las versiones anteriores observadas en julio y agosto de 2026 utilizaban sitios web falsos que se hacían pasar por Maccy, Scoppr y Nancy Clipboard, ahora atraen a las víctimas a través de un sitio web fraudulento ("wavel[.]app") que anuncia un servicio de billetera de criptomonedas inexistente llamado Wavel.

Al hacer clic en el botón "Download for macOS" del sitio falso, se descarga un archivo de imagen de disco ("Wavel.dmg") que contiene un archivo AppleScript compilado. Al abrir el archivo, se inicia el Editor de Scripts integrado de Apple con instrucciones para activar la ejecución de un descargador JXA.

"En Maccy, Scoppr y Nancy, el código JXA realizaba el descifrado RC4 de una carga útil incrustada, realizaba llamadas al framework Objective-C a través del puente de JXA hacia Foundation y NSData, y gestionaba todo el proceso de descarga y preparación", explicó Xhaflaire.

"En Wavel, el código JXA no contiene nada de eso. Toda la capa JXA es ahora un portador. Cuando el Editor de Scripts ejecuta el archivo, decodifica la cadena base64 y envía el resultado a /bin/zsh -s, donde zsh lee y ejecuta los bytes decodificados desde la entrada estándar. El proceso JXA finaliza inmediatamente; el descargador zsh continúa en segundo plano".

El script zsh decodificado hace avanzar la infección llevando a cabo las siguientes acciones:

* Descarga e invoca la utilidad de descifrado "pkgunpack" desde "wavel.apple03cloudstore[.]com"
* Realiza el intercambio de claves X25519
* Descifra y prepara el paquete de la carga útil
* Suprime las notificaciones de macOS que alertan a los usuarios cuando se añade un nuevo elemento de inicio de sesión en segundo plano
* Instala cuatro métodos de persistencia redundantes a través de LaunchAgent, un script zsh de reparación que restaura tanto el paquete de la carga útil como el LaunchAgent si no están presentes, y un gancho de shell añadido a ~/.zshrc que activa la ejecución del script de reparación en cada nueva sesión interactiva de zsh
* Consulta y carga el directorio de preparación en forma de archivo ZIP

Debido a que el servidor posee la clave privada que completa el proceso de intercambio de claves, la Clave de Cifrado de Datos (DEK) no puede recuperarse sin ella, evitando así que la carga útil sea descifrada. Además, dado que se genera un nuevo par de claves efímeras durante cada ejecución, un valor de DEK capturado no puede ser reutilizado para extraer el contenido de la carga útil.

Esto, a su vez, hace que la carga útil cifrada sea efectivamente inútil para el análisis estático sin acceso a una sesión de comando y control (C2) en vivo.

Generación de claves efímeras e intercambio de DEK en vivo

Es más, el script de reparación se copia en las carpetas "post-checkout" y "pre-commit" dentro de "~/Library/Application Support/System/.githooks/", con la opción de configuración de Git "git config --global core.hooksPath" establecida en ese directorio. Como resultado, cualquier acción de git checkout o git commit en cualquier repositorio del sistema comprometido activará silenciosamente el script de reparación.

La etapa final es el componente robador escrito en Swift, lo que marca un cambio respecto al predecesor, que estaba implementado en Rust. A pesar del cambio en el lenguaje de programación utilizado, el objetivo final es el mismo:

* Capturar la contraseña del sistema mediante un cuadro de diálogo de error falso y contrastar la información introducida mediante un enfoque de validación basado en PAM
* Enumerar y recuperar elementos del llavero (keychain)
* Robar credenciales de navegadores basados en Chromium y Firefox, incluyendo Google Chrome, Microsoft Edge, Mozilla Firefox, Brave, Vivaldi, Opera, Opera GX, Arc, Zen, Waterfox, LibreWolf, Yandex Browser y Cốc Cốc
* Identificar el sistema y recopilar metadatos extensos y la foto de perfil del usuario
* Recopilar archivos centrados en el usuario como .zsh_history, .zshrc, .bash_history y .gitconfig
* Listar los procesos en ejecución y las aplicaciones instaladas

"La inclusión de Arc, Zen y los navegadores regionales y enfocados en la privacidad menos comunes extiende la lista de objetivos notablemente más allá de lo típico en los robadores de macOS comunes", dijo Xhaflaire.

"Esta variante de PamStealer refleja una inversión deliberada en la infraestructura de entrega. La utilidad pkgunpack introduce un intercambio de claves en vivo que vincula el descifrado de la carga útil a la disponibilidad del servidor: sin la cooperación del C2, la segunda etapa no puede descifrarse. Ese diseño hace que la recuperación estática de la carga útil sea significativamente más difícil y traslada parte del control operativo al operador del servidor".

Fuente:
THN

0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.