11# ProStaff API - Pentest Lab
22
3- Lab de testes de segurança para a API ProStaff. Adaptado do framework chorrocho.
3+ Lab de testes de segurança para a API ProStaff
44
55## Alvo
66
@@ -27,7 +27,7 @@ Credenciais de teste: `test@prostaff.gg` / `Test123!@#`
2727./tools/install.sh check # verifica status das ferramentas
2828```
2929
30- ## Scripts
30+ ## Scripts — API (scripts/)
3131
3232| Script | Vetor | Destrutivo |
3333| --------| -------| -----------|
@@ -46,22 +46,50 @@ Credenciais de teste: `test@prostaff.gg` / `Test123!@#`
4646| 13_nuclei_scan.sh | Templates customizados + headers/auth/Rails exposures | Nao |
4747| 14_httpx_recon.sh | Recon completo de paths e headers | Nao |
4848| 15_full_audit.sh | Roda todos os scripts em sequencia | Opcional |
49+ | 16_security_headers.sh | CarameloScan checkers #1 -7, #10 , #13 -16 (HSTS, CSP, CORS) | Nao |
50+ | 17_cookie_security.sh | Flags Secure/HttpOnly/SameSite, escopo, invalidacao no logout | Nao |
51+ | 18_content_security.sh | Server disclosure, Referrer-Policy, Cache-Control, stack trace | Nao |
52+ | 19_info_disclosure.sh | .env, .git, swagger, rails/info, sidekiq, logs, Gemfile | Nao |
53+ | 20_dns_email_spoof.sh | SPF, DMARC, DKIM, MX, zone transfer AXFR, subdomain takeover | Nao |
54+
55+ ## Scripts — Frontend (front/)
56+
57+ | Script | Vetor |
58+ | --------| -------|
59+ | check-security-headers.sh | Todos os 22 checkers CarameloScan no prostaff.gg |
60+ | check-cookies.sh | Flags de cookie, SameSite, duracao, CSRF token |
61+ | check-sri.sh | SRI em scripts/CSS externos, source maps, scripts inline |
62+ | check-content-security.sh | Version disclosure, Referrer-Policy, cache em paginas auth, COOP/CORP |
63+ | check-info-disclosure.sh | .env, .git, __ NEXT_DATA__ , BUILD_ID, comentarios HTML, robots.txt |
64+
65+ Todos os scripts de frontend aceitam o target como primeiro argumento:
66+ ``` bash
67+ ./front/check-security-headers.sh https://staging.prostaff.gg
68+ ```
4969
5070## Uso rapido
5171
5272``` bash
53- # Todos os testes (sem os destrutivos)
73+ # Todos os testes API (sem os destrutivos)
5474./scripts/15_full_audit.sh --skip-destructive
5575
56- # Todos os testes
57- ./scripts/15_full_audit.sh
58-
59- # Script individual
60- ./scripts/01_health_recon.sh
61- ./scripts/03_jwt_attacks.sh
62-
63- # Auditoria rapida (sem nuclei e search)
64- ./scripts/15_full_audit.sh --quick
76+ # Auditoria de headers API (producao)
77+ ./scripts/16_security_headers.sh
78+ ./scripts/16_security_headers.sh http://localhost:3333 # local
79+
80+ # Auditoria completa de seguranca (CarameloScan + extras)
81+ ./scripts/16_security_headers.sh
82+ ./scripts/17_cookie_security.sh
83+ ./scripts/18_content_security.sh
84+ ./scripts/19_info_disclosure.sh
85+ ./scripts/20_dns_email_spoof.sh
86+
87+ # Auditoria completa frontend
88+ ./front/check-security-headers.sh
89+ ./front/check-cookies.sh
90+ ./front/check-sri.sh
91+ ./front/check-content-security.sh
92+ ./front/check-info-disclosure.sh
6593```
6694
6795## Ordem recomendada
@@ -72,6 +100,18 @@ Credenciais de teste: `test@prostaff.gg` / `Test123!@#`
721004 . ` 08 ` → ` 09 ` (integracao externa e exports)
731015 . ` 10 ` → ` 11 ` (WebSocket e search)
741026 . ` 12 ` → ` 13 ` → ` 14 ` (info disclosure e scan automatizado)
103+ 7 . ` 16 ` → ` 17 ` → ` 18 ` → ` 19 ` → ` 20 ` (headers, cookies, content, DNS)
104+ 8 . ` front/check-* ` (auditoria frontend)
105+
106+ ## Relatorios
107+
108+ Salvos em ` reports/ ` com data no nome. Formato: ` security-audit-YYYY-MM-DD.md ` .
109+ Nunca commitar - adicione ao .gitignore.
110+
111+
112+ | Relatorio | Data | Criticos | Status |
113+ | -----------| ------| ----------| --------|
114+
75115
76116## Vetores principais (Rails/JWT)
77117
@@ -93,6 +133,26 @@ Credenciais de teste: `test@prostaff.gg` / `Test123!@#`
93133- CORS wildcard em API autenticada
94134- Stack trace em respostas de erro
95135
136+ ### Headers HTTP (Scan)
137+ - HSTS ausente ou max-age insuficiente
138+ - CSP ausente ou com unsafe-inline/unsafe-eval
139+ - X-Frame-Options ausente (clickjacking)
140+ - X-Content-Type-Options ausente (MIME sniffing)
141+ - CORS Allow-Origin wildcard (* )
142+ - Referrer-Policy ausente
143+
144+ ### Cookies
145+ - Flag Secure ausente (cookie enviado via HTTP)
146+ - Flag HttpOnly ausente (XSS pode roubar token)
147+ - SameSite ausente (CSRF)
148+ - Duracao excessiva
149+
150+ ### DNS / Email
151+ - SPF ausente (email spoofing)
152+ - DMARC ausente (sem politica de rejeicao)
153+ - Zone transfer AXFR habilitado
154+ - Subdomain takeover (CNAME para servico abandonado)
155+
96156### Integracao
97157- SSRF via sync Riot API (region parameter)
98158- CSV formula injection em exports
@@ -102,13 +162,3 @@ Credenciais de teste: `test@prostaff.gg` / `Test123!@#`
102162
103163Salvos em ` snapshots/ ` com timestamp. Nunca commitar - adicione ao .gitignore.
104164
105- ## Diferenca do chorrocho
106-
107- | Chorrocho | ProStaff |
108- | -----------| ----------|
109- | HTTP POST JSON simples | REST completo com rotas aninhadas |
110- | Google Apps Script backend | Rails 7.1 + PostgreSQL |
111- | Cloudflare Turnstile (bot protection) | JWT Bearer token |
112- | Sem usuarios/roles | JWT com roles + multi-tenant |
113- | Google Sheets (nao SQL) | PostgreSQL (SQL real) |
114- | Cloudflare Workers (sem state) | Rails stateful + Redis |
0 commit comments