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
vuln_apps — Executa um conjunto de aplicações web/API intencionalmente vulneráveis em pilhas Docker isoladas para testes de penetração locais e validação de resultados de scanners com catálogos de vulnerabilidades de referência (ground-truth). | Kitploit
Ferramentas/GitHubGitHub/clickswave/vuln_apps
Análise de VulnerabilidadesSegurança WebTestes de PenetraçãoAprendizado e EducaçãoSegurança de APILabs e Prática
GitHubclickswave/vuln_apps

vuln_apps

Executa um conjunto de aplicações web/API intencionalmente vulneráveis em pilhas Docker isoladas para testes de penetração locais e validação de resultados de scanners com catálogos de vulnerabilidades de referência (ground-truth).

Ver Repositório
117há 1 mêsAinda não revisado

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

vuln_apps

Um conjunto de aplicações intencionalmente vulneráveis para apontar ferramentas de segurança (crossfyre, Burp, ZAP, nuclei, e assim por diante). Esta pasta não contém código-fonte de aplicações, apenas definições de esqueleto e um pequeno gerenciador. Cada aplicação roda como sua própria pilha de contêineres isolada, para que nada entre em conflito.

Tudo aqui é deliberadamente vulnerável. Apenas para testes locais. Não exponha isso à internet ou a uma rede não confiável. Todas as portas estão vinculadas a 127.0.0.1.

Como funciona

  • docker compose up inicia um contêiner: vuln_apps_manager (o plano de controle). Ele não inicia nenhuma aplicação vulnerável por conta própria.
  • Você controla a frota por meio do gerenciador. Cada aplicação é definida por uma pasta de esqueleto em apps/<name>/ (um manifesto app.yml + um compose.yml) e é executada pelo gerenciador como um projeto separado e próprio.
