Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
reconswarm — Étendez votre reconnaissance avec la puissance du cloud | Kitploit
Outils/GitHubGitHub/renatus-cartesius/reconswarm
ReconnaissanceTests d'IntrusionSécurité CloudDevSecOpsÉnumération de Sous-domaines
GitHubrenatus-cartesius/reconswarm

reconswarm

Étendez votre reconnaissance avec la puissance du cloud

Voir le dépôt
922il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

ReconSwarm

Architecture

ReconSwarm est un framework modulaire d'automatisation de reconnaissance conçu pour les tests de sécurité distribués. Il provisionne une infrastructure cloud, exécute des pipelines de reconnaissance parallèles et collecte les résultats avec un minimum de configuration.

ReconSwarm est adapté aux chasseurs de bug bounty, testeurs d'intrusion, ingénieurs DevSecOps et chercheurs en sécurité qui ont besoin de workflows de reconnaissance automatisés et évolutifs sans gestion manuelle de l'infrastructure.

Fonctionnalités

Targets flow

  • Division des cibles pour exécution parallèle — La liste finale des cibles compilées est divisée entre les workers pour une exécution parallèle des tâches de reconnaissance
  • Types de cibles multiples — La liste de cibles se compose de plusieurs types d'éléments : domaines issus de la réponse crt.sh, liste externe (URLs HTTP/HTTPS), liste simple (tableaux YAML en ligne) et sortie de commande shell, ce qui est très flexible pour une utilisation avec n'importe quel outil (cook, shodan, gau, katana, etc.)
  • Architecture agnostique au cloud — Permet une intégration facile avec plusieurs fournisseurs cloud (prend actuellement en charge AWS, GCP, Yandex Cloud et Digital Ocean)
  • Étapes de pipeline flexibles — Système d'étapes extensible prenant actuellement en charge les opérations exec (exécution de commandes) et sync (synchronisation de fichiers et répertoires)
  • Contexte de template dans les étapes — Manière flexible de passer des métadonnées du contexte d'exécution aux étapes

Fonctionnalités indispensables à réaliser

  • Web UI — Une interface utilisateur web simple et conviviale pour une itération rapide
  • Logs en temps réel des étapes — Capturer stdout/stderr et les envoyer au client via streaming gRPC
  • Shell distant vers les workers — Ouverture d'une connexion SSH du client aux workers via le serveur rs
  • Étape Findings — Une étape pour traiter les données reçues de l'étape précédente (par exemple, résultat JSON de nuclei), les stocker dans etcd et envoyer des notifications

Architecture

ReconSwarm suit une architecture modulaire avec une séparation claire des responsabilités entre le provisionnement cloud, le contrôle à distance du système, l'exécution des pipelines et la gestion de la configuration.

Abstraction du fournisseur cloud

ReconSwarm utilise un modèle d'union discriminée pour les provisionneurs cloud. Le champ provisioner.type détermine quelle configuration de fournisseur est active :

provisioner:
  type: yandex_cloud  # Champ discriminant
  yandex_cloud:       # Actif lorsque type: yandex_cloud
    iam_token: "${YC_TOKEN}"
    # key_path: "./sa_auth_key.json"
    folder_id: "${YC_FOLDER_ID}"
    # ... paramètres spécifiques au fournisseur

Des fournisseurs cloud supplémentaires peuvent être intégrés en implémentant l'interface Provisioner et en ajoutant un nouveau type à la fabrique.

Système d'étapes de pipeline

Les étapes sont des composants extensibles qui exécutent des opérations sur les machines virtuelles des workers :

  • exec — Exécute des commandes shell avec support des templates
  • sync — Copie des fichiers ou répertoires des machines virtuelles distantes vers la machine locale via SFTP (détecte automatiquement fichier ou répertoire)

Tous les champs des étapes prennent en charge le rendu des templates. De nouveaux types d'étapes peuvent être ajoutés pour étendre les fonctionnalités.

Serveur sans état & Tolérance aux pannes

Le serveur ReconSwarm est complètement sans état — tout l'état est persistant dans etcd :

  • État du pipeline — Statut, progression, erreurs pour chaque pipeline
  • État des workers — Informations sur la machine virtuelle, tâche en cours, statut
  • Clés SSH — Paires de clés générées pour l'accès aux machines virtuelles

Cette architecture permet :

CapacitéDescription
Mise à l'échelle horizontaleExécuter plusieurs instances de serveur derrière un répartiteur de charge
Redémarrages sans interruptionRedémarrer le serveur sans perdre l'état du pipeline
Récupération après crashUne nouvelle instance de serveur reprend là où la précédente s'est arrêtée
Inspection de l'étatInterroger etcd directement pour le débogage et la surveillance

Configuration haute disponibilité :

                    ┌─────────────┐
                    │   Client    │
                    └──────┬──────┘
                           │
                    ┌──────▼──────┐
                    │Load Balancer│
                    └──────┬──────┘
              ┌────────────┼────────────┐
              │            │            │
       ┌──────▼──────┐ ┌───▼───┐ ┌──────▼──────┐
       │  Server 1   │ │Server2│ │  Server 3   │
       └──────┬──────┘ └───┬───┘ └──────┬──────┘
              │            │            │
              └────────────┼────────────┘
                           │
                    ┌──────▼──────┐
                    │ etcd cluster│
                    └─────────────┘

Tous les serveurs partagent le même cluster etcd et peuvent traiter n'importe quelle requête. Si un serveur tombe en panne au milieu d'un pipeline, un autre serveur peut continuer l'exécution après avoir lu l'état depuis etcd.

Remarque : L'implémentation actuelle exécute les pipelines en mémoire après les avoir chargés depuis etcd. La récupération complète après crash avec reprise du pipeline est prévue pour les prochaines versions.

Installation

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

Configuration

ReconSwarm sépare la configuration du serveur de la configuration du pipeline :

Type de configurationFichierDescription
Serveurreconswarm.yamlFournisseur cloud, etcd, paramètres du pool de workers
PipelineFichier YAML séparéCibles et étapes, passé via le flag -f

Configuration du serveur

La configuration du serveur est stockée dans reconswarm.yaml (configurable via la variable d'environnement CONFIG_PATH). Toutes les valeurs de chaîne prennent en charge le développement des variables d'environnement en utilisant la syntaxe ${VAR} ou $VAR.

# Paramètres du serveur
server:
  port: 50051

# Connexion etcd pour la gestion d'état
etcd:
  endpoints:
    - "localhost:2379"
  dial_timeout: 5  # secondes
  username: ""     # optionnel, supporte ${ETCD_USER}
  password: ""     # optionnel, supporte ${ETCD_PASSWORD}

# Provisionneur cloud (union discriminée)
provisioner:
  type: yandex_cloud  # Sélecteur de fournisseur

  # Configuration Yandex Cloud (active quand 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

# Paramètres du pool de workers
workers:
  max_workers: 5
  setup_commands:
    - "apt update"
    - "apt install -y docker.io"

Configuration du pipeline

La configuration du pipeline est stockée dans un fichier YAML séparé et passée via le flag -f. Les formats avec et sans enveloppe sont pris en charge :

Télécharger l’outil