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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
jwt-hack — JSON 웹 토큰 해킹 툴킷 | Kitploit
도구/GitHubGitHub/hahwul/jwt-hack
Password CrackingVulnerability ScannersEncryption/Decryption ToolsPayload GenerationWeb SecurityPenetration Testing
GitHubhahwul/jwt-hack

jwt-hack

JSON 웹 토큰 해킹 툴킷

저장소 보기
1.0k121146일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트
jwt-hack

JSON Web Token 해킹 툴킷


JSON Web Token을 테스트, 분석 및 공격하기 위한 고성능 툴킷입니다.

설치

Cargo

root@kitploit:~
cargo install jwt-hack

Homebrew

root@kitploit:~
brew install jwt-hack

Snapcraft (Ubuntu)

root@kitploit:~
sudo snap install jwt-hack

소스에서 빌드

root@kitploit:~
git clone https://github.com/hahwul/jwt-hack
cd jwt-hack
cargo install --path .

Docker 이미지

GHCR

root@kitploit:~
docker pull ghcr.io/hahwul/jwt-hack:latest

Docker Hub

root@kitploit:~
docker pull hahwul/jwt-hack:v2.6.0

기능

기본 사용법

JWT 디코딩

일반 JWT와 DEFLATE 압축 JWT를 모두 디코딩할 수 있습니다. 이 도구는 압축된 토큰을 자동으로 감지하고 압축을 해제합니다.

root@kitploit:~
jwt-hack decode eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.CHANGED
jwt-hack decode COMPRESSED_JWT_TOKEN

JWE 디코딩

JWE(JSON Web Encryption) 토큰을 디코딩하여 구조를 분석합니다. 이 도구는 JWE 형식(5개 부분)을 자동으로 감지하고 암호화 세부 정보를 표시합니다.

root@kitploit:~
# JWE 토큰 구조 디코딩
jwt-hack decode eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..ZHVtbXlfaXZfMTIzNDU2.eyJ0ZXN0IjoiandlIn0.ZHVtbXlfdGFn

# JWE 헤더, 암호화된 키, IV, 암호문 및 인증 태그를 표시합니다

JWT 인코딩

root@kitploit:~
jwt-hack encode '{"sub":"1234"}' --secret=your-secret

DEFLATE 압축으로 JWT 인코딩

--compress 옵션을 사용하여 JWT 페이로드에 DEFLATE 압축을 적용할 수 있습니다.

root@kitploit:~
jwt-hack encode '{"sub":"1234"}' --secret=your-secret --compress
root@kitploit:~
# 개인 키 사용
ssh-keygen -t rsa -b 4096 -E SHA256 -m PEM -P "" -f RS256.key
jwt-hack encode '{"a":"z"}' --private-key RS256.key --algorithm=RS256

JWE 인코딩

암호화된 JWT 시나리오 테스트를 위한 JWE(JSON Web Encryption) 토큰을 생성합니다.

root@kitploit:~
# 기본 JWE 인코딩
jwt-hack encode '{"sub":"1234", "data":"encrypted"}' --jwe --secret=your-secret

# JWE 토큰은 암호화되며 올바른 키로만 복호화할 수 있습니다
jwt-hack encode '{"sensitive":"data"}' --jwe

JWT 검증

제공된 비밀 또는 키를 사용하여 JWT의 서명이 유효한지 확인합니다.

root@kitploit:~
# 비밀 사용 (HS256, HS384, HS512와 같은 HMAC 알고리즘)
jwt-hack verify YOUR_JWT_TOKEN_HERE --secret=your-256-bit-secret

# 개인 키 사용 (RS256, ES256, EdDSA와 같은 비대칭 알고리즘)
jwt-hack verify YOUR_JWT_TOKEN_HERE --private-key path/to/your/RS256_private.key

JWT 크래킹

사전 공격과 무차별 대입 공격은 DEFLATE로 압축된 JWT도 지원합니다.

root@kitploit:~
# 사전 공격
jwt-hack crack -w wordlist.txt JWT_TOKEN
jwt-hack crack -w wordlist.txt COMPRESSED_JWT_TOKEN

# 무차별 대입 공격
jwt-hack crack -m brute JWT_TOKEN --max=4
jwt-hack crack -m brute COMPRESSED_JWT_TOKEN --max=4

페이로드 생성

root@kitploit:~
jwt-hack payload JWT_TOKEN --jwk-attack evil.com --jwk-trust trusted.com

취약점 스캔

JWT 토큰에서 일반적인 보안 문제와 취약점을 자동으로 스캔합니다.

root@kitploit:~
# 약한 비밀 감지 및 페이로드 생성을 포함한 전체 스캔
jwt-hack scan JWT_TOKEN

# 더 빠른 결과를 위해 비밀 크래킹 건너뛰기
jwt-hack scan JWT_TOKEN --skip-crack

# 페이로드 생성 건너뛰기
jwt-hack scan JWT_TOKEN --skip-payloads

# 약한 비밀 감지를 위한 사용자 정의 단어 목록 사용
jwt-hack scan JWT_TOKEN -w custom_wordlist.txt

# 비밀 테스트 시도 횟수 제한
jwt-hack scan JWT_TOKEN --max-crack-attempts 50

스캔 명령은 다음을 확인합니다:

  • None 알고리즘 취약점: 토큰이 서명되지 않은 토큰을 허용하는지 감지
  • 약한 비밀: 일반적인 비밀번호에 대해 테스트 (단어 목록으로 사용자 정의 가능)
  • 알고리즘 혼동: RS256->HS256 공격에 취약한 토큰 식별
  • 토큰 만료 문제: 만료 클레임 누락 또는 부적절한 만료 클레임 확인
  • 보안 클레임 누락: 권장 JWT 클레임 존재 여부 확인
  • Kid 헤더 주입: 잠재적인 SQL/경로 주입 취약점 감지
  • JKU/X5U 헤더 공격: URL 스푸핑 공격 벡터 식별

