Ataque Masivo a la Cadena de Suministro de PyPI Recolecta Credenciales en la Nube mediante Hooks de Inicio de Python
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Una operación coordinada de la cadena de suministro conocida como la Campaña Hades ha comprometido 26 paquetes PyPI para robar credenciales en la nube. El ataque abusa de Python .pth archivos para activar código malicioso durante el inicio del intérprete, utilizando el entorno de ejecución de JavaScript Bun para ejecutar la carga útil. Está diseñado para recolectar secretos vinculados a AWS, GCP, Azure, Kubernetes y GitHub a través de múltiples sistemas operativos.
Investigación
Orca Security identificó 37 archivos wheel maliciosos distribuidos en ecosistemas de bioinformática y herramientas de desarrollo. Su análisis expuso una técnica de ejecución cruzada en la que el malware descarga Bun para ejecutar cargas útiles de JavaScript ofuscadas. La campaña también genera tráfico señuelo hacia servicios de Anthropic AI y utiliza técnicas de inyección de comandos para reducir la efectividad de la revisión de seguridad basada en LLM.
Mitigación
Las organizaciones deben eliminar inmediatamente los paquetes afectados o fijarlos a versiones seguras y rotar todas las credenciales potencialmente expuestas. Esto incluye tokens de acceso a la nube, tokens de acceso personal de GitHub, claves SSH y credenciales de registro de Docker. Los equipos de seguridad también deben buscar los artefactos de persistencia conocidos en hosts de Linux, macOS y Windows.
Respuesta
Cuando se sospecha de un compromiso, aísle el sistema afectado antes de rotar las credenciales para reducir el riesgo de extorsión a través del daemon de monitorización de tokens GitHub . Reconstruya cualquier estación de trabajo de desarrollador y corredores CI/CD que hayan ejecutado los paquetes contaminados. Revise los repositorios de GitHub para detectar commits no autorizados y para nuevos repositorios creados que coincidan con los patrones de nombres de los atacantes.
Flujo de Ataque
Detecciones
Creación Suspiciosa de Archivos Plist en LaunchAgents o LaunchDaemons (vía evento_archivo)
Ver
Procesos Hijos de NodeJS Sospechosos [Linux] (vía línea_de_comando)
Ver
Creación de Archivos de Servicio en la Carpeta Systemd (vía evento_archivo)
Ver
Posible Archivo Hook de Configuración Específica del Sitio Fue Creado (vía evento_archivo)
Ver
Script de Linux Fue Creado en Carpetas Temporales (vía evento_archivo)
Ver
Paquetes de Python Maliciosos IOCs (vía línea_de_comando)
Ver
Detección de Raspado de Token de Autenticación GCP por la Campaña Hades [Google Cloud Platform]
Ver
Campaña Hades – Exfiltración de Tokens de Autenticación de Azure [Registros de Actividad de Azure]
Ver
Recolección de Credenciales de la Nube de AWS a través de Ataque a la Cadena de Suministro de PyPI [AWS Cloudtrail]
Ver
Ejecución de Simulación
Prerequisito: La Verificación Previa de Telemetría y Línea de Base debe haber pasado.
Racional: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTP identificados y buscan generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a un diagnóstico erróneo.
-
Narrativa del Ataque y Comandos: El adversario ha comprometido con éxito la estación de trabajo de un desarrollador a través de un paquete malicioso de PyPI (Campaña Hades). Un gancho de inicio de Python se ha ejecutado, raspando exitosamente un token de autenticación de Azure de la memoria/cache local. Para simular la detección de esta actividad en los Registros de Auditoría de Azure, simularemos la generación de una entrada de Registro de Auditoría que contenga la cadena específica «tokens de autenticación de Azure» en el campo de descripción, imitando la telemetría de evento que un sistema automatizado podría reportar cuando detecta tal exfiltración.
-
Script de Prueba de Regresión: Dado que no podemos forzar fácilmente al backend real de Azure a generar una cadena de descripción maliciosa específica sin una verdadera violación, simulamos la presencia del registro en el flujo de telemetría (a menudo realizado en BAS inyectando un registro sintético en el espacio de trabajo).
# Inyección de Registro Sintético para simular la detección de exfiltración de tokens # Esto simula el campo 'Descripción' siendo poblado con la cadena objetivo. $LogEntry = @{ TimeGenerated = (Get-Date).ToString("yyyy-MM-ddTHH:mm:ssZ") OperationName = "TokenExfiltrationDetected" Result = "Success" Description = "Actividad de malware detectada: Tokens de autenticación de Azure fueron exfiltrados de un proceso local." Identity = "gancho-python-malicioso@atacante.com" } Write-Host "Inyectando telemetría sintética para validar la regla de detección..." # En un BAS real, esto llamaría a la API de Recolección de Datos de Análisis de Registros # Para propósitos de simulación, representamos la entrada de registro resultante: $LogEntry | ConvertTo-Json -
Comandos de Limpieza:
# Si los registros sintéticos se inyectaron a través de la API, elimine el ID de correlación específico # Para esta simulación, no se realizaron cambios persistentes en el Inquilino de Azure. Write-Host "Limpieza completa. No quedan artefactos persistentes del adversario."