Primer inicio
Paso 1: Compilar el proyecto
cd JustC2
make allEsto generará todos los binarios en el directorio dist/.
Paso 2: Generar certificados TLS
cd dist/
bash ssl_gen.shSe te pedirá información para el certificado (puedes dejar los valores por defecto presionando Enter). Se generarán:
server.rsa.crt— Certificado públicoserver.rsa.key— Clave privada
Paso 3: Configurar el servidor
Edita dist/profile.yaml con tus preferencias:
Teamserver:
interface: "0.0.0.0" # Escuchar en todas las interfaces
port: 4321 # Puerto del servidor
endpoint: "/myc2" # Cambia el endpoint por defecto
password: "MiPassSegura" # Contraseña para conectar
only_password: true # Solo contraseña, sin usuarios
cert: "server.rsa.crt"
key: "server.rsa.key"
extenders:
- "extenders/beacon_listener_http/config.yaml"
- "extenders/beacon_agent/config.yaml"
- "extenders/gopher_listener_tcp/config.yaml"
- "extenders/gopher_agent/config.yaml"Paso 4: Iniciar el servidor
cd dist/
./justserverDeberías ver una salida similar a:
[*] Loading profile...
[+] Profile loaded
[*] Loading extenders...
[+] Loaded listener: BeaconHTTP
[+] Loaded agent: beacon
[+] Loaded listener: GopherTCP
[+] Loaded agent: gopher
[*] Starting teamserver on 0.0.0.0:4321
[+] Teamserver startedSi algún extender falla al cargar, el servidor continuará con los que se cargaron correctamente.
Paso 5: Conectar el cliente
Inicia el cliente desde otra terminal (o desde otra máquina):
./JustClientPantalla de conexión
Se abrirá el diálogo de conexión donde debes configurar:
| Campo | Valor | Descripción |
|---|---|---|
| Host | https://IP:4321 | Dirección del servidor |
| Endpoint | /myc2 | El endpoint configurado en profile.yaml |
| Username | operador1 | Tu nombre de operador (informativo en modo only_password) |
| Password | MiPassSegura | La contraseña del servidor |
| Project Dir | /ruta/local/proyecto | Directorio local para almacenar datos del proyecto |
Haz clic en Connect para establecer la conexión.
Certificado autofirmado
El cliente aceptará automáticamente certificados autofirmados. No es necesario importar el certificado del servidor.
Paso 6: Verificar la conexión
Una vez conectado, el cliente se sincronizará con el servidor y mostrará la interfaz principal. Verifica que:
- La barra de estado muestra la conexión activa (icono verde)
- El panel de Listeners está vacío (aún no has creado ninguno)
- El panel de Sesiones está vacío (no hay agentes conectados)
Próximos pasos
- Crear un listener — Ve a Listeners para crear tu primer listener
- Generar un agente — Ve a Generación de agentes para compilar tu primer payload
- Ejecutar el agente — Despliega el agente en el sistema objetivo (en tu entorno de pruebas)
- Operar — Ve a Operaciones para aprender a interactuar con los agentes
Ejemplo completo: primera sesión
# Terminal 1: Servidor
cd dist/
bash ssl_gen.sh
./justserver
# Terminal 2: Cliente
cd dist/
./JustClient
# → Conectar al servidor
# → Crear listener BeaconHTTP en puerto 8443
# → Generar payload Beacon para Linux x64
# → Ejecutar payload en máquina de pruebas
# El agente aparecerá en la tabla de sesiones
# → Clic derecho → Interact → Se abre la consola del agente