Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
Tools/GitHubGitHub/dheeraj-jayaswal/cicd-goat-vapt-writeup
ReconnaissanceVulnerability AnalysisExploitationCTFPenetration TestingDevSecOpsMisconfigurationLearning & Education

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
GitHub
dheeraj-jayaswal/cicd-goat-vapt-writeup

CICD-Goat-Vapt-Writeup

Full VAPT writeup of OWASP CICD-Goat — 9 CTFd flags captured, 4 critical + 5 high findings (incl. CVE-2024-23897) mapped to the OWASP Top 10 CI/CD Security Risks, with PoCs, remediation, and interview-ready summaries.

View Repository
1816 days agoNot yet reviewed

CICD-Goat VAPT Writeup

A full vulnerability assessment & penetration test against OWASP CICD-Goat — a deliberately vulnerable CI/CD environment (Jenkins, Gitea, GitLab, CTFd) — mapped end-to-end against the OWASP Top 10 CI/CD Security Risks.

Made for OWASP CICD-Goat Findings Flags Captured License

LinkedIn Location


🧭 How This Fits With My Other Repos


Why this exists

Most CI/CD security writeups either stay purely theoretical (a slide explaining "poisoned pipeline execution") or purely CTF-flag-chasing (a one-line "here's the flag, next"). This repo tries to do neither: every finding below is a fully validated, PoC-backed vulnerability, mapped to a specific OWASP CI/CD-SEC risk category, written the way you'd actually want to explain it in an interview or a real client report — including the dead ends, the wrong assumptions, and how they got corrected.

If you're studying for an AppSec/DevSecOps/CI-CD-security interview, prepping for a pentest engagement involving a CI/CD toolchain, or just want a concrete, hands-on tour of what "Poisoned Pipeline Execution" or "Insufficient Credential Hygiene" actually looks like on the wire — this is written for you.

Target environment

Full rules of engagement: docs/00-engagement-overview.md.

⚠️ All testing in this repo was performed against the tester's own local, disposable, intentionally-vulnerable Docker Compose lab. No production systems, shared infrastructure, or third-party data were involved. Spin up your own copy of CICD-Goat from the official repo before trying any of this yourself.

Results at a glance

Plus 6 informational / supporting findings (positive controls, RBAC boundary confirmations, minor info-disclosure) in findings/informational/.

How the findings chain together

Several findings aren't independent — one directly enables or completes another. This is the part that tends to impress in an interview more than any single finding on its own:

CICD-Goat cross-finding kill chain diagram showing F-010 leading to unauthorized push, F-013's auto-merge bypass, F-016's CVE-2024-23897 arbitrary file read feeding flag captures and F-018, and F-017's rogue GitLab runner completing F-014

9 of 11 CTFd challenges solved and flag-verified — see the full challenge cross-reference, including an honestly-documented case (Dormouse/flag9) where the access-control boundary held under sustained attack.

Full Table of Contents

Every file below is directly linked — the folder tree just shows how they're organized.

📋 Engagement Docs

🔍 Recon

FileWhat's in it
recon/01-fingerprinting.mdPhase 1 — unauthenticated fingerprinting of every service in scope
recon/02-authenticated-enumeration.mdPhase 2 — authenticated enumeration once initial access was gained

🚨 Critical & High Findings

ℹ️ Informational / Supporting Findings

🎯 CTFd

FileWhat's in it
ctfd/challenge-cross-reference.mdFull flag-by-flag cross-reference, including the blocked Dormouse/flag9 investigation and the Duchess/flag4 correction

Repo structure

root@kitploit:~
.
├── 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

Reading paths

  • Just want the highlights? Start with the results table above, then read F-010, F-013, F-016, and F-017 — the four most complete end-to-end kill chains.
  • Studying for an interview? Go straight to docs/04-interview-prep.md — one-paragraph, spoken-style summaries of every major finding, plus common follow-up questions.
  • Building/hardening a CI/CD pipeline? Go straight to docs/03-remediation-roadmap.md — a prioritized, actionable checklist.
  • New to CI/CD security concepts? Start with docs/02-owasp-top10-cicd-mapping.md for the reference taxonomy this whole repo is organized around.

About OWASP Top 10 CI/CD Security Risks

Every finding here is mapped against the OWASP Top 10 CI/CD Security Risks (2023) — a full reference table (CICD-SEC-1 through CICD-SEC-10) lives in docs/02-owasp-top10-cicd-mapping.md, since it's referenced constantly throughout the individual findings.

Disclaimer

This repository documents testing performed exclusively against a local, self-hosted, intentionally-vulnerable training lab (OWASP CICD-Goat), for educational and portfolio purposes. Nothing here targets, references, or was tested against any production system, third-party service, or real credential. Do not use any technique in this repo against systems you do not own or have explicit written authorization to test.


🧠 Testing Philosophy

"The best penetration testers think like developers first and attackers second. If you understand why code was written a certain way, you'll always find more than a scanner ever will."

I approach every engagement in three phases:

1. Understand before you attack — Read the application. Use it as a real user. Understand the business logic before touching a single tool.

2. Manual first, tools second — Automated scanners find what they're configured to find. The interesting bugs are always found by thinking, not scanning.

3. Report like a developer — A finding that developers can't understand or reproduce is a finding that doesn't get fixed.


👤 About Me

  • Name — Dheeraj Kumar Jayaswal
  • Role — Technology Lead – Offensive Security, Infosys Limited
  • Focus — Web Application & API Penetration Testing
  • Experience — 15+ years in IT · 6+ years in Offensive Security
  • Edge — Former full-stack developer (ASP.NET / SQL Server) — I think like a developer, attack like a hacker
  • Domains — Income Tax · Banking · Retail · E-commerce · Freight Logistics · Education

