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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SecGen — Générer des machines virtuelles vulnérables à la volée (le développement actuel de l'équipe se déroule dans le fork cliffe/SecGen) | Kitploit
Outils/GitHubGitHub/secgen/secgen
Escalade de PrivilègesScanners de VulnérabilitésAnalyse des VulnérabilitésExploitationSécurité WebSécurité RéseauCTFTests d'IntrusionApprentissage et ÉducationRed TeamingLabs et PratiqueArchived
31638315il y a 7 ansPas 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
GitHubsecgen/secgen

SecGen

Générer des machines virtuelles vulnérables à la volée (le développement actuel de l'équipe se déroule dans le fork cliffe/SecGen)

Voir le dépôt

LE DÉVELOPPEMENT A ÉTÉ DÉPLACÉ VERS http://github.com/cliffe/SecGen/, CE DÉPÔT N'EST PLUS MAINTENU ET NE FONCTIONNERA PROBABLEMENT PAS !

Générateur de scénarios de sécurité (SecGen)

Résumé

SecGen crée des machines virtuelles vulnérables pour que les élèves puissent apprendre les techniques de test de pénétration de sécurité.

Les boîtes comme Metasploitable2 sont toujours les mêmes, ce projet utilise Vagrant, Puppet et Ruby pour créer des machines virtuelles aléatoirement vulnérables pouvant être utilisées pour l'apprentissage ou pour organiser des événements CTF.

La dernière version est disponible sur : http://github.com/cliffe/SecGen/

Introduction

Les étudiants en sécurité informatique bénéficient de la participation à des défis de piratage. Les travaux pratiques en laboratoire et les défis de piratage préconfigurés sont une pratique courante tant dans l'enseignement de la sécurité que comme passe-temps pour les personnes intéressées par la sécurité. Les défis de piratage compétitifs, tels que les compétitions capture the flag (CTF), sont devenus un pilier des conférences industrielles et sont le centre d'intérêt de grandes communautés en ligne. Les machines virtuelles (VM) offrent un moyen efficace de partager des cibles de piratage et peuvent être conçues pour tester les compétences de l'attaquant. Des sites Web tels que Vulnhub hébergent des VM de défis de piratage préconfigurés et constituent une ressource précieuse pour ceux qui apprennent et améliorent leurs compétences en sécurité informatique. Cependant, développer ces défis de piratage prend du temps et, une fois créés, ils sont essentiellement statiques. C'est-à-dire qu'une fois le défi "résolu", il ne reste plus de défi pour l'étudiant, et si le défi est créé pour une compétition ou une évaluation, il ne peut pas être réutilisé sans risquer le plagiat et la collusion.

Le Générateur de scénarios de sécurité (SecGen) génère des systèmes vulnérables randomisés. Les VM sont créées en fonction d'une spécification de scénario, qui décrit les contraintes et propriétés des VM à créer. Par exemple, un scénario pourrait spécifier la création d'un système avec une vulnérabilité exploitable à distance qui entraînerait une compromission au niveau utilisateur, et une faille exploitable localement qui entraînerait une compromission au niveau root. Cela nécessiterait que l'attaquant découvre et exploite les deux vulnérabilités sélectionnées aléatoirement pour obtenir un accès root au système. Alternativement, le scénario défini peut être plus spécifique, en spécifiant certains types de services (tels que FTP ou SMB) ou même des vulnérabilités exactes (par CVE).

SecGen est une application Ruby, avec un langage de configuration XML. SecGen lit sa configuration, y compris les vulnérabilités, services, réseaux, utilisateurs et contenus disponibles, lit la définition du scénario demandé, applique une logique de randomisation du scénario, et utilise Puppet et Vagrant pour provisionner les VM requises.

Licence

SecGen est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la GNU General Public License telle que publiée par la Free Software Foundation, soit la version 3 de la licence, soit (à votre choix) toute version ultérieure.

SecGen contient des modules, qui installent divers logiciels. Chaque module SecGen peut contenir ou télécharger à distance des logiciels, et chaque module définit sa propre licence dans le fichier secgen_metadata.xml qui l'accompagne.

Installation

SecGen est développé et testé sur Ubuntu Linux. En théorie, SecGen devrait fonctionner sur Mac ou Windows, si tous les logiciels requis sont installés.

Vous devrez installer les éléments suivants :

  • Ruby (développement) : https://www.ruby-lang.org/en/
  • Vagrant : http://www.vagrantup.com/
  • Virtual Box : https://www.virtualbox.org/
  • Puppet : http://puppet.com/
  • Packer : https://www.packer.io/
  • ImageMagick : https://www.imagemagick.org/
  • Et les gems Ruby nécessaires (y compris Nokogiri et Librarian-puppet)

Sur Ubuntu, ces commandes vous permettront de démarrer

Installez tous les paquets requis :```bash

install a recent version of vagrant

wget https://releases.hashicorp.com/vagrant/1.9.8/vagrant_1.9.8_x86_64.deb sudo apt install ./vagrant_1.9.8_x86_64.deb

install other required packages via repos

sudo apt-get install ruby-dev zlib1g-dev liblzma-dev build-essential patch virtualbox ruby-bundler imagemagick libmagickwand-dev exiftool libpq-dev libcurl4-openssl-dev libxml2-dev

Copiez SecGen dans un répertoire de votre choix, par exemple */home/user/bin/SecGen*

Ensuite, installez les gems :```bash
cd /home/user/bin/SecGen
bundle install

Utilisation

Utilisation de base:```bash ruby secgen.rb run

Cela utilisera le scénario par défaut pour générer aléatoirement une ou plusieurs VM.
![gif de démonstration](https://assets.kitploit.com/production/public/readmes/39158/395bfb94e9b15b2c52f91fd33626216df86d8e2422789fb2a080b9b75fa36513.gif "SecGen randomisant une VM vulnérable -- partie 1, randomisation")
![gif de démonstration](https://assets.kitploit.com/production/public/readmes/39158/756677cacb4f7cef9ff4c45b67ab41a7eca70d8a1cdcbaa32cd262fe4c317f47.gif "SecGen randomisant une VM vulnérable -- partie 2, provisionnement des VMs")

SecGen accepte des arguments pour modifier son comportement. Les arguments actuellement implémentés sont :```bash
   ruby secgen.rb [--options] <command>

   OPTIONS:
   --scenario [xml file], -s [xml file]: set the scenario to use
              (defaults to scenarios/default_scenario.xml)
   --project [output dir], -p [output dir]: directory for the generated project
              (output will default to projects/SecGen_DATEandTIME)
   --shutdown: Shutdown vms after provisioning
   --network-ranges: Override network ranges within the scenario, use a comma-separated list
   --forensic-image-type [image type]: Forensic image format of generated image (raw, ewf)
   --read-options [conf path]: Reads options stored in file as arguments (see example.conf)
   --help, -h: Shows this usage information

   VIRTUALBOX OPTIONS:
   --gui-output', '-g': gui output
   --nopae: disable PAE support
   --hwvirtex: enable HW virtex support
   --vtxvpid: enable VTX support

   OVIRT OPTIONS:
   --ovirtuser [ovirt_username]         
   --ovirtpass [ovirt_password]         
   --ovirt-url [ovirt_api_url]          
   --ovirt-cluster [ovirt_cluster]      
   --ovirt-network [ovirt_network_name] 
   
   COMMANDS:
   run, r: builds project and then builds the VMs
   build-project, p: builds project (vagrant and puppet config), but does not build VMs
   build-vms, v: builds VMs from a previously generated project
              (use in combination with --project [dir])
   create-forensic-image [/project/dir], v [project #]: Builds forensic images from a previously generated project
                         (can be used in combination with --project [dir])
   list-scenarios: Lists all scenarios that can be used with the --scenario option
   list-projects: Lists all projects that can be used with the --project option
   delete-all-projects: Deletes all current projects in the projects directory

Scénarios

SecGen génère des machines virtuelles basées sur une spécification de scénario, qui décrit les contraintes et propriétés des machines virtuelles à créer.

Utilisation des scénarios existants

Les scénarios existants abaissent la barrière à l'entrée de SecGen : lors de l'invocation de SecGen, un scénario peut être spécifié comme argument de commande, et SecGen lira alors la définition de scénario appropriée et procédera à la randomisation et à la génération de machines virtuelles. Cela supprime l'obligation pour les utilisateurs finaux du framework de comprendre la spécification de configuration de SecGen.

Télécharger l’outil