Descripción

AxScript es un sistema de extensiones que permite:

  • Definir la interfaz de configuración de los listeners y agentes
  • Añadir comandos personalizados
  • Crear paneles de extensiones en el cliente
  • Automatizar tareas mediante scripts

Archivos AxScript

Cada extender incluye un archivo ax_config.axs que define la configuración de UI para ese extender. Estos archivos se cargan junto con el plugin .so.

Ubicación

dist/extenders/beacon_listener_http/
├── listener_beacon_http.so
├── config.yaml
└── ax_config.axs        ← Archivo AxScript

Scripts globales

Además de los scripts por extender, puedes cargar scripts AxScript globales en el profile.yaml:

Teamserver:
  axscripts:
    - "Extension-Kit/extension-kit.axs"
    - "scripts/custom_commands.axs"

Funcionalidades

Definición de UI

AxScript permite definir los formularios de configuración que aparecen en el cliente al crear listeners o generar agentes:

  • Campos de texto
  • Selectores (dropdowns)
  • Checkboxes
  • Campos de archivo
  • Campos numéricos

Comandos personalizados

Los scripts pueden registrar nuevos comandos disponibles en la consola del agente, extendiendo las capacidades sin modificar el código del agente.

Paneles de extensión

AxScript puede crear paneles personalizados en el cliente que se muestran en la sección de Extensions.

Consola AxScript

JustClient incluye una AxScript Console accesible desde la barra lateral. Esta consola permite:

  • Ejecutar scripts AxScript interactivamente
  • Depurar scripts
  • Probar comandos personalizados

Desarrollo

Estructura básica

Un script AxScript define elementos de interfaz y lógica asociada que el cliente y el servidor interpretan para presentar opciones al operador y procesar sus entradas.

Integración con extenders

Cada extender incluye su propio ax_config.axs que define:

  1. Los campos de configuración del listener o agente
  2. Los comandos disponibles para ese tipo de agente
  3. Los formatos de salida de los comandos
  4. Las validaciones de entrada

Carga

Los scripts se cargan al inicio del servidor:

  1. Scripts de extenders — Se cargan automáticamente con el plugin
  2. Scripts globales — Se cargan desde las rutas en profile.yaml

Ejemplo de uso

Extension Kit

El Extension Kit es un paquete de scripts AxScript que añade funcionalidades adicionales:

Teamserver:
  axscripts:
    - "Extension-Kit/extension-kit.axs"

Para usarlo, coloca el directorio Extension-Kit/ en el directorio de trabajo del servidor.