ShadowHS: Un Framework para la Post-Explotación en Linux sin Archivos Construido sobre un Hackshell Arma
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ícameDetecciones
Volcado de Memoria de Linux a través del Modo Batch de GDB (a través de línea de comandos)
Ver
Posible Descifrado AES-256-CBC de OpenSSL de Linux vía Pipeline (a través de línea de comandos)
Ver
Posible Ejecución sin Archivos de Linux a través de /proc/self/fd (a través de línea de comandos)
Ver
IOCs (HashSha256) para detectar: ShadowHS: Un Marco de Post-Explotación sin Archivos para Linux Construido sobre una Shell Hackeada Armado Parte 1
Ver
IOCs (HashSha256) para detectar: ShadowHS: Un Marco de Post-Explotación sin Archivos para Linux Construido sobre una Shell Hackeada Armado Parte 2
Ver
IOCs (DestinationIP) para detectar: ShadowHS: Un Marco de Post-Explotación sin Archivos para Linux Construido sobre una Shell Hackeada Armado
Ver
IOCs (SourceIP) para detectar: ShadowHS: Un Marco de Post-Explotación sin Archivos para Linux Construido sobre una Shell Hackeada Armado
Ver
Detección del Marco de Post-Explotación sin Archivos ShadowHS para Linux [Creación de Procesos Linux]
Ver
Detectar Uso Indebido de AES-256-CBC -nosalt y Enumeración /proc/*/exe [Evento de Archivo Linux]
Ver
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/*/exepara 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:-
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 -
Enumeración Proc‑exe – recorre todos los directorios de PID numéricos, imprimiendo el objetivo del
exeenlace 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
aesandlas condiciones delas 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."