Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
SecGen — Criar VMs inseguras aleatoriamente | Kitploit
Ferramentas/GitHubGitHub/cliffe/secgen
Scanners de VulnerabilidadesVirtualização para SegurançaCTFTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHubcliffe/secgen

SecGen

Criar VMs inseguras aleatoriamente

Ver Repositório
2.8k32630há 1 diaRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Gerador de Cenários de Segurança (SecGen)

Resumo

O SecGen cria máquinas virtuais vulneráveis, ambientes de laboratório e desafios de hacking, para que os alunos possam aprender técnicas de teste de intrusão em segurança.

Máquinas como a Metasploitable2 são sempre iguais; este projeto usa Vagrant, Puppet e Ruby para criar máquinas virtuais aleatoriamente vulneráveis que podem ser usadas para aprendizagem ou para alojar eventos CTF.

A versão mais recente está disponível em: http://github.com/cliffe/SecGen/

Por favor, preencha um breve inquérito para nos dizer como está a usar o SecGen.

Para uma solução alojada visite: https://hacktivity.co.uk/

Introdução

Os estudantes de segurança informática beneficiam de participar em desafios de hacking. O trabalho prático de laboratório e os desafios de hacking pré-configurados são prática comum tanto na educação em segurança como também como passatempo para indivíduos com interesse em segurança. Os desafios competitivos de hacking, como as competições capture the flag (CTF), tornaram-se um pilar nas conferências da indústria e são o foco de grandes comunidades online. As máquinas virtuais (VMs) proporcionam uma forma eficaz de partilhar alvos para hacking, e podem ser concebidas de modo a testar as competências do atacante. Websites como o Vulnhub alojam VMs de desafios de hacking pré-configuradas e são um recurso valioso para quem está a aprender e a aperfeiçoar as suas competências em segurança informática. No entanto, desenvolver estes desafios de hacking consome tempo e, uma vez criados, são essencialmente estáticos. Ou seja, uma vez "resolvido" o desafio, não resta nenhum desafio para o estudante e, se o desafio for criado para uma competição ou avaliação, não pode ser reutilizado sem risco de plágio e conluio.

O Gerador de Cenários de Segurança (SecGen) gera sistemas vulneráveis aleatorizados. As VMs são criadas com base numa especificação de cenário, que descreve as restrições e propriedades das VMs a criar. Por exemplo, um cenário pode especificar a criação de um sistema com uma vulnerabilidade explorável remotamente que resultaria num comprometimento ao nível do utilizador, e uma falha explorável localmente que resultaria num comprometimento ao nível de root. Isto exigiria que o atacante descobrisse e explorasse ambas as vulnerabilidades selecionadas aleatoriamente para obter acesso de root ao sistema. Em alternativa, o cenário definido pode ser mais específico, especificando certos tipos de serviços (como FTP ou SMB) ou até vulnerabilidades exatas (por CVE).

O SecGen é uma aplicação Ruby, com uma linguagem de configuração XML. O SecGen lê a sua configuração, incluindo as vulnerabilidades, serviços, redes, utilizadores e conteúdo disponíveis, lê a definição do cenário solicitado, aplica lógica para aleatorizar o cenário e recorre ao Puppet e ao Vagrant para provisionar as VMs necessárias.

Licença

O SecGen é software livre: pode redistribuí-lo e/ou modificá-lo sob os termos da GNU General Public License, tal como publicada pela Free Software Foundation, quer a versão 3 da Licença, quer (à sua escolha) qualquer versão posterior.

O SecGen contém módulos, que instalam vários pacotes de software. Cada módulo do SecGen pode conter ou obter software remotamente, e cada módulo define a sua própria licença no ficheiro secgen_metadata.xml que o acompanha.

Instalação

O SecGen é desenvolvido e testado em Ubuntu Linux. Em teoria, o SecGen deverá funcionar em Mac ou Windows, se tiver todo o software necessário instalado.

O SecGen precisa de:

  • Ruby 2.7 a 4.0, com cabeçalhos de desenvolvimento, e as gems Ruby no Gemfile (incluindo Nokogiri e Librarian-puppet)
  • Vagrant: https://developer.hashicorp.com/vagrant
  • VirtualBox: https://www.virtualbox.org/ (ou Proxmox / oVirt / ESXi, ver abaixo)
  • ImageMagick, ExifTool, Graphviz e algumas bibliotecas para gems nativas
  • Packer, apenas para as bases Windows: https://www.packer.io/

Existem duas formas de o instalar. Ambas foram testadas a partir de uma instalação limpa do Ubuntu.

Opção 1: Docker

Instale o Docker e o VirtualBox no anfitrião, depois deixe que docker/secgen-docker.sh construa um contentor com tudo o resto. O VirtualBox continua a ser necessário no anfitrião para o seu controlador de kernel. Ver docker/README.md.

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

Opção 2: Instalação nativa no Ubuntu (22.04, 24.04, 26.04; 20.04 com a nota abaixo)

Instale o VirtualBox a partir do repositório da Oracle. O pacote virtualbox no Ubuntu 24.04 (7.0.16) não consegue compilar seu driver de kernel para os kernels HWE atuais, e o Linux 7.0 precisa do VirtualBox 7.2.8 ou posterior:

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 o KVM estiver carregado, o VirtualBox não consegue iniciar VMs enquanto o KVM detém o VT-x (VERR_VMX_IN_VMX_ROOT_MODE). Em kernels 6.12 e posteriores, você pode permitir que eles coexistam:

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

Os cenários do SecGen usam intervalos de rede host-only fora do padrão 192.168.56.0/21 do VirtualBox, portanto permita qualquer intervalo:

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

Instale o Vagrant a partir do repositório da HashiCorp (o Ubuntu 26.04 já não o empacota, e as versões mais antigas do Vagrant já não conseguem descarregar boxes do 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

Instale o Ruby e os outros pacotes necessários:

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

Clone o SecGen e instale as gems. Use bundle install, não bundle update: o Gemfile.lock fixa versões que funcionam em todas as versões suportadas do Ruby, e o bundle update as substitui pelas versões mais recentes, que podem não funcionar.

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

Em seguida, experimente o cenário padrão (ele baixa a caixa base de hacktivity.co.uk na primeira vez):

ruby secgen.rb run

Notas:

Baixar ferramenta