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
CVE-2023-27163-lab — Laboratório baseado em Docker que reproduz o SSRF CVE-2023-27163 no Request-Baskets, com verificação de exploração, script de detecção e remediação de isolamento de rede. | Kitploit
Ferramentas/GitHubGitHub/amulyakaushik/cve-2023-27163-lab
Ferramentas DefensivasSegurança de ContêineresAnálise de VulnerabilidadesExploraçãoSegurança WebSegurança de RedeTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática

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 →
GitHubamulyakaushik/cve-2023-27163-lab

CVE-2023-27163-lab

Laboratório baseado em Docker que reproduz o SSRF CVE-2023-27163 no Request-Baskets, com verificação de exploração, script de detecção e remediação de isolamento de rede.

Ver Repositório
há 7h 40mAinda não revisado
Compartilhar

CVE-2023-27163 — Laboratório de SSRF do Request-Baskets

Projeto: Laboratório de Pesquisa e Reprodução de Vulnerabilidades — CVE-2023-27163
Autor: Amulya Kaushik
Função: Candidato a Estágio em P&D de Cibersegurança e Desenvolvimento de Conteúdo de Laboratório

Server-Side Request Forgery no Request-Baskets ≤ 1.2.1
Um laboratório de pesquisa local autocontido para reproduzir, detectar e remediar o CVE-2023-27163 com arquitetura de defesa em profundidade.


Perfil do CVE

CampoValor
ID do CVECVE-2023-27163
CWECWE-918 — Server-Side Request Forgery (SSRF)
Produto AfetadoRequest-Baskets
Versões Afetadas≤ 1.2.1
Versão Corrigida1.2.2 (Código upstream) / Isolamento de Rede com Defesa em Profundidade
Pontuação CVSS v3.16.5 (Média)
Vetor CVSSAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Complexidade do AtaqueBaixa — uma única chamada de API não autenticada

Limitações do Upstream e Estratégia de Remediação

Nota sobre Limitações do Upstream e Remediação:
Embora o CVE-2023-27163 trate da validação de URL de encaminhamento arbitrária, builds públicos de contêiner do darklynx/request-baskets não aplicam filtragem de loopback ou sub-rede privada por padrão. Seguindo as melhores práticas reais de DevSecOps, nosso laboratório demonstra a remediação por meio de Isolamento de Rede de Contêineres com Defesa em Profundidade. Ao isolar backends internos sensíveis em uma rede Docker somente interna (secure-internal-net com internal: true), o caminho de retransmissão é cortado, mitigando a explorabilidade da vulnerabilidade SSRF mesmo ao executar encaminhadores de webhook não confiáveis.


Visão Geral da Arquitetura do Laboratório

Este laboratório fornece duas topologias distintas de Docker Compose:

  1. Configuração Vulnerável (docker-compose.yml): Request-Baskets e um serviço interno de eco de segredos compartilham a rede bridge lab-net. O Request-Baskets é mapeado para a porta do host 55556 (mapeada da porta do contêiner 55555).
  2. Configuração Remediada (docker-compose.patched.yml): O Request-Baskets é conectado exclusivamente à public-net, enquanto o serviço interno de eco é conectado à secure-internal-net (internal: true).

Arquitetura Vulnerável (docker-compose.yml)

root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│                    Docker: lab-net                       │
│                                                         │
│  ┌─────────────────────┐    ┌────────────────────────┐  │
│  │  request-baskets     │───▶│  internal-service      │  │
│  │  (v1.2.1)           │    │  (http-echo:5678)      │  │
│  │  Port 55556 ◀──HOST │    │  NOT exposed to host   │  │
│  └─────────────────────┘    └────────────────────────┘  │
└─────────────────────────────────────────────────────────┘
         ▲
         │  HTTP (port 55556)
         │
    ┌────┴─────┐
    │ Attacker │
    └──────────┘

Arquitetura Remediada (docker-compose.patched.yml)

root@kitploit:~
┌─────────────────────────┐        ┌─────────────────────────┐
│       public-net        │        │   secure-internal-net   │
│                         │        │     (internal: true)    │
│  ┌───────────────────┐  │        │  ┌───────────────────┐  │
│  │  request-baskets   │  │   ✕    │  │ internal-service  │  │
│  │  Port 55556◀─HOST │  │ ──/──▶ │  │ (http-echo:5678) │  │
│  └───────────────────┘  │        │  └───────────────────┘  │
└─────────────────────────┘        └─────────────────────────┘

Pré-requisitos

RequisitoVersão MínimaNotas
Docker Engine20.10+Runtime de virtualização de contêineres
Docker Composev2.0+Orquestração multi-contêiner
Python3.8+Ferramentas de verificação e detecção via CLI

Configurar ambiente virtual Python e dependências:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
pip install requests fpdf2

Instruções Passo a Passo

1. Iniciar o Ambiente Vulnerável do Laboratório

