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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
kube-reaper — 모든 아이덴티티에서 Kubernetes 클러스터를 스캔하고, 위험한 권한을 표시하며, 이를 다단계 권한 상승 경로로 연결하여 클러스터 장악에 이르게 합니다. | Kitploit
도구/GitHubGitHub/stillbigjosh/kube-reaper
Defensive ToolsPrivilege EscalationReconnaissanceContainer SecurityVulnerability AnalysisLateral MovementConfiguration AuditingInformation GatheringPost-ExploitationPenetration TestingCloud Security
3713일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Red Teaming
GitHubstillbigjosh/kube-reaper

kube-reaper

모든 아이덴티티에서 Kubernetes 클러스터를 스캔하고, 위험한 권한을 표시하며, 이를 다단계 권한 상승 경로로 연결하여 클러스터 장악에 이르게 합니다.

저장소 보기웹사이트

kube-reaper

Kubernetes RBAC 공격 경로 매퍼. 귀하의 아이덴티티가 무엇을 할 수 있는지 찾아내고, 위험한 권한을 표시하며, 이를 클러스터 장악으로 이어지는 다단계 경로로 연결합니다.

레드팀과 침투 테스터를 위해 제작되었습니다.

기능

kube-reaper는 모든 아이덴티티(사용자, 서비스 계정, 그룹)에서 Kubernetes 클러스터를 스캔하고 다음을 생성합니다:

  • 심각도 등급과 공격 지침이 포함된 55가지 위험한 권한 패턴
  • 권한을 다단계 권한 상승 경로로 연결하는 18가지 공격 체인 유형
  • SA 토큰 시크릿을 읽고 토큰을 발급하여 아이덴티티 간 전이적 접근을 매핑하는 재귀적 아이덴티티 피벗
  • exec 접근, 실행 중인 파드, 서비스 계정 권한을 연결하는 파드 피벗 매핑
  • 특권 컨테이너, 호스트 마운트, 런타임 소켓, 노출된 시크릿을 표시하는 위험한 파드 탐지
  • 모든 아이덴티티를 유효 권한에 매핑하고 과도한 권한을 가진 피벗 대상을 표시하는 RBAC 그래프 열거
  • ArgoCD, Flux, Istio, cert-manager, Kyverno, Gatekeeper, Tekton, Crossplane, Calico 등을 위한 31가지 CRD 위협 패턴
  • 접근 가능한 시크릿을 유형별(SA 토큰, 레지스트리 자격 증명, TLS 인증서, SSH 키, 불투명)로 분류하는 시크릿 분류
  • 컨테이너 탈출 벡터, Linux 기능, 클라우드 IMDS, 네트워크 인터페이스를 위한 파드 컨텍스트 분석
  • 파드에서 API 서버에 접근할 수 없을 때 로컬 전용 검사를 위한 kubectl 없는 모드

설치

Rust 툴체인(rustup + stable)이 필요합니다.

git clone https://github.com/youruser/kube-reaper.git
cd kube-reaper
cargo build --release

바이너리는 target/release/kube-reaper에 있습니다.

정적 바이너리 (배포에 권장)

musl 빌드는 의존성 없는 완전한 정적 바이너리를 생성합니다. 모든 Linux x86_64 시스템에서 작동합니다.

rustup target add x86_64-unknown-linux-musl
cargo build --release --target x86_64-unknown-linux-musl

바이너리는 target/x86_64-unknown-linux-musl/release/kube-reaper에 있습니다 (~5.4 MB).

# Copy to a Kubernetes node
scp target/x86_64-unknown-linux-musl/release/kube-reaper user@node:/tmp/

# Copy into a running pod
kubectl cp target/x86_64-unknown-linux-musl/release/kube-reaper mynamespace/mypod:/tmp/kube-reaper

빠른 시작

# Scan with current kubeconfig
kube-reaper

# Scan a specific namespace
kube-reaper -n production

# Scan with a stolen SA token
kube-reaper --token <JWT> --server https://10.0.0.1:6443

# Scan as a different user (requires impersonate permissions)
kube-reaper --as-user system:serviceaccount:development:code-server

