Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
OST-C2-Spec — Especificación de C&C de código abierto | Kitploit
Herramientas/GitHubGitHub/rasta-mouse/ost-c2-spec
ExplotaciónMovimiento LateralPost-ExplotaciónComando y ControlRed Teaming
GitHubrasta-mouse/ost-c2-spec

OST-C2-Spec

Especificación de C&C de código abierto

Ver Repositorio
2831817hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Borrador: Solicitud de Discusión

Resumen

Este documento proporciona una visión general de la Versión 1 de la Especificación OST C&C. Su objetivo es ofrecer una descripción detallada de los mensajes y de los campos que contienen.

Introducción

La motivación detrás de esta especificación es proporcionar un protocolo de mensajería C&C (que incluya asignación de tareas, salida estructurada y enrutamiento peer-to-peer) que pueda implementarse literalmente, o simplemente servir de inspiración para los desarrolladores de proyectos. Este documento no pretende describir qué es C&C. Se asume que el lector entiende qué es y para qué se utiliza.

Las palabras clave "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" y "OPTIONAL" deben interpretarse tal como se describe en [RFC2119].

Supuestos del entorno

Esta especificación asume lo siguiente:

  • Los mensajes se envían a través de una red no cifrada.
  • Las cargas útiles del implante incorporan la clave pública RSA utilizada por el servidor de equipo con el que se pretende comunicar.

Glosario de términos

A continuación se presenta una lista de términos utilizados a lo largo de este documento.

  • Metadatos del implante: Información que un implante reporta sobre sí mismo a un servidor de equipo.

  • Solicitud de tarea: Una tarea dada a un implante para que la realice.

  • Respuesta de tarea: El estado y la salida (si la hay) de una tarea determinada.

  • Clave de sesión: Una clave de cifrado única utilizada por un implante para cifrar sus mensajes.

Mensajes de tarea

Encabezado de tarea

Cada mensaje de solicitud y respuesta de tarea DEBE tener el siguiente encabezado de 16 bytes.```text | Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | | -------------------------------------------------------------| | 0 | Type | Code | Flags | Label | | -------------------------------------------------------------| | 1 | Identifier | Length | | -------------------------------------------------------------|

- **Type**: entero de 1 byte. El 'tipo' de tarea que es. Ver [[Tipos de tareas y códigos](https://github.com/rasta-mouse/ost-c2-spec?tab=readme-ov-file#task-types-and-codes)].
- **Code**: entero de 1 byte. Un 'subcódigo' para el Tipo dado. Ver [[Tipos de tareas y códigos](https://github.com/rasta-mouse/ost-c2-spec?tab=readme-ov-file#task-types-and-codes)].
- **Flags**: entero de 2 bytes. Un conjunto de banderas de bits para describir el estado del mensaje. Ver [[Banderas de tarea](https://github.com/rasta-mouse/ost-c2-spec?tab=readme-ov-file#task-flags)].
- **Label**: entero de 4 bytes. Una etiqueta única para correlacionar múltiples mensajes relacionados con la misma tarea.
- **Identifier**: entero de 4 bytes. Un identificador secuencial utilizado para construir mensajes fragmentados en el orden correcto.
- **Length**: entero de 4 bytes. La longitud total de los datos de la tarea.

## Tipos de tareas y códigos```text
|------------------|--------------------------|
| Type             | Code                     |
|------------------|--------------------------|
| 0 - NOP          | 0                        |
|------------------|--------------------------|
| 1 - Exit         | 0                        |
|------------------|--------------------------|
| 2 - Set          | 0 - Sleep/Jitter         |
|                  | 1 - SpawnTo              |
|                  | 2 - BlockDLLs            |
|                  | 3 - PPID                 |
|------------------|--------------------------|
| 3 - File         | 0 - Copy                 |
|                  | 1 - Move                 |
|                  | 2 - Delete               |
|                  | 3 - Upload               |
|                  | 4 - Download             |
|------------------|--------------------------|
| 4 - Directory    | 0 - Print                |
|                  | 1 - Change               |
|                  | 2 - Create               |
|                  | 3 - Copy                 |
|                  | 4 - Move                 |
|                  | 5 - List                 |
|                  | 6 - Delete               |
|------------------|--------------------------|
| 5 - WhoAmI       | 0                        |
|------------------|--------------------------|
| 6 - Process      | 0 - List                 |
|                  | 1 - Kill                 |
|                  | 2 - Inject Spawn         |
|                  | 3 - Inject Explicit      |
|------------------|--------------------------|
| 7 - Registry     | 0 - Query                |
|                  | 1 - Add                  |
|                  | 2 - Delete               |
|------------------|--------------------------|
| 8 - RPortFwd     | 0 - Start                |
|                  | 1 - Data                 |
|------------------|--------------------------|
| 9 - Environment  | 0 - Get                  |
|                  | 1 - Set                  |
|------------------|--------------------------|
| 10 - SOCKS       | 0 - Connect              |
|                  | 1 - Data                 |
|                  | 2 - Close                |
|------------------|--------------------------|
| 11 - Tokens      | 0 - List                 |
|                  | 1 - Make                 |
|                  | 2 - Steal                |
|                  | 3 - Use                  |
|                  | 4 - Revert               |
|                  | 5 - Delete               |
|                  | 6 - Purge                |
|------------------|--------------------------|
| 12 - Run         | 0                        |
|------------------|--------------------------|
| 13 - ItemStore   | 0 - List                 |
|                  | 1 - Add                  |
|                  | 2 - Delete               |
|                  | 3 - Purge                |
|------------------|--------------------------|
| 14 - LocalExec   | 0 - .NET                 |
|                  | 1 - BOF                  |
|                  | 2 - Managed PowerShell   |
|                  | 3 - Unmanaged PowerShell |
|------------------|--------------------------|
| 15 - PrintScreen | 0                        |
|------------------|--------------------------|
| 16 - RemoteExec  | 0 - WinRM                |
|                  | 1 - WMI                  |
|                  | 2 - PsExec               |
|                  | 3 - SSH                  |
|------------------|--------------------------|
| 17 - Link        | 1 - Link SMB             |
|                  | 2 - Link TCP             |
|------------------|--------------------------|
| 18 - Unlink      | 0                        |
|------------------|--------------------------|
| 19 - P2P         | 0 - Acknowledge          |
|                  | 1 - PassThru             |
|------------------|--------------------------|
| 20 - Jobs        | 0 - List                 |
|                  | 1 - Kill                 |
|---------------------------------------------|

Indicadores de tarea

Algunos indicadores son mutuamente excluyentes y NO DEBEN establecerse juntos. Si no se establece ningún indicador, se DEBERÍA asumir que una tarea se completó correctamente y la salida asociada (si la hay) NO está fragmentada.```text

ValueDescription
0No flags
1Task Error
2Task Running (as job)
4Message is fragmented, more to follow
8Message is fragmented, no more to follow
## Datos de la tarea
Descargar herramienta