Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
reconswarm — Extiende tu reconocimiento con el poder de la nube | Kitploit
Herramientas/GitHubGitHub/renatus-cartesius/reconswarm
ReconocimientoPruebas de PenetraciónSeguridad en la NubeDevSecOpsEnumeración de Subdominios
GitHubrenatus-cartesius/reconswarm

reconswarm

Extiende tu reconocimiento con el poder de la nube

Ver Repositorio
920hace 6 mesesAún no revisado

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

ReconSwarm

Architecture

ReconSwarm es un framework modular de automatización de reconocimiento diseñado para pruebas de seguridad distribuidas. Aprovisiona infraestructura en la nube, ejecuta pipelines de reconocimiento en paralelo y recopila resultados con una configuración mínima.

ReconSwarm es adecuado para cazadores de recompensas, testers de penetración, ingenieros DevSecOps e investigadores de seguridad que necesitan flujos de trabajo de reconocimiento escalables y automatizados sin gestión manual de infraestructura.

Características

Targets flow

  • Dividir objetivos para ejecución paralela — La lista final de objetivos compilados se divide entre los workers para la ejecución paralela de tareas de reconocimiento.
  • Múltiples tipos de objetivo — La lista de objetivos consta de varios tipos de elementos: dominios de la respuesta de crt.sh, lista externa (URLs HTTP/HTTPS), lista simple (arrays YAML en línea) y salida de comandos de shell, lo cual es muy flexible para usar con cualquier herramienta (cook, shodan, gau, katana, etc.).
  • Arquitectura agnóstica de la nube — Permite una fácil integración con múltiples proveedores de nube (actualmente compatible con AWS, GCP, Yandex Cloud y DigitalOcean).
  • Etapas de pipeline flexibles — Sistema de etapas extensible que actualmente soporta operaciones exec (ejecución de comandos) y sync (sincronización de archivos y directorios).
  • Contexto de plantilla en los pasos — Forma flexible de pasar metadatos del contexto de ejecución a los pasos.

Características imprescindibles por implementar

  • Interfaz web — Una interfaz web simple y fácil de usar para una iteración rápida.
  • Registros en tiempo real desde las etapas — Capturar stdout/stderr y enviarlos al cliente mediante streaming gRPC.
  • Shell remoto a los workers — Abrir conexión SSH desde el cliente a los workers a través del servidor RS.
  • Etapa de hallazgos — Una etapa para procesar datos recibidos de la etapa anterior (ej. resultado JSON de nuclei), almacenarlos en etcd y generar notificaciones.

Arquitectura

ReconSwarm sigue una arquitectura modular con una clara separación de responsabilidades entre el aprovisionamiento en la nube, el control remoto del sistema, la ejecución del pipeline y la gestión de la configuración.

Abstracción del Proveedor de Nube

ReconSwarm utiliza un patrón de unión discriminada para los aprovisionadores de nube. El campo provisioner.type determina qué configuración de proveedor está activa:

provisioner:
  type: yandex_cloud  # Campo discriminador
  yandex_cloud:       # Activo cuando type: yandex_cloud
    iam_token: "${YC_TOKEN}"
    # key_path: "./sa_auth_key.json"
    folder_id: "${YC_FOLDER_ID}"
    # ... configuraciones específicas del proveedor

Se pueden integrar proveedores de nube adicionales implementando la interfaz Provisioner y agregando un nuevo tipo a la fábrica.

Sistema de Etapas del Pipeline

Las etapas son componentes extensibles que ejecutan operaciones en las máquinas virtuales worker:

  • exec — Ejecuta comandos de shell con soporte de plantillas.
  • sync — Copia archivos o directorios desde máquinas virtuales remotas a la máquina local mediante SFTP (detecta automáticamente si es archivo o directorio).

Todos los campos de las etapas admiten renderizado de plantillas. Se pueden agregar nuevos tipos de etapas para extender la funcionalidad.

Servidor sin Estado y Tolerancia a Fallos

El servidor de ReconSwarm es completamente stateless — todo el estado se persiste en etcd:

  • Estado del pipeline — Estado, progreso, errores de cada pipeline.
  • Estado del worker — Información de la VM, tarea actual, estado.
  • Claves SSH — Pares de claves generados para acceso a las VMs.

Esta arquitectura permite:

CapacidadDescripción
Escalado horizontalEjecutar múltiples instancias del servidor detrás de un balanceador de carga.
Reinicios sin tiempo de inactividadReiniciar el servidor sin perder el estado del pipeline.
Recuperación ante fallosUna nueva instancia del servidor retoma donde se quedó la anterior.
Inspección de estadoConsultar etcd directamente para depuración y monitoreo.

Configuración de Alta Disponibilidad:

                    ┌─────────────┐
                    │   Cliente   │
                    └──────┬──────┘
                           │
                    ┌──────▼──────┐
                    │Balanceador  │
                    │   de Carga  │
                    └──────┬──────┘
              ┌────────────┼────────────┐
              │            │            │
       ┌──────▼──────┐ ┌───▼───┐ ┌──────▼──────┐
       │  Servidor 1 │ │ Serv2 │ │  Servidor 3 │
       └──────┬──────┘ └───┬───┘ └──────┬──────┘
              │            │            │
              └────────────┼────────────┘
                           │
                    ┌──────▼──────┐
                    │ etcd cluster│
                    └─────────────┘

Todos los servidores comparten el mismo clúster etcd y pueden manejar cualquier solicitud. Si un servidor falla en medio de un pipeline, otro servidor puede continuar la ejecución después de leer el estado desde etcd.

Nota: La implementación actual ejecuta los pipelines en memoria después de cargarlos desde etcd. La recuperación completa ante fallos con reanudación del pipeline está planificada para versiones futuras.

Instalación

git clone <repository>
cd reconswarm
go mod download
task build

Configuración

ReconSwarm separa la configuración del servidor de la configuración del pipeline:

Tipo de ConfiguraciónArchivoDescripción
Servidorreconswarm.yamlProveedor de nube, etcd, configuración del pool de workers.
PipelineArchivo YAML separadoObjetivos y etapas, se pasa mediante la bandera -f.

Configuración del Servidor

La configuración del servidor se almacena en reconswarm.yaml (configurable mediante la variable de entorno CONFIG_PATH). Todos los valores de cadena admiten expansión de variables de entorno utilizando la sintaxis ${VAR} o $VAR.

# Configuración del servidor
server:
  port: 50051

# Conexión a etcd para gestión de estado
etcd:
  endpoints:
    - "localhost:2379"
  dial_timeout: 5  # segundos
  username: ""     # opcional, soporta ${ETCD_USER}
  password: ""     # opcional, soporta ${ETCD_PASSWORD}

# Aprovisionador de nube (unión discriminada)
provisioner:
  type: yandex_cloud  # Selector de proveedor

  # Configuración de Yandex Cloud (activa cuando type: yandex_cloud)
  yandex_cloud:
    iam_token: "${YC_TOKEN}"
    # key_path: "./sa_auth_key.json"
    folder_id: "${YC_FOLDER_ID}"
    default_zone: "ru-central1-b"
    default_image: "fd8b1cmhmncn7lt4tqn4"
    default_username: "root"
    default_cores: 2
    default_memory: 2      # GB
    default_disk_size: 20  # GB

# Configuración del pool de workers
workers:
  max_workers: 5
  setup_commands:
    - "apt update"
    - "apt install -y docker.io"

Configuración del Pipeline

La configuración del pipeline se almacena en un archivo YAML separado y se pasa mediante la bandera -f. Se admiten tanto el formato envuelto como el no envuelto:

Descargar herramienta