Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
SecGen — Crea VM insicure in modo casuale | Kitploit
Strumenti/GitHubGitHub/cliffe/secgen
Scanner di VulnerabilitàVirtualizzazione per la SicurezzaCTFPenetration TestingApprendimento e FormazioneLab e Pratica
GitHubcliffe/secgen

SecGen

Crea VM insicure in modo casuale

Vedi Repository
2.8k326307h 8m faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Security Scenario Generator (SecGen)

Riepilogo

SecGen crea macchine virtuali vulnerabili, ambienti di laboratorio e sfide di hacking, così gli studenti possono imparare le tecniche di penetration testing sulla sicurezza.

Box come Metasploitable2 sono sempre gli stessi, questo progetto utilizza Vagrant, Puppet e Ruby per creare macchine virtuali vulnerabili in modo casuale che possono essere utilizzate per l'apprendimento o per ospitare eventi CTF.

L'ultima versione è disponibile su: http://github.com/cliffe/SecGen/

Ti preghiamo di completare un breve sondaggio per dirci come stai utilizzando SecGen.

Per una soluzione ospitata visita: https://hacktivity.co.uk/

Introduzione

Gli studenti di sicurezza informatica traggono beneficio dal cimentarsi in sfide di hacking. Il lavoro pratico in laboratorio e le sfide di hacking preconfigurate sono una pratica comune sia nell'istruzione sulla sicurezza sia come passatempo per individui attenti alla sicurezza. Le sfide di hacking competitive, come le competizioni capture the flag (CTF), sono diventate un pilastro nelle conferenze del settore e sono il fulcro di grandi comunità online. Le macchine virtuali (VM) forniscono un modo efficace per condividere bersagli per l'hacking e possono essere progettate per mettere alla prova le capacità dell'attaccante. Siti web come Vulnhub ospitano VM di sfide di hacking preconfigurate e sono una risorsa preziosa per coloro che imparano e migliorano le proprie competenze nella sicurezza informatica. Tuttavia, sviluppare queste sfide di hacking richiede tempo e, una volta create, sono essenzialmente statiche. Ovvero, una volta che la sfida è stata "risolta" non rimane alcuna sfida per lo studente, e se la sfida viene creata per una competizione o una valutazione, non può essere riutilizzata senza rischiare il plagio e la collusione.

Security Scenario Generator (SecGen) genera sistemi vulnerabili randomizzati. Le VM vengono create in base a una specifica di scenario, che descrive i vincoli e le proprietà delle VM da creare. Ad esempio, uno scenario potrebbe specificare la creazione di un sistema con una vulnerabilità sfruttabile da remoto che comporterebbe un compromesso a livello utente, e un difetto sfruttabile localmente che comporterebbe un compromesso a livello root. Ciò richiederebbe all'attaccante di scoprire e sfruttare entrambe le vulnerabilità selezionate casualmente per ottenere l'accesso root al sistema. In alternativa, lo scenario definito può essere più specifico, specificando determinati tipi di servizi (come FTP o SMB) o persino vulnerabilità esatte (tramite CVE).

SecGen è un'applicazione Ruby, con un linguaggio di configurazione XML. SecGen legge la sua configurazione, incluse le vulnerabilità, i servizi, le reti, gli utenti e i contenuti disponibili, legge la definizione dello scenario richiesto, applica la logica per randomizzare lo scenario e sfrutta Puppet e Vagrant per il provisioning delle VM richieste.

Licenza

SecGen è software libero: puoi ridistribuirlo e/o modificarlo secondo i termini della GNU General Public License come pubblicata dalla Free Software Foundation, versione 3 della Licenza, o (a tua scelta) qualsiasi versione successiva.

SecGen contiene moduli, che installano vari pacchetti software. Ogni modulo SecGen può contenere o reperire da remoto software, e ogni modulo definisce la propria licenza nel file secgen_metadata.xml di accompagnamento.

Installazione

SecGen è sviluppato e testato su Ubuntu Linux. In teoria, SecGen dovrebbe funzionare su Mac o Windows, se hai installato tutto il software richiesto.

