OXO Titan UI: simplificar el escaneo de seguridad para todos
OXO Titan UI integra las capacidades de OXO en una interfaz accesible y democratiza las técnicas avanzadas de escaneo de seguridad. Este artículo recorre el camino de OXO Titan desde el concepto hasta la realidad, destaca sus funcionalidades clave y presenta un ejemplo práctico de flujo de usuario.
Introducción
OXO es un framework de escaneo de seguridad de código abierto conocido por su sencillez. Sin embargo, la potencia y la versatilidad de la interfaz de línea de comandos (CLI) de OXO suelen suponer un reto para los usuarios que no están familiarizados con operaciones complejas en la línea de comandos.
Para solucionarlo, se desarrolló OXO Titan como una interfaz de usuario (UI) intuitiva que transforma la forma de interactuar con OXO. Esta UI OnPrem integra las capacidades de OXO en una interfaz accesible y democratiza las técnicas avanzadas de escaneo de seguridad. Al tender un puente entre la multitud de herramientas complejas y una UI sencilla, OXO Titan agiliza las operaciones y mejora la experiencia del usuario.
Este artículo recorre el camino de OXO Titan desde el concepto hasta la realidad, destaca sus funcionalidades clave y presenta un ejemplo práctico de flujo de usuario. Analizamos cómo esta UI simplifica la configuración y la ejecución de escaneos de vulnerabilidades, lo que la convierte en una herramienta indispensable tanto para profesionales de la seguridad noveles como experimentados.
Funcionalidades clave
OXO Titan UI
OXO Titan UI lleva las capacidades de la API de OXO a una interfaz gráfica, haciéndolas accesibles a un abanico más amplio de usuarios. Puede acceder a la UI ejecutando el comando oxo serve. En la figura siguiente, OXO sirve la UI en http://http://0.0.0.0:3420.
Antes de ejecutar el servidor, instale los requisitos con: pip install ostorlab[serve].

Gestión de escáneres y escaneos:
En OXO Titan, un escáner es un componente fundamental, ya que es donde se realizan los escaneos. Puede ser una máquina local o externa en la que se ejecuta el servidor de OXO y que funciona de forma independiente, lo que permite personalizarla para cumplir distintos requisitos de seguridad.
Para configurar un escáner, haga clic en el botón de escáneres e introduzca datos como Scanner Endpoint y API Key, que se obtienen al ejecutar el comando oxo serve.

Ejecución de escaneos:
Una vez configurado el escáner, comience a ejecutar escaneos con distintos tipos de activos. Para ejecutar un escaneo, proporcione los siguientes datos:
- Scanner: seleccione el escáner en el que se ejecutará el escaneo.
- Title: (opcional) asigne un título o nombre al escaneo.
- Asset: (obligatorio) especifique el activo que se va a escanear (por ejemplo, una aplicación Android/iOS, una aplicación web, una API o una red).
- Asset Definition YAML File: opcionalmente, ejecute escaneos sobre varios tipos de activos con este archivo.
- Agent Group: (obligatorio) seleccione el grupo de agentes en el que se ejecutará el escaneo. Consulte la documentación de grupos de agentes para obtener más información sobre qué es un grupo de agentes y cómo crear uno.

Después de ejecutar los escaneos, puede acceder a ellos desde un panel intuitivo que ofrece una vista centralizada de toda la actividad de escaneo en los escáneres configurados por el usuario.

Al hacer clic en un escaneo, puede ver sus detalles y las vulnerabilidades reportadas.

Además, los usuarios pueden almacenar en caché local y exportar los resultados completos de un escaneo haciendo clic en el botón de exportar de la página de detalles del escaneo.