🏅 Certifications

Future direction — Red Teaming: OSCP → CRTO → OSEP, CRTP, CRTL, CRTE


📄 License

This content is licensed under CC BY 4.0. You're welcome to reuse or adapt any of this write-up — just give clear attribution to Dheeraj Kumar Jayaswal with a link back to this repository. CICD-Goat itself is a separate project by Cider Security — go star the original.


🤝 Connect

LinkedIn — open to consulting, collaboration, and security discussions.

Feedback, corrections, and PRs (e.g. for flag9/Dormouse, or the Duchess/flag4 follow-up in the CTFd cross-reference) are welcome — see CONTRIBUTING.md.

Download Tool
RepositoryWhat's in it
CICD-Goat-Vapt-Writeup (this repo)Full VAPT writeup against OWASP CICD-Goat — 16 findings including CVE-2024-23897, mapped to the OWASP Top 10 CI/CD Security Risks, with PoCs and interview-ready summaries
From-Dev-To-AttackerMy flagship field journal — 67 original write-ups on vulnerability patterns, written from a developer's lens, with enterprise domain-impact framing across Income Tax, Banking, Retail, E-commerce, Freight Logistics, and Education
From-Pentester-To-Red-TeamerMy structured 24-month roadmap for transitioning from Web/API pentesting into Red Teaming — phases, labs, certifications, and progress tracked openly as I work through it
AppSec-From-The-TrenchesPentest tools & methodology reference — how I actually use Burp Suite, Nmap, Metasploit, Hydra, Hashcat, and more, plus my WAPT methodology
API-From-The-TrenchesDeep-dive API security series — OWASP API Top 10 coverage, BOLA, JWT attacks, GraphQL testing, full methodology
Bug-Bounty-Hunting-CompanionReal, publicly-disclosed bug bounty reports broken into reproducible checklists
DarkWeb-From-The-TrenchesThreat intelligence & dark web OSINT methodology — credential leak monitoring, ransomware tracking, pre-engagement TI
.pcap-ArsenalPacket captures organized by protocol, for Web/API/Network-layer analysis and learning
FieldValue
TargetOWASP CICD-Goat — local Docker Compose deployment
Engagement typeAuthorized self-directed learning lab (grey-box)
Tech stackJenkins 2.332.1, Gitea 1.16.5, GitLab 15.11.13-ee, CTFd, Docker Compose
Scopelocalhost:3000 (Gitea), :8080/:50000 (Jenkins), :4000 (GitLab), :8000 (CTFd), :8008 (prod-sim)
MethodologyPhase 0–3 (Scope → Fingerprinting → Vulnerability ID → Exploitation)
IDTitleSeverityOWASP CI/CD MappingCTFd Flag
F-010Secrets exposure in Jenkins build console logs → credential theft → unauthorized repo writeCRITICALCICD-SEC-6, -4, -2flag1, flag2
F-013Insecure auto-merge logic bypasses code review (PR-wide word-diff heuristic)CRITICALCICD-SEC-1, -5flag10
F-016CVE-2024-23897 — Jenkins CLI arbitrary file read on the controllerCRITICALCICD-SEC-7flag8
F-017GitLab shared-runner registration token → instance-wide CI/CD secret theftCRITICALCICD-SEC-2, -6flag11
F-019Jenkins controller-node code execution via agent label overrideCRITICALCICD-SEC-5, -4flag5
F-018Decoupled pipeline repo + branch exclusion filter bypassHIGHCICD-SEC-4, -6flag3
F-020Shared agent filesystem exposes FreeStyle job credentialHIGHCICD-SEC-6, -5flag6
F-021Checkov SAST config override enables undetected IaC misconfigurationHIGHCICD-SEC-1, -8flag7
F-014Flask session secret key derived from a CI/CD pipeline variableHIGHCICD-SEC-6flag11 (via F-017)
FileWhat's in it
docs/00-engagement-overview.mdRules of engagement, scope, tech stack
docs/01-methodology.mdPhase-by-phase testing methodology used throughout
docs/02-owasp-top10-cicd-mapping.mdFull CICD-SEC-1 through -10 reference taxonomy
docs/03-remediation-roadmap.mdPrioritized, actionable remediation checklist
docs/04-interview-prep.mdSpoken-style summaries of every finding + likely follow-up questions
docs/05-lessons-learned.mdRetrospective — what worked, what didn't, what to do differently next time
File
F-010 — Jenkins secrets exposure via console logs
F-013 — Insecure auto-merge bypass
F-014 — Flask secret key from CI/CD variable
F-016 — CVE-2024-23897 Jenkins CLI arbitrary file read
F-017 — GitLab runner token secret theft
F-018 — Decoupled pipeline branch exclusion bypass
F-019 — Jenkins controller RCE via agent label override
F-020 — Shared agent filesystem credential leak
F-021 — Checkov SAST config override bypass
File
F-006 — Private repo enumeration gap
F-007 — Additional Jenkins user
F-009 — Job Read vs ExtendedRead
F-011 — Correct withCredentials usage (positive control)
F-012 — Credentials API connection drop
F-015 — Anonymous registry enumeration
CertificationIssuerStatus
Certified Ethical Hacker (CEH)EC-Council✅ 2021
AWS Certified Solutions Architect – AssociateAmazon Web Services✅ 2022
AWS Certified Cloud PractitionerAmazon Web Services✅ 2022
Executive Certificate in Cyber SecurityIIT Kanpur✅ 2026
OSWE — OffSec Web Expert (OSCE3 track)OffSec🔄 In Progress