서버 (REST API)

자동화 및 통합을 위한 로컬 REST API를 시작합니다. 인증이 필요한 경우 --api-key를 사용하고 요청에 X-API-KEY를 포함하세요.

root@kitploit:~
# API 키 보호와 함께 localhost:3000에서 시작
jwt-hack server --api-key your-api-key

# 예시 요청 (--api-key 설정 시 X-API-KEY를 포함해야 함)
curl -s http://127.0.0.1:3000/health -H 'X-API-KEY: your-api-key'

MCP (Model Context Protocol) 서버 모드

jwt-hack은 MCP 서버로 실행되어 AI 모델이 표준화된 프로토콜을 통해 JWT 기능과 상호작용할 수 있게 합니다.

root@kitploit:~
# MCP 서버 시작 (stdio를 통해 통신)
jwt-hack mcp

MCP 서버는 다음 도구를 제공합니다:

MCP 사용 예시

MCP 서버는 AI 모델과 MCP 클라이언트가 사용하도록 설계되었습니다. 각 도구는 JSON 매개변수를 수락하고 구조화된 응답을 반환합니다.

디코드 도구:

root@kitploit:~
{
  "name": "decode",
  "arguments": {
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
  }
}

인코드 도구:

root@kitploit:~
{
  "name": "encode",
  "arguments": {
    "json": "{\"sub\":\"1234\",\"name\":\"test\"}",
    "secret": "mysecret",
    "algorithm": "HS256"
  }
}

MCP 클라이언트 통합 예시

jwt-hack의 MCP 서버를 널리 사용되는 MCP 지원 클라이언트에 연결할 수 있습니다. jwt-hack 바이너리가 시스템에 있고 클라이언트가 접근할 수 있는지 확인하세요.

VSCode

root@kitploit:~
{
  "servers": {
    "jwt-hack": {
      "type": "stdio",
      "command": "jwt-hack",
      "args": [
        "mcp"
      ]
    }
  },
  "inputs": []
}

Claude Desktop

root@kitploit:~
{
  "mcpServers": {
    "jwt-hack": {
      "command": "jwt-hack",
      "args": ["mcp"],
      "env": {}
    }
  }
}

지원 알고리즘

서명 알고리즘 (JWS)

암호화 알고리즘 (JWE)

알고리즘설명
A128GCM128비트 키를 사용한 AES-GCM
A256GCM256비트 키를 사용한 AES-GCM

키 관리 알고리즘 (JWE)

알고리즘설명
dir공유 대칭 키 직접 사용

DEFLATE 압축 지원

DEFLATE 압축 지원 jwt-hack 툴킷은 JWT에 대한 DEFLATE 압축을 지원합니다.

  • encode와 함께 --compress 옵션을 사용하여 압축된 JWT를 생성합니다.
  • decode 및 crack 모드는 압축된 JWT를 자동으로 감지하고 처리합니다.

기여

Urx는 오픈소스 프로젝트이며 ❤️로 만들어졌습니다. 이 프로젝트에 기여하고 싶다면 CONTRIBUTING.md를 확인하고 멋진 내용으로 Pull-Request를 보내주세요.

도구 다운로드
모드설명지원
EncodeJWT/JWE 인코더비밀 기반 / 키 기반 / 알고리즘 / 사용자 정의 헤더 / DEFLATE 압축 / JWE
DecodeJWT/JWE 디코더알고리즘, 발급 시간 확인, DEFLATE 압축, JWE 구조
VerifyJWT 검증기비밀 기반 / 키 기반 (비대칭 알고리즘용)
Crack비밀 크래커사전 공격 / 무차별 대입 / DEFLATE 압축
PayloadJWT 공격 페이로드 생성기none / jku&x5u / alg_confusion (--public-key로 서명) / kid & claim 주입 / claim 변조 / 서명 변형 / JWE 프로브 / x5c / cty
Scan취약점 스캐너일반적인 JWT 취약점에 대한 자동 보안 검사
ServerAPI 서버API 서버 모드 실행 (http://localhost:3000)
MCPModel Context Protocol 서버표준화된 프로토콜을 통한 AI 모델 통합
도구설명매개변수
decodeJWT 토큰 디코딩token (string)
encodeJSON을 JWT로 인코딩json (string), secret (선택), algorithm (기본값: HS256), no_signature (boolean)
verifyJWT 서명 검증token (string), secret (선택), validate_exp (boolean)
crackJWT 토큰 크래킹token (string), mode (dict/brute), chars (string), max (number)
payload공격 페이로드 생성token (string), target (string), jwk_attack (선택), jwk_protocol (기본값: https), public_key (선택 PEM/서명된 alg-confusion용 경로)
알고리즘설명유형
HS256SHA-256을 사용한 HMAC대칭
HS384SHA-384를 사용한 HMAC대칭
HS512SHA-512를 사용한 HMAC대칭
RS256SHA-256을 사용한 RSASSA-PKCS1-v1_5비대칭
RS384SHA-384를 사용한 RSASSA-PKCS1-v1_5비대칭
RS512SHA-512를 사용한 RSASSA-PKCS1-v1_5비대칭
ES256P-256 및 SHA-256을 사용한 ECDSA비대칭
ES384P-384 및 SHA-384를 사용한 ECDSA비대칭
PS256SHA-256을 사용한 RSASSA-PSS비대칭
PS384SHA-384를 사용한 RSASSA-PSS비대칭
PS512SHA-512를 사용한 RSASSA-PSS비대칭
EdDSAEdwards-curve 디지털 서명 알고리즘비대칭
none디지털 서명 없음-