PE-BEH
Behinder
Cliente GUI en Java para administrar un webshell autorizado mediante un canal cifrado dinámicamente y capaz de residir en memoria.
Sitio oficialVolver al catálogo
RESUMEN
Behinder (冰蝎, aproximadamente 'escorpión de hielo'), mantenido en github.com/rebeyond/Behinder, es un cliente de escritorio en Java para administrar un webshell cuya característica más distintiva es el cifrado dinámico por sesión: en vez de enviar un payload fijo y fácil de identificar por firma, el cliente y el stub negocian una clave simétrica de modo que el tráfico de cada conexión luce distinto, y las versiones más recientes pueden inyectar el stub directamente en memoria de proceso en vez de escribir un archivo estático en disco.
El repositorio no publica un archivo de licencia, por lo que debe tratarse como source-available y no bajo una licencia open-source específica — los equipos no deben asumir derechos de redistribución o modificación más allá de lo que por defecto permiten los términos de servicio de GitHub. Como con cualquier cliente de webshell, aquí se documenta estrictamente para administrar un stub ya autorizado y colocado en un objetivo durante una fase de post-explotación acordada y acotada.
CASOS DE USO
Casos de uso en un engagement
- 01
Administrar una sesión de webshell autorizada mediante un canal cifrado que resiste la detección de red basada en firmas simples.
- 02
Interactuar con un stub de shell residente en memoria para evitar dejar un artefacto de archivo estático en disco durante la ventana autorizada.
- 03
Demostrar a un cliente cómo un canal cifrado tipo C2 evade una regla de WAF o IDS ajustada solo para tráfico de webshell en texto claro.
- 04
Comparar la cobertura de detección frente a un cliente cifrado como Behinder contra uno en texto claro durante un ejercicio purple-team.
PRIMEROS PASOS
Una vez que un stub de webshell de prueba está autorizado y colocado dentro de una fase de post-explotación acordada, para administrar la sesión mediante un canal cifrado más difícil de detectar por firma que un cliente en texto claro.
- Confirma que las reglas de compromiso autorizan explícitamente un webshell de canal cifrado para esta fase, incluyendo los escenarios de detección que el cliente quiere probar.
- Descarga y ejecuta el cliente Behinder (requiere un runtime de Java) en la estación del tester.
- Añade un perfil de conexión apuntando al stub ya colocado y autorizado, con la clave de cifrado correspondiente.
- Usa los módulos de archivos, terminal y (cuando estén disponibles) base de datos, registrando cada acción para el informe.
- Retira el stub y revoca el perfil de conexión al cerrarse la ventana autorizada.
ANTES DE USARLA
Qué revisar antes de lanzarla
El repositorio no incluye archivo de licencia, así que trátalo como source-available y no como open-source al decidir cómo puede redistribuirse o modificarse dentro de un pipeline de herramientas.
El canal cifrado, a veces solo en memoria, está diseñado específicamente para evadir el monitoreo de red ingenuo — documenta esto explícitamente en el debrief del equipo defensivo para que la brecha de detección de C2 cifrado se entienda, y no se tome como un resultado limpio.
Colocar cualquier webshell debe quedar registrado con el cliente, acotado a la ventana acordada y retirado — incluyendo cualquier stub residente en memoria, que no sobrevive un reinicio pero debe rastrearse igual — antes de cerrar el engagement.