# Recursive identity pivot (read SA tokens, mint new tokens, map transitive access)
kube-reaper --pivot

# Pivot with custom depth (default: 3)
kube-reaper --pivot --pivot-depth 5

# Show only critical and high findings
kube-reaper -s high

# Output JSON
kube-reaper -o json

# Save JSON report to file
kube-reaper -w results.json

CLI 레퍼런스

Usage: kube-reaper [OPTIONS]

Options:
  -n, --namespace <NAMESPACE>     Target namespace (default: all accessible)
  -k, --kubeconfig <KUBECONFIG>   Path to kubeconfig file
      --token <TOKEN>             Bearer token (requires --server)
      --server <SERVER>           API server URL (required with --token)
      --as-user <USER>            Impersonate a user
      --as-group <GROUP>          Impersonate a group
      --pivot                     Recursive identity pivot via SA secrets and TokenRequest
      --pivot-depth <N>           Maximum pivot depth [default: 3]
  -o, --output <OUTPUT>           Output format [default: terminal] [values: terminal, json]
  -w, --write <WRITE>             Write JSON results to file
  -s, --severity <SEVERITY>       Minimum severity [default: low] [values: critical, high, medium, low, info]
      --unconventional-only       Show only unconventional RBAC abuses
      --chains-only               Show only attack chains
  -h, --help                      Print help
  -V, --version                   Print version

인증

kube-reaper는 다음 인증 방법을 순서대로 시도합니다:

  1. --token + --server - 직접 베어러 토큰. 탈취한 SA 토큰이나 JWT와 함께 사용합니다. 자체 서명 인증서를 자동으로 수락합니다.
  2. --kubeconfig / -k - 명시적 kubeconfig 파일. KUBECONFIG 환경 변수도 읽습니다.
  3. 기본값 - 클러스터 내 구성(파드 내부), 그 다음 ~/.kube/config.

--as-user와 --as-group은 모든 인증 방법에 임퍼소네이션 헤더를 추가합니다. 이 기능이 작동하려면 귀하의 아이덴티티에 impersonate 동사가 있어야 합니다.

아이덴티티 피벗

--pivot 플래그는 재귀적 아이덴티티 피벗을 활성화합니다. 이 기능은 서비스 계정 자격 증명을 통해 피벗하여 전이적 공격 경로를 발견합니다.

작동 방식

  1. kube-reaper는 네임스페이스별로 현재 아이덴티티의 권한을 분석합니다.
  2. 아이덴티티가 시크릿을 읽을 수 있는 각 네임스페이스에 대해, SA 토큰 시크릿(kubernetes.io/service-account-token 유형)을 읽고 토큰을 추출합니다.
  3. 아이덴티티가 리소스 이름 제한 없이 serviceaccounts/token을 생성할 수 있는 각 네임스페이스에 대해, TokenRequest API를 통해 단기 토큰을 발급합니다.
  4. 발견된 각 토큰에 대해, 해당 서비스 계정으로 인증하고 알려진 모든 네임스페이스에서 권한을 열거합니다.
  5. 피벗된 아이덴티티도 시크릿을 읽거나 토큰을 발급할 수 있으면, --pivot-depth(기본값: 3)까지 프로세스가 반복됩니다.

스캔은 BFS 순회를 사용하여 최단 피벗 경로를 먼저 찾습니다. 폭주 스캔을 방지하기 위해 50개 아이덴티티에서 중지합니다.

출력에 나타나는 내용

각 피벗된 아이덴티티는 다음을 표시합니다:

  • 위험한 권한에 따른 심각도
  • 피벗 방법(SecretToken 또는 TokenRequest) 및 소스
  • 해당 아이덴티티에서 발견된 위험한 권한
  • 추가 피벗 가능성(시크릿을 읽거나 토큰을 발급할 수 있는 네임스페이스)

권한 검사

