Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/0x240x23elu/cve-2026-1529
Authentication & AuthorizationPayload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHub0x240x23elu/cve-2026-1529

CVE-2026-1529

Keycloak: 부적절한 초대 토큰 검증을 통한 무단 조직 등록

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-1529 Keycloak 익스플로잇 도구

Python Version License Status

CVE-2026-1529: Keycloak - 부적절한 초대 토큰 검증을 통한 무단 조직 등록

⚠️ 경고: 이 도구는 교육 및 공인된 보안 테스트 목적으로만 제공됩니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다.

📋 목차

  • 개요
  • 기능
  • 사전 요구 사항
  • 설치
  • 사용법
  • 구성
  • 작동 방식
  • 출력
  • 문제 해결
  • 법적 고지
  • 기여
  • 크레딧

🎯 개요

이 도구는 부적절한 JWT 초대 토큰 검증을 통해 무단 조직 등록을 허용하는 Keycloak의 심각한 취약점(CVE-2026-1529)을 시연합니다. 이 익스플로잇은 초대 토큰을 조작하여 Keycloak 인스턴스에 대한 무단 접근 권한을 얻습니다.

취약점 세부 정보:

  • CVE ID: CVE-2026-1529
  • 심각도: 치명적
  • 공격 벡터: 네트워크
  • 공격 복잡성: 낮음
  • 영향 대상: 조직 초대 기능이 있는 Keycloak 인스턴스

✨ 기능

  • ✅ 자동 취약점 탐지
  • ✅ JWT 토큰 조작
  • ✅ 자동 사용자 등록
  • ✅ 로그인 검증
  • ✅ 상세 익스플로잇 보고서
  • ✅ 구성 가능한 매개변수
  • ✅ 디버그 로깅 지원
  • ✅ 다중 재시도 HTTP 클라이언트

📦 사전 요구 사항

  • Python 3.7 이상
  • pip(Python 패키지 관리자)
  • 가상 환경(권장)
  • 대상 Keycloak 인스턴스(공인된 테스트 전용)

🚀 설치

방법 1: 저장소 복제

root@kitploit:~
# 저장소 복제
git clone https://github.com/yourusername/cve-2026-1529-exploit.git
cd cve-2026-1529-exploit

# 가상 환경 생성
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 의존성 설치
pip install -r requirements.txt

방법 2: 수동 설정

root@kitploit:~
# 디렉터리 구조 생성
mkdir -p keycloak-exploit/{utils,config,logs,output/reports}
cd keycloak-exploit

# 릴리스에서 파일 다운로드 또는 수동 복사
# 그런 다음 의존성 설치
pip install requests urllib3 PyJWT

파일 구조

root@kitploit:~
keycloak-exploit/
├── keycloak-exploit.py           # 메인 익스플로잇 스크립트
├── requirements.txt              # Python 의존성
├── README.md                     # 이 파일
├── config/
│   └── default_config.json       # 구성 파일
├── utils/
│   ├── __init__.py              # 패키지 초기화
│   ├── http_utils.py            # HTTP 클라이언트 유틸리티
│   ├── jwt_utils.py             # JWT 조작
│   └── crypto_utils.py          # 암호화 유틸리티
├── logs/                         # 자동 생성 로그
└── output/
    └── reports/                  # 익스플로잇 보고서

💻 사용법

기본 사용법

root@kitploit:~
python3 keycloak-exploit.py https://target-keycloak.com

고급 옵션

root@kitploit:~
# 사용자 지정 초대 토큰 사용
python3 keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... https://target.com

# 사용자 지정 조직 ID 사용
python3 keycloak-exploit.py -o custom_org_id https://target.com

# 사용자 지정 구성 파일 사용
python3 keycloak-exploit.py -c /path/to/config.json https://target.com

# 디버그 로깅 활성화
python3 keycloak-exploit.py -d https://target.com

# 도움말 표시
python3 keycloak-exploit.py -h

# 버전 표시
python3 keycloak-exploit.py -v

명령줄 인수

⚙️ 구성

config/default_config.json을 편집하여 익스플로잇 매개변수를 사용자 지정합니다:

