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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
grafana-gitsync-dns-rebind — Grafana OSS 13.2.3 - 높음 - 원격 - SSRF - Git Sync URLValidator는 admission-only DNS | Kitploit
도구/GitHubGitHub/abraxas/grafana-gitsync-dns-rebind
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingLabs & Practice
GitHubabraxas/grafana-gitsync-dns-rebind

grafana-gitsync-dns-rebind

Grafana OSS 13.2.3 - 높음 - 원격 - SSRF - Git Sync URLValidator는 admission-only DNS

저장소 보기
4일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - grafana-gitsync-dns-rebind

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  grafana-gitsync-dns-rebind

grafana-gitsync-dns-rebind

분류: SSRF 도달 범위: 원격

Grafana OSS 13.2.3 (6193dc0) - Grafana Labs

Git Sync의 URLValidator는 저장소 URL 호스트를 승인 시점에 검사한다. nanogit / Test는 이후 IP 고정 없이 다시 해석한다. isBlockedIP는 루프백, RFC1918, 링크-로컬, 그리고 미지정 주소만 해당한다. 리터럴 0.0.0.1은 차단되지 않는다. 검증 시점에 공인인 호스트명은 clone GET 시점에 RFC1918로 리바인딩될 수 있다.

리바인딩 Git URL에 대한 Org Admin Test는 Grafana가 검증기가 거부하도록 작성된 내부 호스트에 GET 요청을 보내게 만든다.

ID아직 CVE 없음
분류SSRF (DNS 리바인드 / 0.0.0.0/8 공백)
도달 범위원격 (Org Admin repositories:create)
CWECWE-918 / CWE-367
CVSSHigh: 7.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N
제품Grafana OSS
영향받는 버전13.2.3 (6193dc0); Git Sync 기본 활성화
인증Org Admin (repositories:create / :write). Viewer/Editor 생성은 아님.
라이선스GNU Affero GPL v3.0
랩127.0.0.1 전용

공격자가 할 수 있는 일

행위자는 외부인이 아니라 Org Admin이다. Org Admin은 OSS에서 이미 데이터소스를 내부 URL로 지정할 수 있다. 이 잔여 취약점은 저장소 URL에 대해 해당 부류를 차단하기 위해 만들어진 Git Sync URLValidator의 우회다.

권한메서드 / 싱크정찰 / 무결성 / 가용성랩 검증 또는 추론
Grafana가 리바인딩 Git URL에 GET 요청을 보내게 함Org Admin POST .../repositories/{name}/test with spec.git.url=http://git.lab/...정찰 (Grafana 프로세스에서의 아웃바운드 HTTP)랩 검증. DNS A1 공인, 이후 A RFC1918. 리바인드 오라클 hits=3, witness in body
리터럴 0.0.0.1 Git URL에 도달동일한 Test with http://0.0.0.1:18080/lab/gitsync.git정찰랩 검증: 승인 시점에 차단되지 않음 (status 400 transport, not 422 public-or-allowed)
해당 호스트에서 Git Smart HTTP / HTTP 본문을 Test 오류로 읽기gitRepository.Test가 전송 오류를 보간정찰핀에서 추론. 랩은 200 git advertisement 사용
승인 후 RFC1918 / CGNAT으로 리바인드TOCTOU: DNS 검증 후 nanogit 다이얼정찰RFC1918 사이드카 172.30.60.3에 대해 랩 검증
userinfo를 포함한 저장된 spec.*.url의 Viewer 읽기repositories:read정찰핀에서 추론. 이 랩은 아님

이 잔여 취약점에서 차단됨 (랩 검증): 리터럴 루프백 127.0.0.1 422; RFC1918 리터럴 10.0.0.1 422; IMDS 169.254.169.254 422. 차단됨: Editor는 저장소를 생성할 수 없음. RCE 아님. Grafana Admin 필요 아님. Grafana G2 (IAM SSOSetting k8s authorizer)는 건너뜀.

발견 방법

apps/provisioning/pkg/repository/validator.go의 승인 로직은 URLValidator.ValidateURL을 호출한다. isBlockedIP는 네 가지 조건이다. 미지정은 0.0.0.0 / ::만 해당한다. 0.0.0.0/8의 나머지와 CGNAT은 통과한다. 이후 clone은 nanogit.NewHTTPClient(gitConfig.URL)을 사용하고 다시 해석한다.

이미 기록된 잘못된 접근: Org Admin DS URL을 이 잔여 취약점으로 취급 (그것들은 의도된 것; 이것은 Git Sync 검증기 우회); IMDS 169.254가 통과할 것이라 기대 (승인 시점에 차단됨); Editor 생성 (거부됨); 리버스 셸. 연극.

랩

python3 grafana-gitsync-dns-rebind-Abraxas-Labs.py

또는:

cd lab
./run.sh

루프백: Grafana 127.0.0.1:19360, DNS 제어 127.0.0.1:19361, 리바인드 오라클 127.0.0.1:19362. 이미지 grafana/grafana:13.2.3.

SUCCESS GRAFANA-GITSYNC-DNS-REBIND how=live actor=org-admin path=rebind dns_lookups=4 negatives=3 GRAFANA-GITSYNC-DNS-REBIND-WITNESS

수정 방법

clone/Test 전반에 걸쳐 해석된 주소를 고정하거나, 매 다이얼마다 재검증하라. 0.0.0.0/8과 CGNAT을 차단으로 취급하라. 고정 없이 허용 목록 호스트에서 DNS를 건너뛰지 마라.

참고

  • github.com/grafana/grafana tag v13.2.3
  • url_validator.go · validator.go
  • CWE-918 · CWE-367

라이선스

GNU Affero GPL v3.0. LICENSE 참조. 루프백 랩 전용. 보증 없음.

도구 다운로드