docker compose
  • Como cada aplicação é seu próprio projeto, ela tem sua própria rede, seus próprios volumes e seu próprio banco de dados. Duas aplicações que usam Postgres nunca compartilham o mesmo.
  • Apenas a porta web/alvo de uma aplicação é publicada, em 127.0.0.1. Bancos de dados e camadas internas nunca são vinculados ao host. O serviço web de cada aplicação também entra em uma rede compartilhada vuln-net, para que um scanner em execução em um contêiner possa alcançá-las pelo nome (por exemplo, http://dvwa) sem nenhuma porta do host.
  • Início rápido

    root@kitploit:~
    cd vuln_apps
    ./vam start --all      # ONE command: builds the manager, starts every light app,
                           # and runs each app's first-time setup automatically
    ./vam status           # what's running + URLs
    ./vam stop --all       # stop everything
    

    Esse único ./vam start --all também executa a configuração única de que cada aplicação precisa (criação do banco de dados do DVWA, instalação do bWAPP, seed do VAmPI), para que toda aplicação seja utilizável no momento em que reportar running — sem cliques manuais em /setup.php ou /install.php.

    Quer deixar o gerenciador no ar como um monitor de status ao vivo? Execute docker compose up -d primeiro e depois use ./vam ... como acima.

    ./vam <cmd> é apenas um wrapper. Exatamente a mesma coisa sem ele:

    root@kitploit:~
    docker compose run --rm vuln_apps_manager start --all
    docker compose run --rm vuln_apps_manager status
    

    Comandos do gerenciador

    ComandoO que faz
    ./vam listlista todas as aplicações, o estado e a URL delas
    ./vam start <app...> | --all [--heavy]inicia aplicação(ões). --all ignora aplicações pesadas, exceto com --heavy
    ./vam stop <app...> | --allpara aplicação(ões)
    ./vam restart <app...> | --allreinicia aplicação(ões)
    ./vam statustabela de status da frota
    ./vam logs <app> [-f]acompanha os logs de uma aplicação
    ./vam pull <app...> | --allpré-baixa as imagens
    ./vam portsmapa de portas do host + verificação de conflitos
    ./vam doctorverificações de sanidade do ambiente e das portas

    Exemplos: ./vam start juice-shop dvwa, ./vam start crapi --heavy, ./vam logs webgoat -f.

    Aplicações e portas

    Todas as URLs são http://127.0.0.1:<port> (somente loopback).

    AplicaçãoPortaStackNotas
    juice-shop7001Node / AngularSPA moderno + REST
    dvwa7002PHP / MariaDBbanco de dados criado automaticamente na inicialização; login admin/password
    webgoat7003Java+ WebWolf na 7004 (capturador OOB)
    vampi7005Python / FlaskOWASP API Top 10
    dvga7006Python / GraphQL/graphql
    bwapp7007PHPinstalado automaticamente na inicialização; login bee/bug
    log4shell7009Java / SpringRCE cego -> OAST
    crapi7010Node/Java/Pythonpesado; mailhog na 7011
    faultline8088SvelteKit/Rust/PG/Redisobtido do GitHub (veja abaixo)

    Bloco de portas do host reservado: 7001-7099. ./vam ports mostra o mapa em tempo real e sinaliza qualquer conflito.

    Como adicionar uma nova aplicação

    Coloque uma pasta em apps/:

    root@kitploit:~
    apps/<name>/
      app.yml       # name, description, category, stack, url
      compose.yml   # the container(s): image, ports (127.0.0.1 only), any DB
      setup.sh      # optional: one-time init run after start (see below)
    

    Regras que mantêm a frota organizada:

    • Vincule apenas a porta web/alvo, a 127.0.0.1:<free 70xx port>.
    • Aplicações de contêiner único: coloque o serviço apenas em [vuln-net]. NÃO adicione uma rede por projeto — isso preserva o pool de endereços do Docker (redes demais e o Docker falha com "all predefined address pools have been fully subnetted").
    • Aplicações com banco de dados: coloque a aplicação em [default, vuln-net] e o banco de dados apenas em [default] (privado, sem vínculo com o host). Dê a cada aplicação seu próprio serviço e volume de banco de dados (não compartilhe). Declare vuln-net como external: true.
    • Configuração de primeira execução: se a aplicação precisar de uma inicialização única (criar banco de dados, instalar, popular), adicione um apps/<name>/setup.sh. O gerenciador o executa após start, de dentro do contêiner do gerenciador (que está em vuln-net e tem curl), para que ele possa acessar a aplicação pelo nome do serviço, por exemplo, curl http://<service>/install.php.

    Só isso. O gerenciador o detecta automaticamente (./vam list).

    Para uma aplicação cujo código-fonte vive em um repositório git (como faultline), pule o compose.yml e, em vez disso, coloque repo: (a URL de clonagem) e compose: (o caminho do compose dentro desse repositório) em app.yml. O gerenciador o clona para apps/<name>/src/ (ignorado pelo git) na primeira inicialização, portanto nenhum código-fonte é incluído aqui.

    Catálogos de vulnerabilidades

    vulns/ contém um "gabarito" por aplicação (ao que cada alvo deve ser vulnerável), para que você possa verificar os achados de um scanner contra a referência. Veja vulns/README.md. Catálogos locais detalhados existem para faultline e crapi; as aplicações upstream apontam para seus próprios gabaritos de referência.

    crAPI (pesado)

    O crAPI executa Postgres + Mongo + três camadas de aplicação (~2 GB), então --all o ignora. Inicie-o explicitamente: ./vam start crapi --heavy. A primeira inicialização é lenta; o OTP de cadastro e os e-mails de redefinição chegam ao mailhog em http://127.0.0.1:7011.

    faultline (obtido do GitHub)

    faultline é o alvo full-stack da própria Clickswave. Seu código-fonte não está incluído aqui; o gerenciador o clona de github.com/clickswave/faultline na primeira inicialização:

    root@kitploit:~
    ./vam start faultline    # clones the repo into apps/faultline/src/, then builds + runs it
    

    A primeira inicialização o compila (Rust; lento). Atualize o checkout depois com ./vam pull faultline. Então abra http://127.0.0.1:8088. Logins de demonstração: [email protected] / password, [email protected] / admin.

    Notas

    • docker compose down interrompe apenas o gerenciador. Pare as aplicações primeiro com ./vam stop --all (elas são projetos separados).
    • O gerenciador conversa com o daemon Docker do host por meio do socket montado; é por isso que ele pode iniciar e monitorar os outros contêineres.
    Baixar ferramenta