root@kitploit:~
{
    "exploit": {
        "default_username": "admin_user_2026",
        "default_password": "KeycloakCVE2026!",
        "default_email": "[email protected]",
        "timeout": 30,
        "max_retries": 3
    },
    "jwt": {
        "algorithm": "HS256",
        "secret_key": "keycloak-cve-2026-1529-exploit",
        "token_expiry": 3600
    },
    "target": {
        "endpoints": {
            "realms": "/realms",
            "organizations": "/organizations",
            "register": "/register",
            "login": "/login"
        }
    },
    "output": {
        "log_level": "INFO",
        "save_reports": true,
        "report_format": "txt"
    }
}

구성 옵션

🔧 작동 방식

익스플로잇은 다음 단계로 작동합니다:

  1. 취약점 확인

    • 대상 Keycloak 인스턴스에 연결
    • Keycloak 버전 감지
    • 조직 엔드포인트 테스트
  2. 토큰 생성/조작

    • 초대 토큰 생성 또는 수락
    • JWT 토큰 디코딩
    • 페이로드의 조직 ID 조작
    • 알려진 키로 토큰 재서명
  3. 사용자 등록

    • 조작된 토큰으로 등록 제출
    • 조직 검증 우회
    • 무단 사용자 계정 생성
  4. 로그인 검증

    • 생성된 자격 증명으로 로그인 테스트
    • 액세스 토큰 생성
    • 로그인 URL 제공
  5. 보고서 생성

    • 상세 익스플로잇 보고서 생성
    • output/reports/에 저장
    • 모든 기술적 세부 정보 포함

공격 흐름 다이어그램

root@kitploit:~
┌─────────────────┐
│  대상 확인      │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  토큰 생성/획득 │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 토큰 조작       │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 사용자 등록     │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  로그인 테스트  │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  보고서 생성    │
└─────────────────┘

📊 출력

성공적인 익스플로잇 출력

root@kitploit:~
============================================================
CVE-2026-1529 EXPLOIT RESULTS
============================================================
✓ 대상이 CVE-2026-1529에 취약합니다

🎯 익스플로잇 성공!
사용자 이름: admin_user_2026
비밀번호: KeycloakCVE2026!
이메일: [email protected]
로그인 링크: https://target.com/realms/master/account

📄 보고서 저장 위치: output/reports/exploit_report_20260211_050507.txt

🔐 제공된 자격 증명을 사용하여 Keycloak 인스턴스에 접근하세요!
⚠️  이는 CVE-2026-1529로 인한 무단 접근을 시연합니다

============================================================
by f3ds cr3w est, 2002
============================================================

생성된 보고서

output/reports/에 상세 보고서가 저장되며 다음을 포함합니다:

  • 대상 정보
  • 각 단계별 익스플로잇 결과
  • 생성된 사용자 자격 증명
  • 로그인 링크
  • 원본 및 조작된 토큰
  • 기술적 세부 정보
  • CVE 정보
  • 보안 권고

로그 파일

로그는 상세 실행 정보와 함께 logs/ 디렉터리에 저장됩니다.

🐛 문제 해결

일반적인 문제

1. ModuleNotFoundError: 'utils' 모듈이 없습니다

해결 방법:

root@kitploit:~
# 올바른 디렉터리에 있는지 확인
cd keycloak-exploit
python3 keycloak-exploit.py https://target.com

2. 구성 파일을 찾을 수 없음

해결 방법:

root@kitploit:~
# config 디렉터리가 존재하는지 확인
mkdir -p config
# config/에 default_config.json 복사 또는 생성

3. Retry.init() got an unexpected keyword argument 'method_whitelist'

해결 방법: 최신 버전에서 수정되었습니다. urllib3를 업데이트하세요:

root@kitploit:~
pip install --upgrade urllib3

4. 대상이 취약하지 않음

가능한 이유:

  • 대상이 Keycloak 인스턴스가 아님
  • Keycloak에 접근할 수 없음
  • 조직 기능이 비활성화됨
  • 대상이 CVE-2026-1529에 대해 패치됨

해결 방법:

root@kitploit:~
# 더 많은 세부 정보를 보려면 디버그 로깅 활성화
python3 keycloak-exploit.py -d https://target.com

5. 연결 시간 초과

해결 방법:

root@kitploit:~
# config/default_config.json에서 시간 초과 증가
"timeout": 60

디버그 모드

문제 해결을 위해 상세 로깅을 활성화합니다:

