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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/bishopfox/badpods
Privilege EscalationContainer SecurityExploitationPenetration TestingCloud SecurityMisconfigurationContainer EscapeContainer Escape #6위
GitHubbishopfox/badpods

badPods

706118229개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

상승된 권한으로 파드를 생성하는 매니페스트 모음입니다.

저장소 보기웹사이트

Bad Pods

서로 다른 높은 권한으로 파드를 생성하는 매니페스트 모음입니다. hostNetwork, hostPID, hostPath, hostIPC, privileged와 같은 보안에 민감한 파드 속성을 허용했을 때의 영향을 빠르게 시연할 수 있습니다.

추가 배경 정보는 블로그 게시물을 참조하세요: Bad Pods: Kubernetes Pod Privilege Escalation.

Contents

  • Bad Pods 라인업
  • 사전 요구 사항
  • 구성
  • 사용법
    • 개괄적 접근 방식
    • 사용 예시
      • 로컬 클론 저장소에서 8가지 Bad Pod 모두 생성
      • GitHub에서 8가지 Bad Pod 모두 생성
      • 8가지 리버스 셸 Bad Pod 모두 생성
      • everything-allowed 포드를 사용하여 8가지 리소스 유형 모두 생성
      • hostNetwork 포드로 cronjob 생성
      • priv-and-hostpid 포드로 디플로이먼트 생성
      • privileged 포드를 사용하여 리버스 셸 생성
  • 감사의 말
  • 참고 자료 및 추가 읽을거리

Bad Pods 라인업

아래의 각 링크는 자세한 사용 정보와 사후 공격 권장 사항을 제공합니다.

  • Bad Pod #1: 모든 권한 허용
  • Bad Pod #2: Privileged 및 hostPid
  • Bad Pod #3: Privileged만
  • Bad Pod #4: hostPath만
  • Bad Pod #5: hostPid만
  • Bad Pod #6: hostNetwork만
  • Bad Pod #7: hostIPC만
  • Bad Pod #8: 허용된 것 없음

사전 요구 사항, 저장소 구성, 일반적인 사용 패턴에 대한 자세한 내용은 아래 섹션을 참조하세요.

사전 요구 사항

  1. 클러스터에 액세스할 수 있어야 합니다.
  2. 하나 이상의 네임스페이스에서 다음 리소스 유형 중 하나를 생성할 수 있는 RBAC 권한이 있어야 합니다.
    • CronJob, DeamonSet, Deployment, Job, Pod, ReplicaSet, ReplicationController, StatefulSet
  3. 파드에 exec할 수 있는 RBAC 권한이 있거나, 파드에서 사용자에게 리버스 셸 도달을 허용하는 네트워크 정책이 있어야 합니다.
  4. 파드 보안 정책 강제가 없거나, 하나 이상의 보안에 민감한 속성으로 파드를 생성할 수 있는 정책이 있어야 합니다.

구성

  • 독립적이고 바로 사용 가능한 매니페스트 128개. 왜 이렇게 많을까요?
    • 8가지 Bad Pod (hostpid, hostnetwork, everything-allowed 등)
    • 파드를 생성할 수 있는 8가지 리소스 유형 (pod, deployment, replicaset, statefulset 등)
    • 생성된 파드에 액세스하는 2가지 방법 (exec 및 리버스 셸)
├── manifests
│   ├── everything-allowed
│   │   ├── cronjob
│   │   │   ├── everything-allowed-exec-cronjob.yaml
│   │   │   └── everything-allowed-revshell-cronjob.yaml
│   │   ├── daemonset
│   │   │   ├── everything-allowed-exec-daemonset.yaml
│   │   │   └── everything-allowed-revshell-daemonset.yaml
│   │   ├── deployment
│   │   │   ├── everything-allowed-exec-deployment.yaml
│   │   │   └── everything-allowed-revshell-deployment.yaml
│   │   ├── job
│   │   │   ├── everything-allowed-exec-job.yaml
│   │   │   └── everything-allowed-revshell-job.yaml
│   │   ├── pod
│   │   │   ├── everything-allowed-exec-pod.yaml
│   │   │   └── everything-allowed-revshell-pod.yaml
│   │   ├── replicaset
│   │   │   ├── everything-allowed-exec-replicaset.yaml
│   │   │   └── everything-allowed-revshell-replicaset.yaml
│   │   ├── replicationcontroller
│   │   │   ├── everything-allowed-exec-replicationcontroller.yaml
│   │   │   └── everything-allowed-revshell-replicationcontroller.yaml
│   │   └── statefulset
│   │       ├── everything-allowed-exec-statefulset.yaml
│   │       └── everything-allowed-revshell-statefulset.yaml
│   ├── hostipc
│   │   ├── cronjob
│   │   │   ├── hostipc-exec-cronjob.yaml
│   │   │   └── hostipc-revshell-cronjob.yaml
│   │   ├── daemonset
│   │   │   ├── hostipc-exec-daemonset.yaml
│   │   │   └── hostipc-revshell-daemonset.yaml
...omitted for brevity...

