SOC Prime Bias: Crítico

09 Apr 2026 15:14 UTC

Nuevo Documento Técnico: Variantes de BPFDoor Se Ocultan a Simple Vista

Author Photo
SOC Prime Team linkedin icon Seguir
Nuevo Documento Técnico: Variantes de BPFDoor Se Ocultan a Simple Vista
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Laboratorios Rapid7 identificaron siete nuevas variantes de BPFDoor que abusan de Filtros de Paquetes de Berkeley a nivel de kernel para mantener el acceso de puerta trasera sigiloso en entornos de telecomunicaciones. Las nuevas familias, httpShell e icmpShell, utilizan tunelización ICMP y HTTP sin estado con formatos de paquetes «mágicos» y campos IP ocultos para establecer comando y control con un mínimo de huella observable. El informe explica cómo los implantes buscan permanecer casi invisibles a través de la suplantación de procesos, limpieza de descriptores de archivos, modificación de marcas temporales y comunicaciones ICMP cifradas.

Investigación

Los investigadores analizaron casi 300 muestras y extrajeron nuevos rasgos de bytecode BPF, nuevos marcadores de «byte mágico» y nombres de procesos específicos de variante como hpasmlited y cmathreshd. La validación en laboratorio en Docker reprodujo la tunelización PTY impulsada por ICMP, el intercambio de cargas útil cifradas RC4 y un comportamiento de enrutamiento donde una bandera -1 devuelve el tráfico a la dirección de origen del paquete. El equipo también descubrió infraestructura de soporte, incluidos dominios que se hacen pasar por servicios NTP sobre SSL utilizados para mezclar tráfico de preparación y control.

Mitigación

Priorizar la telemetría que expone el abuso adyacente al kernel: monitorear la creación de sockets AF_PACKET, detectar la anexión de filtros BPF y buscar anomalías de protocolo vinculadas a estas variantes, incluyendo la secuencia ICMP 1234 y un código ICMP inválido 1. Alertar sobre demonios sospechosos con rutas ejecutables faltantes, nombres de servicio falsificados o características de ejecución inconsistentes con procesos de sistema legítimos. Rapid7 recomienda ejecutar el script de triaje rapid7_bpfdoor_check.sh y actualizar las detecciones YARA/Suricata con las firmas de byte mágico recién documentadas.

Respuesta

Si se encuentran indicadores, aislar el sistema, detener el proceso de implante sospechoso y bloquear los dominios e intervalos de IP asociados. Capturar artefactos de memoria y disco para preservar el estado BPF y la evidencia de ejecución, luego usar rapid7_bpfdoor_check.sh para identificar filtros BPF activos y artefactos de mutex de cero bytes relacionados. Finalmente, actualizar las detecciones con las firmas publicadas y continuar monitoreando la reaparición de los mismos marcadores de paquetes, nombres de procesos y comportamientos de anexión de filtros.

Flujo de Ataque

Ejecución de Simulación

Prerequisito: La Verificación de Telemetría y Línea Base debe haberse completado.

Narrativa del Ataque y Comandos

  1. Crear un script Bash malicioso en el ruta rara vez monitoreada /var/run/user/0.
  2. Hacer que el script sea ejecutable y luego eliminar el archivo mientras se mantiene abierto, resultando en un inode eliminado que el kernel registra como parte de la línea de comandos cuando el proceso continúa ejecutándose.
  3. Ejecutar el descriptor de archivo colgante, causando que el proceso se ejecute desde un inode eliminado y generando exactamente la telemetría que busca la regla Sigma.
  4. Verificar que la línea de comando del proceso en los registros de auditoría contenga la cadena “inode eliminado”, satisfaciendo selección3.
  5. Evadir las cadenas de suplantación excluidas (hpasmlited, cmathreshd) para asegurar que se active la regla.

Script de Prueba de Regresión

#!/usr/bin/env bash
# -------------------------------------------------
# Prueba de ejecución estilo BPFDoor desde inode eliminado
# -------------------------------------------------

# 1. Preparar una carga útil maliciosa (inofensiva)
PAYLOAD="/var/run/user/0/malicious.sh"
echo -e "#!/usr/bin/env bashnsleep 60" > "$PAYLOAD"
chmod +x "$PAYLOAD"

# 2. Abrir el descriptor de archivo (mantener el archivo abierto)
exec 3<"$PAYLOAD"

# 3. Eliminar el archivo del sistema de archivos – el inode permanece abierto a través del FD 3
rm -f "$PAYLOAD"

# 4. Ejecutar el script a través de su descriptor de archivo colgante.
#    El enlace simbólico /proc/self/fd/3 apunta al inode ahora eliminado.
bash /proc/self/fd/3 &

# 5. Dar un momento al proceso para que inicie y sea registrado
sleep 5

# 6. Limpiar: cerrar el descriptor de archivo
exec 3<&-
echo "Simulación completada – verificar alertas en SIEM."

Comandos de Limpieza

#!/usr/bin/env bash
# -------------------------------------------------
# Limpieza después de la simulación BPFDoor
# -------------------------------------------------

# Matar cualquier proceso de sueño restante iniciado por el script
pkill -f "sleep 60"

# Asegurarse de que no queden archivos sobrantes en el directorio objetivo
rm -f /var/run/user/0/malicious.sh

echo "Limpieza finalizada."

Fin del Informe