Inicie o ambiente vulnerável (Request-Baskets v1.2.1 acessível em http://localhost:55556):

root@kitploit:~
docker compose up -d

Verifique se ambos os contêineres estão em execução:

root@kitploit:~
docker compose ps

Saída esperada:

root@kitploit:~
NAME                         IMAGE                             COMMAND                  SERVICE            STATUS   PORTS
isolated-internal-service    hashicorp/http-echo:latest        "/http-echo -text=CO…"   internal-service   Up       5678/tcp
vulnerable-request-baskets   darklynx/request-baskets:v1.2.1   "/bin/sh -c /bin/ent…"   request-baskets    Up       0.0.0.0:55556->55555/tcp

Confirme que o serviço interno não é diretamente acessível a partir do host:

root@kitploit:~
curl http://localhost:5678 2>&1 || echo "Connection refused — internal service isolated as expected"

2. Executar a Reprodução da Vulnerabilidade (Exfiltração de Dados)

Execute o script automatizado de verificação de SSRF:

root@kitploit:~
python3 scripts/verify_vulnerability.py

O que acontece:

  1. A ferramenta chama /api/baskets/ssrf-verification-basket definindo forward_url: "http://internal-service:5678" e proxy_response: true.
  2. Ela envia um HTTP GET para a URL do basket.
  3. Ela captura o payload retransmitido CONFIDENTIAL_DATA{INTERNAL_SSRF_DEMONSTRATION_SUCCESS} e exibe RESULT: VULNERABLE.
  4. Ela exclui o basket de teste.

3. Executar a Ferramenta de Detecção Defensiva

Execute a sonda de auditoria não destrutiva:

root@kitploit:~
python3 scripts/detect.py

O que acontece:

  1. Fase 1: Corresponde a assinaturas web do Request-Baskets.
  2. Fase 2: Sonda se o encaminhamento de loopback (http://127.0.0.1:80) é aceito.
  3. Fase 3: Reporta AUDIT RESULT: VULNERABLE após aceitação (HTTP 201) e limpa o basket de sondagem.

4. Alternar para o Laboratório Remediado e Verificar a Defesa

Alterne para a topologia remediada segmentada:

root@kitploit:~
docker compose down
docker compose -f docker-compose.patched.yml up -d
python3 scripts/verify_vulnerability.py

Saída esperada:

root@kitploit:~
==============================================================
[✓] REMEDIATION VERIFIED: TARGET SECURED
    The Request-Baskets instance failed to reach the internal
    isolated service (HTTP 502 / Host Unreachable).
    Network segmentation successfully prevented SSRF data exfiltration.
==============================================================

Derrube o ambiente quando terminar:

root@kitploit:~
docker compose -f docker-compose.patched.yml down

Evidências e Verificação (Entregável 3)

O portfólio completo de evidências visuais para o Entregável 3 é mantido no diretório evidence/:

ArtefatoPropósitoLink do ArquivoDescrição
Captura de Tela 1Ambiente em Execução01_lab_running.pngMostra vulnerable-request-baskets (porta 55556) e isolated-internal-service em execução simultânea na lab-net.
Captura de Tela 2Exploração de SSRF02_reproduction_ssrf.pngExibe a flag exfiltrada CONFIDENTIAL_DATA{...} e o status VULNERABLE.
Captura de Tela 3Ferramenta de Detecção Defensiva03_detection_tool_run.pngExibe a verificação de assinatura em duas fases e a auditoria de loopback sinalizando VULNERABLE.
Captura de Tela 4Verificação de Remediação04_remediation_verified.pngComprova a falha de retransmissão (HTTP 502 / Host Unreachable) sob defesa de rede segmentada.
Captura de Tela 5Configuração da Interface Web05_web_ui_ssrf.png(Bônus) Captura do navegador das configurações da interface do Request-Baskets configuradas com Proxy Response.

Passo a passo detalhados, comandos e transcrições do console para cada captura de tela estão documentados em evidence/README.md.

Executor de Captura Interativo

Para capturar todas as capturas de tela do terminal sequencialmente sem complicações de configuração manual, execute:

root@kitploit:~
./scripts/capture_evidence_flow.sh

Compilando o PDF do Blog Técnico

Compile o relatório técnico acadêmico em PDF:

root@kitploit:~
python3 docs/generate_blog_pdf.py

Saída gerada: docs/CVE-2023-27163-Technical-Blog.pdf


Estrutura do Projeto

root@kitploit:~
cve-2023-27163-lab/
├── .gitignore                      # Git artifact exclusions (.venv, cache, OS files)
├── docker-compose.yml              # Vulnerable environment (shared lab-net, port 55556)
├── docker-compose.patched.yml      # Remediated environment (disjoint network isolation)
├── README.md                       # Complete documentation, attribution & guide
├── scripts/
│   ├── capture_evidence_flow.sh    # Interactive runner for capturing screenshots
│   ├── verify_vulnerability.py     # SSRF exploitation & remediation verification CLI
│   └── detect.py                   # Defensive audit and detection tool
├── evidence/
│   └── README.md                   # Formal screenshot evidence walkthrough
└── docs/
    ├── technical_blog.md           # Academic technical write-up (800–1,200 words)
    ├── generate_blog_pdf.py        # Markdown → PDF converter
    └── CVE-2023-27163-Technical-Blog.pdf # Compiled academic report PDF

Referências e Créditos

Esta pesquisa e desenvolvimento de laboratório baseia-se em padrões abertos de segurança, avisos de fornecedores e bancos de dados de vulnerabilidades:

  1. NIST National Vulnerability Database (NVD):
    CVE-2023-27163 Detail — Pontuação Base CVSS v3.1 6.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N).
  2. MITRE Common Weakness Enumeration (CWE):
    CWE-918: Server-Side Request Forgery (SSRF).
  3. Repositório do Projeto Upstream e Código-Fonte:
    darklynx/request-baskets (GitHub) — Serviço web Request Baskets.
  4. OWASP Foundation:
    Server-Side Request Forgery Prevention Cheat Sheet.

Aviso Legal

Este laboratório destina-se apenas a fins educacionais e de pesquisa de segurança autorizada. Não use estas ferramentas contra sistemas que você não possui ou para os quais não tem permissão explícita de teste.

Baixar ferramenta