파드를 생성하는 여덟 가지 방법

Eviatar Gerzi (@g3rzi) 님의 게시물 Eight Ways to Create a Pod에서 지적했듯이, 파드 또는 파드 집합을 생성할 수 있는 컨트롤러는 8가지가 있습니다. 파드를 생성할 권한은 없을 수 있지만, 하나 이상의 파드를 생성하는 다른 리소스 유형을 생성할 수 있을 수도 있습니다. 각 badPod 유형에는 8가지 리소스 유형에 모두 해당하는 매니페스트가 있습니다.

하지만 잠깐, 상황은 더 나빠집니다! 파드를 생성할 수 있는 8가지 기존 Kubernetes 컨트롤러 외에도, 클러스터에 적용되는 서드파티 컨트롤러도 파드를 생성할 수 있습니다. kubectl api-resources를 확인하여 주의 깊게 살펴보세요.

리버스 셸

흔한 경우이지만, 생성한 파드에 exec할 수 있는 것이 항상 보장되지는 않습니다. 이러한 상황을 돕기 위해 Rory McCune(@raesene)의 ncat dockerhub 이미지를 사용하는 각 매니페스트 버전이 포함되어 있습니다. 생성된 파드는 리스너에게 암호화된 콜백을 보냅니다.

사용법

manifests 디렉터리의 각 리소스는 허용될 때 클러스터를 위험에 노출시키는 특정 속성 또는 속성 조합을 대상으로 합니다.

개괄적 접근 방식

옵션 1: 체계적 접근 방식

  1. RBAC 평가 - 생성할 수 있는 리소스 유형을 파악합니다.
  2. 어드미션 정책 평가 - 생성할 수 있는 Bad Pod를 파악합니다.
  3. 리소스 생성 - 허용된 항목에 따라 특정 badPod 유형과 리소스 유형을 사용하여 리소스를 생성합니다.
  4. 사후 공격 - 해당 유형의 README에 설명된 사후 공격 단계를 평가합니다.
    • 모든 권한 허용
    • Privileged 및 hostPid
    • Privileged만
    • hostPath만
    • hostPid만
    • hostNetwork만
    • hostIPC만
    • 허용된 것 없음

옵션 2: 샷건 접근 방식

  1. 리소스 생성 - 서로 다른 매니페스트를 적용해 보고 무엇이 동작하는지 확인합니다.
    • GitHub에서 8가지 Bad Pod 모두 생성
    • everything-allowed 포드를 사용하여 8가지 리소스 유형 모두 생성
  2. 사후 공격 - 생성된 모든 파드에 대해 해당 유형의 README에 설명된 사후 공격 단계를 평가합니다.
    • 모든 권한 허용
    • Privileged 및 hostPid
    • Privileged만
    • hostPath만
    • hostPid만
    • hostNetwork만
    • hostIPC만
    • 허용된 것 없음

사용 예시

  • 로컬 클론 저장소에서 8가지 Bad Pod 모두 생성
  • GitHub에서 8가지 Bad Pod 모두 생성
  • 8가지 리버스 셸 Bad Pod 모두 생성
  • everything-allowed 포드를 사용하여 8가지 리소스 유형 모두 생성
  • hostNetwork 포드로 cronjob 생성
  • priv-and-hostpid 포드로 디플로이먼트 생성
  • privileged 포드를 사용하여 리버스 셸 생성
도구 다운로드