SOC Prime Bias: Crítico

12 Jun 2026 18:43 UTC

Ataque Masivo a la Cadena de Suministro de PyPI Recolecta Credenciales en la Nube mediante Hooks de Inicio de Python

Author Photo
SOC Prime Team linkedin icon Seguir
Ataque Masivo a la Cadena de Suministro de PyPI Recolecta Credenciales en la Nube mediante Hooks de Inicio de Python
shield icon

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

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."