SOC Prime Bias: Crítico

05 Feb 2026 19:59

ShadowHS: Un Framework para la Post-Explotación en Linux sin Archivos Construido sobre un Hackshell Arma

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
ShadowHS: Un Framework para la Post-Explotación en Linux sin Archivos Construido sobre un Hackshell Arma
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

ShadowHS es un marco de post-explotación sin archivos para Linux que ejecuta una shell hackeada armada completamente en memoria. Un pequeño cargador descifra una carga útil AES-256-CBC, la reconstruye a través de descriptores de archivo anónimos y la ejecuta sin tocar el disco. Una vez en funcionamiento, ofrece un shell interactivo más módulos para robo de credenciales, movimiento lateral, criptominería y exfiltración silenciosa. El diseño prioriza el sigilo, el control del operador y la persistencia duradera en diversos sistemas Linux.

Investigación

Los analistas de Cyble desglosaron el cargador en etapas, recuperaron un script de shell cifrado, mapearon una cadena de descifrado basada en Perl y confirmaron la ejecución a través de rutas /proc/*/fd/. Documentaron amplias comprobaciones EDR/AV, lógica de anti-competencia, y módulos a demanda para fuerza bruta SSH, explotación del kernel y minería en GPU, con resultados repetibles en pruebas. El informe también enumera puntos de conexión C2 codificados y un método de exfiltración rsync sobre GSocket.

Mitigación

Vigile la ejecución ELF desde /proc//fd/, cadenas de descifrado OpenSSL/Perl inusuales y artefactos de suplantación de argv. Obtenga visibilidad en binarios eliminados o respaldados por memfd, herramientas de volcado de memoria y transportes rsync no estándar. Bloquee los pools de minería conocidos y restrinja los túneles GSocket para reducir el abuso. Alerta sobre el uso sospechoso de memfd_create a escala.

Respuesta

Si se detecta, aisle el host, capture la memoria para la investigación, termine el marco en memoria y cualquier contenedor de minería, y bloquee las IPs/domains C2 referenciadas. Inventarie las credenciales expuestas, rote las claves y contraseñas, y fortalezca el sistema. Rastree intentos de movimiento lateral y actividad de escaneo, incluyendo el uso de rustscan y spirit, para dimensionar la propagación y prevenir la reinfección.

Flujo de Ataque

Todavía estamos actualizando esta parte. Suscríbase para ser notificado

Notifícame

Ejecución de Simulación

Prerequisito: La Verificación Previa de Telemetría y Línea Base debe haber pasado.

Fundamento: 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 las TTPs identificadas y apuntar a generar la telemetría exacta que espera la lógica de detección. Los ejemplos abstractos o no relacionados conducirán a un diagnóstico incorrecto.

  • Narrativa y Comandos del Ataque:
    Un atacante que ya ha obtenido una base en el host Linux comprometido desea (1) descifrar un blob de datos exfiltrado previamente usando OpenSSL sin sal para evitar la verificación de entropía adicional, y (2) enumerar todos los ejecutables en ejecución a través de /proc/*/exe para descubrir procesos privilegiados que puedan contener credenciales o para identificar herramientas de seguridad para desactivar más tarde. El atacante ejecuta los siguientes comandos en una sesión de Bash:

    1. Descifrado de OpenSSL (AES‑256‑CBC, sin sal) – reproduce exactamente la cadena que la regla Sigma vigila:

      openssl enc -d -aes-256-cbc -nosalt -in /tmp/stolen.enc -out /tmp/secret.txt
    2. Enumeración Proc‑exe – recorre todos los directorios de PID numéricos, imprimiendo el objetivo del exe enlace simbólico:

      for pid in /proc/[0-9]*; do
          readlink "$pid/exe"
      done

    Estas acciones generan dos eventos de creación de procesos distintos que satisfacen aes and las condiciones de las condiciones de

  • Prueba de Regresión de Scripts:

    #!/usr/bin/env bash
    set -euo pipefail
    
    # ==== 1. Descifrado de OpenSSL (AES-256-CBC, sin sal) ====
    # Crear un archivo cifrado de prueba para el test
    echo "SensitiveData123" > /tmp/plain.txt
    openssl enc -aes-256-cbc -nosalt -salt -out /tmp/stolen.enc -pass pass:TestPass < /tmp/plain.txt
    
    # Descifrar usando exactamente el patrón de detección
    openssl enc -d -aes-256-cbc -nosalt -in /tmp/stolen.enc -out /tmp/secret.txt -pass pass:TestPass
    
    # ==== 2. Enumerar enlaces simbólicos /proc/*/exe ====
    for pid in /proc/[0-9]*; do
        readlink "$pid/exe"
    done
    
    echo "Simulación completa. Verifique alertas en SIEM."
  • Comandos de Limpieza:

    #!/usr/bin/env bash
    set -euo pipefail
    
    rm -f /tmp/plain.txt /tmp/stolen.enc /tmp/secret.txt
    echo "Limpieza finalizada."