SecGen necessita di:

  • Ruby 2.7 to 4.0, con gli header di sviluppo, e le gemme Ruby nel Gemfile (incluse Nokogiri e Librarian-puppet)
  • Vagrant: https://developer.hashicorp.com/vagrant
  • VirtualBox: https://www.virtualbox.org/ (o Proxmox / oVirt / ESXi, vedi sotto)
  • ImageMagick, ExifTool, Graphviz e alcune librerie per gemme native
  • Packer, solo per le basi Windows: https://www.packer.io/

Ci sono due modi per installarlo. Entrambi sono stati testati da un'installazione pulita di Ubuntu.

Opzione 1: Docker

Installa Docker e VirtualBox sull'host, poi lascia che docker/secgen-docker.sh costruisca un container con tutto il resto. VirtualBox è comunque necessario sull'host per il suo driver del kernel. Vedi docker/README.md.

git clone https://github.com/cliffe/SecGen.git
cd SecGen
docker/secgen-docker.sh run -s scenarios/default_scenario.xml

Opzione 2: Installazione nativa su Ubuntu (22.04, 24.04, 26.04; 20.04 con la nota seguente)

Installa VirtualBox dal repository di Oracle. Il pacchetto virtualbox in Ubuntu 24.04 (7.0.16) non riesce a compilare il proprio driver del kernel per i kernel HWE attuali, e Linux 7.0 richiede VirtualBox 7.2.8 o successivo:

sudo apt-get update
sudo apt-get install -y wget gpg lsb-release
wget -qO- https://www.virtualbox.org/download/oracle_vbox_2016.asc \
  | sudo gpg --yes --dearmor -o /usr/share/keyrings/oracle-virtualbox-2016.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" \
  | sudo tee /etc/apt/sources.list.d/virtualbox.list
sudo apt-get update
sudo apt-get install -y virtualbox-7.2

Se KVM è caricato, VirtualBox non può avviare le VM mentre KVM detiene VT-x (VERR_VMX_IN_VMX_ROOT_MODE). Sui kernel 6.12 e successivi puoi lasciarli coesistere:

echo "options kvm enable_virt_at_load=0" | sudo tee /etc/modprobe.d/kvm-virtualbox.conf
sudo modprobe -r kvm_intel kvm_amd kvm; sudo modprobe kvm_intel || sudo modprobe kvm_amd

Gli scenari SecGen utilizzano intervalli di rete host-only al di fuori dell'intervallo predefinito di VirtualBox 192.168.56.0/21, quindi consenti qualsiasi intervallo:

sudo mkdir -p /etc/vbox
echo '* 0.0.0.0/0 ::/0' | sudo tee /etc/vbox/networks.conf

Installa Vagrant dal repository di HashiCorp (Ubuntu 26.04 non lo pacchettizza più, e le versioni precedenti di Vagrant non riescono più a scaricare le box da Vagrant Cloud):

wget -qO- https://apt.releases.hashicorp.com/gpg | sudo gpg --yes --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" \
  | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt-get update
sudo apt-get install -y vagrant

Installa Ruby e gli altri pacchetti richiesti:

sudo apt-get install -y git ruby-full ruby-dev build-essential patch pkg-config zlib1g-dev liblzma-dev \
  imagemagick exiftool libpq-dev libcurl4-openssl-dev libxml2-dev libxslt1-dev graphviz libgraphviz-dev \
  libpcap-dev libsqlite3-dev libgpgme-dev libyaml-dev libffi-dev libssl-dev

Clona SecGen e installa le gemme. Usa bundle install, non bundle update: Gemfile.lock fissa le versioni che funzionano su ogni Ruby supportato, e bundle update le sostituisce con le release più recenti, che potrebbero non funzionare.

git clone https://github.com/cliffe/SecGen.git
cd SecGen
sudo gem install bundler -v '~> 2.4'
sudo bundle install

Poi prova lo scenario predefinito (la prima volta scarica la base box da hacktivity.co.uk):

ruby secgen.rb run

Note:

Scarica lo strumento