Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
pentest_lab — Laboratório local de testes de penetração usando docker-compose. | Kitploit
Ferramentas/GitHubGitHub/oliverwiegers/pentest_lab
Segurança WebTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHuboliverwiegers/pentest_lab

pentest_lab

Laboratório local de testes de penetração usando docker-compose.

Ver Repositório
21855há 1 anoRevisado 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

Laboratório de Pentest

Não estou mais desenvolvendo ativamente isso, mas vou corrigir bugs e analisar issues e pull requests. Ajuda é apreciada :)

Este laboratório local de pentest utiliza docker compose para levantar vários serviços vítimas e um serviço atacante rodando Kali Linux. Se você executar este laboratório pela primeira vez, levará algum tempo para baixar todas as diferentes imagens docker.

Screencast

Comandos executados:

  • ./lab.sh --help
  • ./lab.sh --check-dependencies
  • ./lab.sh --up --all-services
  • ./lab.sh --info
  • ./lab.sh --overview all
  • ssh root@kali -o "UserKnownHostsFile /dev/null"
  • ./lab.sh --down

Uso

O laboratório deve funcionar imediatamente se todas as dependências necessárias estiverem instaladas. Na inicialização, o laboratório executará uma verificação de dependências.

Iniciar o laboratório

root@kitploit:~
git clone https://github.com/oliverwiegers/pentest_lab
cd pentest_lab
./lab.sh -u

Por padrão, o laboratório iniciará todos os serviços vítimas e um serviço red team. Outros serviços podem ser iniciados e adicionados. Mais informações sobre isso abaixo.

Para mais informações de uso, considere ler a mensagem de ajuda exibida por ./lab.sh -h | --help.

Dependências

  • bash
  • find
  • sed
  • yq (A versão Python. Não yq-go.)
  • docker
  • docker-compose

O laboratório tem uma verificação de dependências embutida que é executada na inicialização. Isso também pode ser executado manualmente com ./lab.sh -C.

Heimdall

img

Para facilidade de uso, uma interface Heimdall foi adicionada, exposta em localhost:7000. Todos os serviços que estão expostos à sua máquina local e podem ser acessados via navegador estão listados lá. As alterações feitas na interface são automaticamente salvas em ./etc/heimheimdall. Este diretório é então transformado em ./etc/heimdall.tar ao parar o laboratório. Este arquivo tar será extraído na inicialização. Tanto ./etc/heimdall.tar quanto ./etc/heimdall são ignorados pelo git por padrão. O papel de parede usado pode ser encontrado aqui.

Serviços

Este laboratório conhece os seguintes quatro tipos de serviços.

  • red_team
  • blue_team
  • victim
  • monitoring

O serviço red team padrão - o serviço Kali - é uma instância Kali bastante básica. No entanto, o metapacote kali-tools-web está instalado. Para um laboratório de teste de aplicações web, as ferramentas básicas de teste web parecem úteis. Isso pode ser alterado editando o Dockerfile a partir do qual a imagem é construída. Ele está localizado em ./dockerfiles/kali. O serviço Kali instala estes dotfiles por padrão. Isso também pode ser alterado ajustando o Dockerfile.

Serviços vítimas

  • juice-shop
  • hackazon
  • tiredful-api
  • WebGoat
  • bwapp
  • DVWA
  • XVWA
  • ninjas

Serviços de monitoramento

img img

Embora os serviços de monitoramento também sejam serviços blue_team, eles são separados em uma categoria diferente.

Esta pilha fornece funcionalidade de observação de logs e desempenho.

Para mais informações sobre instâncias individuais, veja abaixo.

Atualmente, a configuração de monitoramento consiste nos seguintes serviços:

  • Grafana - Visualizar logs e métricas.
  • Loki - Enviar logs do docker para o grafana.
  • Prometheus - Enviar métricas para o grafana.
  • cAdvisor - Coletar uso de recursos dos contêineres e métricas e enviar para o prometheus.

Grafana

A instância do Grafana fornece dois dashboards: um para logs e outro para métricas.

  • Dashboard de logs
  • Dashboard de métricas

