Descripción

BeaconHTTP es un listener de tipo externo que escucha conexiones entrantes de agentes Beacon. El agente realiza callbacks periódicos al servidor usando HTTP/HTTPS, lo que permite la comunicación a través de firewalls y proxies corporativos.

Características

PropiedadValor
Nombre internoBeaconHTTP
TipoExterno
ProtocoloHTTP/HTTPS
DirecciónAgente → Servidor
Agente compatibleBeacon
Pluginlistener_beacon_http.so

Configuración

Crear un listener BeaconHTTP

  1. Abre el panel de Listeners en JustClient
  2. Haz clic en Create Listener
  3. Selecciona el tipo BeaconHTTP
  4. Configura los parámetros

Parámetros principales

ParámetroDescripciónEjemplo
NameNombre único del listenerhttp-main
Bind HostInterfaz donde escuchar0.0.0.0
Bind PortPuerto de escucha8443
Agent AddressDirección que los agentes usarán para conectarhttps://mi-servidor:8443

Dirección del agente

El campo Agent Address es la URL que el agente usará para sus callbacks. Puede ser diferente del host/puerto de bind si usas:

  • Redirectores — Un servidor intermedio que reenvía tráfico al C2
  • Domain fronting — Usar un CDN para ocultar el destino real
  • Reverse proxy — Un nginx/Apache delante del C2
Agente → https://dominio-legítimo.com → Redirector → JustServer:8443

Flujo de comunicación

1. Agente ejecuta en el objetivo
2. Cada N segundos (sleep), el agente hace HTTP request al listener
3. El request contiene datos cifrados del agente
4. El servidor procesa los datos y devuelve tareas pendientes
5. El agente ejecuta las tareas y envía resultados en el siguiente callback

Consideraciones OPSEC

Perfiles HTTP

El listener puede configurarse con perfiles de tráfico que modifican:

  • URLs y parámetros del request
  • Headers HTTP
  • Formato del body
  • User-Agent

Esto permite que el tráfico del agente se mimetice con tráfico web legítimo.

Recomendaciones

  • Usa HTTPS (puerto 443 o 8443) para cifrar el tráfico
  • Coloca un redirector entre el listener y los agentes
  • Configura headers que imiten un servicio real
  • Ajusta el intervalo de sleep según el perfil de detección
  • Usa domain fronting cuando sea posible

Ejemplo de despliegue

Internet                              Red interna
                                      
[Agente] ──HTTPS──► [Redirector] ──► [JustServer:8443]
                     (nginx/CDN)      (BeaconHTTP listener)

Con redirector nginx

server {
    listen 443 ssl;
    server_name dominio-fronting.com;

    location / {
        proxy_pass https://c2-real:8443;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}