Consulte la documentación de la UI para obtener más detalles sobre las capacidades de OXO Titan UI.
API de OXO
La API de OXO es una API GraphQL que amplía las capacidades de la interfaz de línea de comandos (CLI) y facilita la realización y la gestión de distintas actividades de escaneo.
Ofrece una serie de funcionalidades que simplifican y mejoran las interacciones del usuario con el framework OXO.
Por ejemplo, para obtener los escaneos y sus vulnerabilidades asociadas con los comandos de la CLI, primero hay que listar los escaneos con oxo scan list y después pasar el ID del escaneo a oxo vulnz list -s <scan_id>. Para ver los detalles de una vulnerabilidad se debe usar oxo vulnz describe -v <vuln_id>.
Sin embargo, una simple consulta GraphQL logra los mismos resultados con la API de OXO. A continuación se muestra cómo consultar los escaneos y sus vulnerabilidades con paginación:
query Scans {
scans(page: 1, numberElements: 10) {
scans {
id
title
createdTime
progress
vulnerabilities(numberElements: 1, page: 2) {
vulnerabilities {
id
technicalDetail
riskRating
detail {
title
shortDescription
description
recommendation
}
}
}
}
}
}
Estos son los principales casos de uso y funcionalidades que ofrece la API de OXO:
| Acción | Tipo | Argumento | Comentario |
|---|---|---|---|
RunScan |
Mutation | title: String, assetIds: [Int]!, agentGroupId: Int! |
|
StopScan |
Mutation | scanId: Int! |
|
DeleteScan |
Mutation | scanId: Int! |
|
ImportScan |
Mutation | file: Upload!, scanId: Int |
Importa un escaneo desde un archivo zip. |
ExportScan |
Mutation | scanId: Int!, exportIde: Boolean |
Exporta un escaneo a un archivo zip. |
CreateAssets |
Mutation | assets: [OxoAssetInputType]! |
|
PublishAgentGroup |
Mutation | agentGroup: OxoAgentGroupCreateInputType! |
|
DeleteAgentGroup |
Mutation | agentGroupId: Int! |
|
Scans |
Query | scanIds: [Int], page: Int, numberElements: Int, orderBy: OxoScanOrderByEnum, sort: SortEnum |
Consulta los escaneos y las vulnerabilidades reportadas. |
Scan |
Query | scanId: Int |
|
AgentGroups |
Query | search: String, page: Int, numberElements: Int, orderBy: AgentGroupOrderByEnum, sort: SortEnum, agentGroupIds: [Int], assetType: AssetTypeEnum |
Consulta los grupos de agentes con todos los agentes asociados y sus argumentos. |
Diseño y arquitectura
Consideremos el siguiente escenario, en el que un usuario gestiona dos escáneres, uno interno y otro externo:

Acceso y configuración
El usuario accede a la UI y añade instancias de escáner:

Operaciones de escaneo
El usuario puede realizar acciones como crear escaneos con distintos tipos de activos, entre ellos Android Store para activos de Google Play Store, Android Files como Apk o Aab, iOS Store para activos de Apple App Store, iOS IPA File, Web App para escaneos de aplicaciones web, Web API para escaneos de API accesibles a través de la web, y Network.

Después de ejecutar los escaneos, el usuario puede verlos y revisarlos en la página de lista de escaneos, que incluye pestañas para cada escáner y los escaneos ejecutados en él.

A continuación, el usuario puede exportar un escaneo haciendo clic en el botón «Export» de la página de detalles del escaneo. Por ejemplo, vamos a exportar el escaneo del activo web de Reddit desde el escáner externo e importarlo en el escáner local:


El usuario puede comprobar que el escaneo se ha importado desde la página de lista de escaneos:

Conclusión
OXO Titan supone una mejora sustancial del framework de código abierto OXO, al ofrecer una interfaz optimizada y fácil de usar que simplifica el escaneo de vulnerabilidades. Al mejorar la accesibilidad y la funcionalidad mediante un diseño intuitivo, OXO Titan permite a los usuarios gestionar varios escáneres, ejecutar escaneos sobre distintos tipos de activos, importar y exportar datos de escaneo y acceder fácilmente a informes detallados. Este avance garantiza que las organizaciones puedan mejorar de forma eficaz su eficiencia operativa y sus capacidades de seguridad dentro del ecosistema OXO.