root@kitploit:~
python3 keycloak-exploit.py -d https://target.com

다음이 표시됩니다:

  • 상세 HTTP 요청/응답
  • 토큰 조작 단계
  • 등록 시도
  • 전체 오류 스택 추적

📜 법적 고지

root@kitploit:~
⚠️ 중요 법적 고지 ⚠️

이 도구는 교육 및 공인된 보안 테스트 목적으로만 제공됩니다.

이 도구를 사용함으로써 다음 사항에 동의합니다:

1. 소유하거나 명시적 서면 허가를 받은 시스템에서만 이 도구를 사용합니다.

2. 컴퓨터 시스템에 대한 무단 접근은 다음을 포함하되 이에 국한되지 않는
   법률에 따라 불법임을 이해합니다:
   - 컴퓨터 사기 및 남용법(CFAA) - 미국
   - 컴퓨터 남용법 - 영국
   - 기타 국가의 유사 법률

3. 이 도구 사용으로 인한 모든 결과에 대한 전적인 책임을 수락합니다.

4. 작성자와 기여자는 이 도구로 인한 오용이나 손해에 대해 책임을 지지 않습니다.

5. 이 도구는 어떠한 종류의 보증 없이 "있는 그대로" 제공됩니다.

본인 책임 하에 사용하세요. 무단 접근은 범죄입니다.

🤝 기여

기여를 환영합니다! 다음 지침을 따르세요:

  1. 저장소를 포크합니다
  2. 기능 브랜치를 생성합니다(git checkout -b feature/improvement)
  3. 변경 사항을 커밋합니다(git commit -am 'Add new feature')
  4. 브랜치에 푸시합니다(git push origin feature/improvement)
  5. 풀 리퀘스트를 생성합니다

개발 환경 설정

root@kitploit:~
# 포크 복제
git clone https://github.com/yourusername/cve-2026-1529-exploit.git
cd cve-2026-1529-exploit

# 가상 환경 생성
python3 -m venv venv
source venv/bin/activate

# 의존성 설치
pip install -r requirements.txt

# 변경 사항 적용 및 테스트
python3 keycloak-exploit.py https://test-target.com

코드 스타일

  • PEP 8 지침 준수
  • 함수에 docstring 추가
  • 가능한 경우 타입 힌트 포함
  • 설명적인 커밋 메시지 작성

🏆 크레딧

작성자: f3ds cr3w est, 2002

의존성

  • requests - HTTP 라이브러리
  • urllib3 - HTTP 클라이언트
  • PyJWT - JWT 구현

📝 버전 기록

v1.0.0 (2026-02-11)

  • 최초 릴리스
  • CVE-2026-1529 익스플로잇 구현
  • JWT 토큰 조작
  • 자동 사용자 등록
  • 보고서 생성
  • 디버그 로깅 지원

🔗 리소스

  • CVE-2026-1529 세부 정보
  • Keycloak 문서
  • JWT 모범 사례
  • OWASP 테스트 가이드

📧 연락처

질문, 문제 또는 보안 우려 사항:

  • GitHub에서 이슈 열기
  • 연락처: [[email protected]]
  • 보안 문제: 비공개로 보고

기억하세요: 항상 책임 있는 공개와 윤리적 해킹을 실천하세요. Ref: https://github.com/ninjazan420/CVE-2026-1529-PoC-keycloak-unauthorized-registration-via-improper-invitation-token-validation f3ds cr3w est, 2002가 ❤️로 제작

도구 다운로드
인수약어설명
target-대상 Keycloak URL(필수)
--token-t사용자 지정 초대 토큰
--org-id-o사용자 지정 조직 ID
--config-c구성 파일 경로
--debug-d디버그 로깅 활성화
--version-v버전 정보 표시
--help-h도움말 메시지 표시
섹션매개변수설명기본값
exploitdefault_username등록용 사용자 이름admin_user_2026
exploitdefault_password등록용 비밀번호KeycloakCVE2026!
exploitdefault_email등록용 이메일[email protected]
exploittimeoutHTTP 요청 시간 초과(초)30
exploitmax_retries최대 HTTP 재시도 횟수3
jwtalgorithmJWT 서명 알고리즘HS256
jwtsecret_keyJWT 비밀 키사용자 지정
jwttoken_expiry토큰 만료 시간(초)3600