
Los investigadores han descubierto un nuevo ataque en el repositorio de Python Package Index (PyPI) que emplea código Python compilado para eludir la detección por parte de las herramientas de seguridad de aplicaciones.
“Puede ser el primer ataque a la cadena de suministro que aprovecha el hecho de que los archivos de código de bytes de Python (PYC) se pueden ejecutar directamente”, dijo el analista de ReversingLabs, Karlo Zanki. dicho en un informe compartido con The Hacker News.
El paquete en cuestión es fshec2que se eliminó del registro de paquetes el 17 de abril de 2023, luego de la divulgación responsable el mismo día.
Los archivos PYC son archivos de código de bytes compilados que genera el intérprete de Python cuando se ejecuta un programa de Python.
“Cuando se importa un módulo por primera vez (o cuando el archivo fuente ha cambiado desde que se creó el archivo compilado actual), se debe crear un archivo .pyc que contenga el código compilado en un subdirectorio __pycache__ del directorio que contiene el archivo .py, ” explica la documentación de Python.
El paquete, según la empresa de seguridad de la cadena de suministro de software, contiene tres archivos: _init_.py, main.py y full.pyc, el último de los cuales alberga una funcionalidad maliciosa.
“El punto de entrada del paquete se encontró en el archivo __init__.py, que importa una función del otro archivo de texto sin formato, main.py, que contiene el código fuente de Python responsable de cargar el módulo compilado de Python ubicado en uno de los otros archivos , full.pyc”, señaló Zanki.

Esto, a su vez, se logra haciendo uso de la paquete importlib (a diferencia de una importación regular) para cargar y ejecutar el código presente en el archivo .pyc.
Un análisis de la versión de ingeniería inversa del archivo PYC revela que está configurado para recopilar nombres de usuario, nombres de host y listados de directorios, así como para obtener comandos que se ejecutarán en el host desde un servidor codificado (13.51.44[.]246).
🔐 Dominio de la seguridad de API: comprensión de su verdadera superficie de ataque
Descubra las vulnerabilidades sin explotar en su ecosistema de API y tome medidas proactivas hacia una seguridad inquebrantable. ¡Únase a nuestro seminario web perspicaz!
ReversingLabs dijo que también observó la descarga del módulo y ejecutó otro script de Python que es responsable de obtener nuevos comandos colocados dentro de un archivo que el actor de amenazas puede modificar a voluntad para emitir diferentes instrucciones.
Un examen más detallado del servidor de comando y control descubrió una configuración incorrecta que hizo posible descargar archivos por su ID, que están numerados en orden secuencial (comenzando desde 1), sin ninguna autorización. Esto indica que lo más probable es que el ataque no haya sido orquestado por un actor sofisticado.
El desarrollo es una continuación de los esfuerzos por parte de los actores de amenazas para adoptar diferentes técnicas de ofuscación para evadir la detección de las soluciones de seguridad.
“Los scripts de carga como los descubiertos en el paquete fshec2 contienen una cantidad mínima de código de Python y realizan una acción simple: cargar un módulo de Python compilado”, dijo Zanki. “Simplemente resulta ser un módulo malicioso”.




