
Informe completo de VAPT de OWASP CICD-Goat — 9 flags CTFd capturadas, 4 hallazgos críticos + 5 altos (incl. CVE-2024-23897) mapeados al OWASP Top 10 de Riesgos de Seguridad CI/CD, con PoCs, remediación y resúmenes listos para entrevistas.
Una evaluación completa de vulnerabilidades y prueba de penetración contra OWASP CICD-Goat — un entorno CI/CD deliberadamente vulnerable (Jenkins, Gitea, GitLab, CTFd) — mapeado de extremo a extremo contra los OWASP Top 10 CI/CD Security Risks.
La mayoría de los writeups de seguridad CI/CD o se quedan puramente en lo teórico (una diapositiva explicando "poisoned pipeline execution") o puramente en la caza de flags de CTF (una línea de "aquí está la flag, siguiente"). Este repositorio intenta no hacer ninguna de las dos cosas: cada hallazgo a continuación es una vulnerabilidad completamente validada y respaldada por PoC, mapeada a una categoría de riesgo específica de OWASP CI/CD-SEC, escrita de la forma en que realmente querrías explicarla en una entrevista o en un informe real para un cliente — incluyendo los callejones sin salida, las suposiciones erróneas y cómo se corrigieron.
Si estás estudiando para una entrevista de AppSec/DevSecOps/seguridad CI-CD, preparándote para un engagement de pentesting que involucre una cadena de herramientas CI/CD, o simplemente quieres un recorrido concreto y práctico de cómo se ve realmente "Poisoned Pipeline Execution" o "Insufficient Credential Hygiene" en el tráfico — esto está escrito para ti.
Reglas de engagement completas: docs/00-engagement-overview.md.
⚠️ Todo el testing en este repositorio se realizó contra el laboratorio Docker Compose local, desechable y deliberadamente vulnerable del propio tester. No se involucró ningún sistema de producción, infraestructura compartida ni datos de terceros. Levanta tu propia copia de CICD-Goat desde el repositorio oficial antes de intentar cualquiera de estas técnicas por tu cuenta.
Además, 6 hallazgos informativos / de soporte (controles positivos, confirmaciones de límites RBAC, divulgación menor de información) en findings/informational/.
Varios hallazgos no son independientes — uno habilita o completa directamente a otro. Esta es la parte que tiende a impresionar en una entrevista más que cualquier hallazgo individual por sí solo:
9 de 11 desafíos CTFd resueltos y verificados por flag — consulta la referencia cruzada completa de desafíos, incluyendo un caso documentado honestamente (Dormouse/flag9) donde el límite de control de acceso resistió bajo ataque sostenido.
Cada archivo a continuación está enlazado directamente — el árbol de carpetas solo muestra cómo están organizados.
| Archivo | Qué contiene |
|---|---|
recon/01-fingerprinting.md | Fase 1 — fingerprinting no autenticado de cada servicio en el alcance |
recon/02-authenticated-enumeration.md | Fase 2 — enumeración autenticada una vez obtenido el acceso inicial |
| Archivo | Qué contiene |
|---|---|
ctfd/challenge-cross-reference.md | Referencia cruzada completa flag por flag, incluyendo la investigación bloqueada de Dormouse/flag9 y la corrección de Duchess/flag4 |
.
├── docs/ # Engagement context, methodology, mappings, remediation, interview prep
│ ├── 00-engagement-overview.md
│ ├── 01-methodology.md
│ ├── 02-owasp-top10-cicd-mapping.md
│ ├── 03-remediation-roadmap.md
│ ├── 04-interview-prep.md
│ └── 05-lessons-learned.md
├── recon/ # Phase 1 & 2 — fingerprinting and authenticated enumeration
│ ├── 01-fingerprinting.md
│ └── 02-authenticated-enumeration.md
├── findings/ # One file per confirmed finding, full PoC + remediation
│ ├── F-010-...md ... F-021-...md
│ └── informational/ # INFO/LOW severity supporting observations
├── ctfd/
│ └── challenge-cross-reference.md
└── LICENSE.md
docs/04-interview-prep.md — resúmenes de un párrafo en estilo hablado de cada hallazgo importante, más preguntas de seguimiento comunes.docs/03-remediation-roadmap.md — un checklist priorizado y accionable.docs/02-owasp-top10-cicd-mapping.md para la taxonomía de referencia en torno a la cual está organizado todo este repositorio.Cada hallazgo aquí está mapeado contra los OWASP Top 10 CI/CD Security Risks (2023) — una tabla de referencia completa (CICD-SEC-1 a CICD-SEC-10) se encuentra en docs/02-owasp-top10-cicd-mapping.md, ya que se referencia constantemente a lo largo de los hallazgos individuales.
Este repositorio documenta testing realizado exclusivamente contra un laboratorio de entrenamiento local, autoalojado y deliberadamente vulnerable (OWASP CICD-Goat), con fines educativos y de portafolio. Nada aquí apunta, referencia ni fue probado contra ningún sistema de producción, servicio de terceros o credencial real. No utilices ninguna técnica de este repositorio contra sistemas que no poseas o para los que no tengas autorización escrita explícita para probar.
"Los mejores pentesters piensan primero como desarrolladores y segundo como atacantes. Si entiendes por qué el código se escribió de cierta manera, siempre encontrarás más de lo que un escáner jamás encontrará."
Abordo cada engagement en tres fases:
1. Entender antes de atacar — Lee la aplicación. Úsala como un usuario real. Comprende la lógica de negocio antes de tocar una sola herramienta.
2. Manual primero, herramientas después — Los escáneres automatizados encuentran lo que están configurados para encontrar. Los bugs interesantes siempre se encuentran pensando, no escaneando.
3. Reportar como un desarrollador — Un hallazgo que los desarrolladores no pueden entender o reproducir es un hallazgo que no se corrige.
Dirección futura — Red Teaming: OSCP → CRTO → OSEP, CRTP, CRTL, CRTE
Este contenido está licenciado bajo CC BY 4.0. Eres bienvenido a reutilizar o adaptar cualquiera de estos writeups — solo da atribución clara a Dheeraj Kumar Jayaswal con un enlace de vuelta a este repositorio. CICD-Goat en sí es un proyecto separado de Cider Security — ve y dale una estrella al original.
LinkedIn — abierto a consultoría, colaboración y discusiones sobre seguridad.
Los comentarios, correcciones y PRs (por ejemplo, para flag9/Dormouse, o el seguimiento de Duchess/flag4 en la referencia cruzada de CTFd) son bienvenidos — consulta CONTRIBUTING.md.
| Repositorio | Qué contiene |
|---|
| CICD-Goat-Vapt-Writeup (este repositorio) | Writeup completo de VAPT contra OWASP CICD-Goat — 16 hallazgos incluyendo CVE-2024-23897, mapeados a los OWASP Top 10 CI/CD Security Risks, con PoCs y resúmenes listos para entrevistas |
| From-Dev-To-Attacker | Mi diario de campo insignia — 67 writeups originales sobre patrones de vulnerabilidad, escritos desde la perspectiva de un desarrollador, con enfoque en el impacto a nivel de dominio empresarial en Impuestos, Banca, Retail, E-commerce, Logística de Carga y Educación |
| From-Pentester-To-Red-Teamer | Mi hoja de ruta estructurada de 24 meses para la transición del pentesting Web/API al Red Teaming — fases, laboratorios, certificaciones y progreso documentado abiertamente mientras avanzo |
| AppSec-From-The-Trenches | Referencia de herramientas y metodología de pentesting — cómo uso realmente Burp Suite, Nmap, Metasploit, Hydra, Hashcat y más, además de mi metodología WAPT |
| API-From-The-Trenches | Serie de análisis profundo sobre seguridad de API — cobertura del OWASP API Top 10, BOLA, ataques JWT, testing de GraphQL, metodología completa |
| Bug-Bounty-Hunting-Companion | Reportes reales de bug bounty divulgados públicamente, desglosados en checklists reproducibles |
| DarkWeb-From-The-Trenches | Metodología de threat intelligence y OSINT en la dark web — monitoreo de filtraciones de credenciales, seguimiento de ransomware, TI previa al engagement |
| .pcap-Arsenal | Capturas de paquetes organizadas por protocolo, para análisis y aprendizaje en las capas Web/API/Red |
| Campo | Valor |
|---|
| Objetivo | OWASP CICD-Goat — despliegue local con Docker Compose |
| Tipo de engagement | Laboratorio de aprendizaje autodirigido autorizado (grey-box) |
| Stack tecnológico | Jenkins 2.332.1, Gitea 1.16.5, GitLab 15.11.13-ee, CTFd, Docker Compose |
| Alcance | localhost:3000 (Gitea), :8080/:50000 (Jenkins), :4000 (GitLab), :8000 (CTFd), :8008 (prod-sim) |
| Metodología | Fase 0–3 (Alcance → Fingerprinting → Identificación de Vulnerabilidades → Explotación) |
| ID | Título | Severidad | Mapeo OWASP CI/CD | Flag CTFd |
|---|
| F-010 | Exposición de secretos en los logs de consola de builds de Jenkins → robo de credenciales → escritura no autorizada en repositorio | CRÍTICA | CICD-SEC-6, -4, -2 | flag1, flag2 |
| F-013 | La lógica insegura de auto-merge elude la revisión de código (heurística de diff por palabras a nivel de PR) | CRÍTICA | CICD-SEC-1, -5 | flag10 |
| F-016 | CVE-2024-23897 — Lectura arbitraria de archivos en el controlador vía Jenkins CLI | CRÍTICA | CICD-SEC-7 | flag8 |
| F-017 | Token de registro de runner compartido de GitLab → robo de secretos CI/CD a nivel de instancia | CRÍTICA | CICD-SEC-2, -6 | flag11 |
| F-019 | Ejecución de código en el nodo controlador de Jenkins mediante override de etiqueta de agente | CRÍTICA | CICD-SEC-5, -4 | flag5 |
| F-018 | Repositorio de pipeline desacoplado + bypass del filtro de exclusión de ramas | ALTA | CICD-SEC-4, -6 | flag3 |
| F-020 | El sistema de archivos del agente compartido expone credenciales de jobs FreeStyle | ALTA | CICD-SEC-6, -5 | flag6 |
| F-021 | El override de configuración de Checkov SAST permite una mala configuración de IaC no detectada | ALTA | CICD-SEC-1, -8 | flag7 |
| F-014 | Clave secreta de sesión de Flask derivada de una variable de pipeline CI/CD | ALTA | CICD-SEC-6 | flag11 (vía F-017) |
| Archivo | Qué contiene |
|---|
docs/00-engagement-overview.md | Reglas de engagement, alcance, stack tecnológico |
docs/01-methodology.md | Metodología de testing fase por fase utilizada a lo largo de todo el trabajo |
docs/02-owasp-top10-cicd-mapping.md | Taxonomía de referencia completa CICD-SEC-1 a -10 |
docs/03-remediation-roadmap.md | Checklist de remediación priorizado y accionable |
docs/04-interview-prep.md | Resúmenes de cada hallazgo en estilo hablado + posibles preguntas de seguimiento |
docs/05-lessons-learned.md | Retrospectiva — qué funcionó, qué no, y qué hacer diferente la próxima vez |
| Archivo |
|---|
| Archivo |
|---|
| Certificación | Emisor | Estado |
|---|
| Certified Ethical Hacker (CEH) | EC-Council | ✅ 2021 |
| AWS Certified Solutions Architect – Associate | Amazon Web Services | ✅ 2022 |
| AWS Certified Cloud Practitioner | Amazon Web Services | ✅ 2022 |
| Executive Certificate in Cyber Security | IIT Kanpur | ✅ 2026 |
| OSWE — OffSec Web Expert (OSCE3 track) | OffSec | 🔄 En progreso |