피벗 스캐너는 오탐을 방지하기 위해 다음 가드를 적용합니다:

  • API 그룹 범위 지정: 코어 API 그룹(또는 apiGroups: ["*"])의 규칙만 시크릿 읽기 및 토큰 생성 검사에 포함됩니다. 비코어 그룹(예: custom.metrics.k8s.io)의 규칙은 일치하지 않습니다.
  • 리소스 이름 제한: resourceNames가 설정된 규칙은 토큰 생성에 포함되지 않습니다. 하나의 명명된 서비스 계정에 대한 토큰 생성을 허용하는 규칙은 제한 없는 토큰 생성과 동일하지 않습니다.
  • 동사 와일드카드 매칭: "Wildcard on All Resources" 패턴은 resources: ["*"]에 대한 임의의 동사가 아니라 verbs: ["*"]를 요구합니다.

출력 섹션

터미널 출력은 다음 섹션을 표시합니다(각 섹션은 발견 사항이 있을 때만 나타납니다):

섹션내용
Pod Context Analysis탈출 벡터, 기능, 클라우드 IMDS, 네트워크, SA 토큰, 마운트, 환경 변수
Attack Path Chains단계별 지침이 포함된 다단계 공격 경로
Identity Pivot Graph방법, 권한, 추가 피벗 가능성이 포함된 재귀적 아이덴티티 피벗 맵
Dangerous Pods특권 컨테이너, 호스트 마운트, 런타임 소켓, 노출된 시크릿
Exposed Services클러스터 외부에서 접근 가능한 LoadBalancer 및 NodePort 서비스
Sensitive ConfigMaps자격 증명이나 시크릿이 포함된 키가 있는 ConfigMap
CronJobs위험한 서비스 계정 권한이 있는 예약 작업
Secret Triage유형 및 공격 가치별로 분류된 접근 가능한 시크릿
CRD Attack Surface알려진 위험한 오퍼레이터의 사용자 정의 리소스
DNS Service DiscoveryCoreDNS 쿼리를 통해 발견된 서비스 (RBAC 불필요)
Admission Controller Probing6가지 위험한 파드 구성에 대한 네임스페이스별 드라이런 결과
Other Identities피벗 대상인 과도한 권한을 가진 아이덴티티
Namespace Security네임스페이스별 PSS 적용 상태
Dangerous Permissions심각도별 개별 권한 발견 사항
Summary모든 발견 카테고리의 개수

상세 문서

  • 위험한 권한 - 55가지 권한 패턴 전체
  • 공격 체인 - 악용 세부 정보가 포함된 18가지 체인 유형 전체
  • CRD 인식 - 10개 오퍼레이터 카테고리에 걸친 31가지 CRD 패턴 전체
  • 파드 컨텍스트 탐지 - 탈출 벡터, 기능, IMDS, 네트워크, kubectl 없는 모드
  • 아키텍처 - 소스 레이아웃, 모듈 책임, 데이터 흐름

요구 사항

  • 유효한 kubeconfig, 베어러 토큰 또는 클러스터 내 서비스 계정 토큰
  • 아이덴티티는 최소한 selfsubjectrulesreviews에 대한 create 권한이 필요합니다(기본적으로 모든 인증된 사용자에게 부여됨)
  • 스캔 아이덴티티에 더 많은 권한이 있을수록 더 완전한 결과를 얻을 수 있습니다
스캔 모듈필요한 권한
권한 열거selfsubjectrulesreviews (기본 부여)
네임스페이스 나열list namespaces
파드 열거대상 네임스페이스의 list pods
시크릿 분류대상 네임스페이스의 list secrets
RBAC 그래프list roles, clusterroles, rolebindings, clusterrolebindings
CRD 탐지list customresourcedefinitions
아이덴티티 피벗대상 네임스페이스의 list secrets 또는 create serviceaccounts/token
파드 컨텍스트API 권한 불필요 (로컬 파일 시스템 및 네트워크 읽기)

스캔 모듈에 권한이 없으면 이를 보고하고 계속 진행합니다. 어떤 모듈 실패도 스캔을 중단시키지 않습니다.

면책 조항

kube-reaper는 승인된 보안 테스트, 침투 테스트 계약, 방어적 보안 평가 전용입니다. 클러스터를 스캔하기 전에 적절한 승인을 받아야 합니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 저자는 이 도구의 오용에 대해 어떠한 책임도 지지 않습니다.

도구 다운로드