Eles são bastante básicos. Pode-se adicionar mais adicionando dashboards através da interface do Grafana. Esses dashboards serão perdidos quando o volume do Grafana for deletado. Para adicionar dashboards permanentemente, consulte a Documentação de Provisionamento do Grafana. Os diretórios usados para provisionamento estão localizados em ./etc/grafana/.

Para alterar configurações através da interface do Grafana, deve-se fazer login como admin. As credenciais são as padrão: admin:admin. #hacktheplanet

Loki

Para que o Loki possa coletar logs do Docker, este laboratório instala o Loki Docker Driver como plugin do Docker.

Prometheus / cAdvisor

Para que o Prometheus possa acessar métricas de desempenho dos contêineres em execução no cluster, o cAdvisor é usado.

Adicionando serviços

Para adicionar serviços adicionais, é necessário um pouco de conhecimento de arquivos docker-compose.yml. O arquivo docker-compose.yml na raiz deste repositório é gerado automaticamente quando o laboratório é iniciado. Esse processo usa os arquivos yaml localizados em ./etc/services.

root@kitploit:~
➜  pentest_lab tree ./etc/services
./etc/services
├── blue_team
│   └── endlessh.yml
├── default.yml
├── monitoring
│   ├── cadvisor.yml
│   ├── grafana.yml
│   ├── loki.yml
│   └── prometheus.yml
├── red_team
└── victim
    ├── beginner
    │   ├── bwapp.yml
    │   ├── dvwa.yml
    │   ├── hackazon.yml
    │   ├── tiredful.yml
    │   ├── webgoat.yml
    │   └── xvwa.yml
    ├── expert
    │   └── juice-shop.yml
    └── intermediate
        └── ninjas.yml

Quais serviços serão iniciados são controlados invocando ./lab.sh com as opções correspondentes. Para desabilitar permanentemente um serviço, remova a extensão .yml do arquivo.

Um exemplo de um serviço vítima seria:

root@kitploit:~
bwapp:
  labels:
    class: 'victim'
    cluster: 'pentest_lab'
    level: 'beginner'
  image: raesene/bwapp
  ports:
    - '8080:80'
  networks:
    pentest_lab:
      ipv4_address: 10.5.0.100
  hostname: bwapp
  volumes:
    - bwapp-data:/var/lib/mysql

Nota: Se um serviço exigir algum tipo de instalação no primeiro uso, use docker inspect <image_name> para descobrir onde a imagem docker armazena os dados e adicione um volume apontando para esse diretório. No exemplo acima, isso é:

root@kitploit:~
  volumes:
    - bwapp-data:/var/lib/mysql

Isso garante que você não precise configurar o serviço novamente toda vez que reiniciar o laboratório. Mas se você quiser redefinir o laboratório e começar do zero, pode usar ./lab.sh -p | --prune. Isso excluirá todos os recursos pertencentes ao laboratório.

Faixas de IP

A razão pela qual usamos endereços IP estáticos é que a máquina Kali precisa ter um endereço IP que não mude para simplificar o login SSH. Mais informações na seção Dicas/Truques abaixo.

  • Serviços red team começam em 10.5.0.5
    • O serviço Kali tem 10.5.0.5.
  • Serviços blue team começam em 10.5.0.50
  • Serviços vítimas começam em 10.5.0.100
  • Serviços de monitoramento começam em 10.5.0.200

Informações do serviço

Se você adicionar serviços e houver informações adicionais que sejam úteis para qualquer pessoa que execute este laboratório, você pode adicionar essas informações em ./etc/services_info. O conteúdo deste arquivo será impresso linha por linha como está executando ./lab.sh -i.

Dicas/Truques

SSH

Para uma conexão fácil ao serviço Kali, pode-se adicionar o seguinte ao $HOME/.ssh/cofig:

root@kitploit:~
Host kali
    User root
    Hostname 10.5.0.5
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking accept-new

Então, em vez de ssh [email protected] -o "UserKnownHostsFile /dev/null", pode-se executar ssh kali.

Para usuários de tmux, o seguinte anexará automaticamente a uma sessão tmux:

root@kitploit:~
Host kali
    User root
    Hostname 10.5.0.5
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking accept-new
    RequestTTY yes
    RemoteCommand tmux -L tmux new-session -As hacktheplanet
Baixar ferramenta