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 Variante PDFly usa modificación personalizada de PyInstaller, obligando a analistas a ingeniería inversa para descifrar


Una nueva variante del malware PDFly ha surgido con técnicas avanzadas que desafían los métodos tradicionales de análisis. El malware utiliza un ejecutable PyInstaller modificado que impide que las herramientas estándar de extracción funcionen correctamente. Esto dificulta que los equipos de seguridad examinen el código y comprendan cómo opera la amenaza.



Ha surgido una nueva variante del malware PDFly con técnicas avanzadas que desafían los métodos tradicionales de análisis. El malware utiliza un ejecutable modificado de PyInstaller que impide que las herramientas estándar de extracción funcionen correctamente.

Esto dificulta que los equipos de seguridad examinen el código y comprendan cómo opera la amenaza.

La versión modificada cambia identificadores clave y encripta el bytecode de Python utilizando múltiples capas de protección, lo que obliga a los analistas a realizar ingeniería inversa manual del proceso de descifrado.

PDFly apareció por primera vez cuando el investigador de seguridad Luke Acha mencionó la aplicación en redes sociales.

Más tarde se descubrió una muestra similar llamada PDFClick, lo que demuestra que los actores de amenazas están desarrollando activamente esta técnica. Ambas muestras comparten la misma estrategia de modificación central, lo que las convierte en parte de una campaña más amplia para evadir la detección.

El stub modificado de PyInstaller contiene cadenas corruptas y utiliza un valor de magic cookie personalizado que difiere de las implementaciones estándar, evitando que herramientas automatizadas como PyInstxtractor reconozcan la estructura del archivo.

Los analistas de Samplepedia identificaron el esquema de encriptación tras una investigación detallada de los componentes internos del malware.

Cuando las herramientas estándar de extracción fallaron al procesar el ejecutable, los investigadores tuvieron que examinar el archivo utilizando desensambladores para localizar los elementos modificados.

La investigación reveló que la encriptación no estaba incrustada en el stub de PyInstaller en sí, sino en archivos bootstrap separados que manejan la extracción del archivo durante la ejecución.

Los desarrolladores del malware implementaron un algoritmo de encriptación complejo para proteger el contenido del archivo PYZ frente al análisis.

Tras modificar el script de PyInstxtractor para reconocer la magic cookie personalizada y eliminar las comprobaciones de validación, los investigadores descubrieron que los archivos extraídos seguían encriptados.

Estructura de la cookie modificada de PyInstaller mostrando un valor mágico personalizado (Fuente - Samplepedia)
Estructura de la cookie modificada de PyInstaller mostrando un valor mágico personalizado (Fuente – Samplepedia)

Un análisis más profundo del archivo pyimod01_archive.pyc reveló un proceso de descifrado en múltiples etapas que involucra operaciones XOR con dos claves diferentes, seguido de descompresión zlib e inversión de datos antes de deserializar los objetos de código Python.

Proceso de descifrado e implementación técnica

El algoritmo de encriptación sigue una secuencia específica que debe revertirse para acceder al código malicioso. Primero, los datos archivados se someten a un descifrado XOR utilizando una clave de 13 bytes etiquetada como SCbZtkeMKAvyU.

El resultado pasa luego por una descompresión zlib para restaurar la estructura original del archivo. Una segunda operación XOR aplica una clave de 7 bytes llamada KYFrLmy para ofuscar aún más los datos.

Finalmente, los bytes se invierten antes de que el módulo marshal de Python los procese en objetos de código ejecutable.

Desensamblado de bytecode de Python mostrando la implementación del descifrado XOR (Fuente - Samplepedia)
Desensamblado de bytecode de Python mostrando la implementación del descifrado XOR (Fuente – Samplepedia)

Los investigadores de seguridad desarrollaron una herramienta extractora genérica para manejar múltiples variantes con diferentes claves de encriptación.

La herramienta busca automáticamente estructuras de cookie válidas en el overlay PE y las valida comprobando la longitud del paquete, el desplazamiento de la tabla de contenidos y los campos de versión de Python.

Una vez localizada, el extractor analiza el bytecode de pyimod01_archive.pyc para extraer las claves XOR de expresiones generadoras dentro de la clase ZlibArchiveReader, permitiendo el descifrado automatizado de futuras muestras.


Fuentes:
https://cybersecuritynews.com/pdfly-variant-uses-custom-pyinstaller-modification/

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.