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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
POC-CVE-2025-24813-Apache-Tomcat-Remote-Code-Execution — 이 저장소는 교육 및 사이버보안 연구 목적으로 개발된 자동화된 익스플로잇으로, Apache Tomcat (CVE-2025-24813)의 잠재적인 원격 코드 실행(RCE) 취약점을 시연하기 위한 것입니다. | Kitploit
도구/GitHubGitHub/makavellik/poc-cve-2025-24813-apache-tomcat-remote-code-execution
Vulnerability AnalysisExploitationWeb Application ExploitationWAF BypassPenetration TestingLearning & EducationPayload Development
GitHubmakavellik/poc-cve-2025-24813-apache-tomcat-remote-code-execution

POC-CVE-2025-24813-Apache-Tomcat-Remote-Code-Execution

이 저장소는 교육 및 사이버보안 연구 목적으로 개발된 자동화된 익스플로잇으로, Apache Tomcat (CVE-2025-24813)의 잠재적인 원격 코드 실행(RCE) 취약점을 시연하기 위한 것입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Python License MIT Active Stealth Mode Simbiosis


⚠️🚀 CVE-2025-24813 — Apache Tomcat RCE Exploitation Suite

⚡ 버전: 1.0 🛡️ CVE ID: CVE-2025-24813 (Apache Tomcat RCE) 🧬 페이로드: ysoserial / Java 🌐 모드: 대화형 + 스텔스 🔬 용도: 윤리적, 조사용, 교육용


🌌 개요

이 도구는 미래지향적 익스플로잇 제품군으로 설계되었으며, 다음에 중점을 둡니다:

  • 🔍 CVE-2025-24813에 대한 Apache Tomcat 평가
  • 🛠️ 개념 증명(PoC) 프로세스 자동화
  • 🧠 고급 우회 기능을 갖춘 맞춤형 페이로드 실행
  • 🧬 최신 방어(WAF, 탐지, 시뮬레이션 트래픽)에 적응

🧪 사이버보안 전문가, 연구원, 침투 테스터, 레드팀을 위해 설계되었습니다.


🧠 이 스크립트는 무엇을 합니까?

🛸 주요 기능

✅ 대화형이고 직관적인 인터페이스

✅ 동적 페이로드(ysoserial 또는 컴파일된 Java)

✅ 위장(WAF 우회) 헤더

✅ 자동 우회 + 페이로드 분할

✅ 백엔드 실행 핑거프린팅

✅ 대상별 상세 로깅

✅ 사이버펑크 스타일 동적 배너 (🔮 글리치 애니메이션)

✅ 콘솔 라이브 피드백 (Rich & Colorama 사용)


⚙️ 요구사항

다음 명령어로 필요한 패키지를 설치하세요:

pip install -r requirements.txt

의존성:

requests
colorama
rich
validators

그리고 다음이 준비되어 있어야 합니다:

  • ☕ PATH에 Java 및 javac
  • 📦 ysoserial 페이로드 사용 시 ysoserial.jar

🧪 사용 방법

스크립트 실행:

python3 POC-Exploit_CVE_2025_24813.py

그리고 설정을 완료하세요:

🧬 페이로드 유형 선택 💣 실행할 명령어 지정 🌐 대상 URL 입력 🔧 우회 및 SSL 설정 조정

🎯 시각적 예시:

🔗 [?] 대상 URL 입력: https://victima.org
💣 [?] 실행할 명령어: whoami
🧬 [?] 페이로드 유형: ysoserial
📂 [?] ysoserial.jar 경로: ysoserial.jar
🔧 [?] Gadget: CommonsCollections6
🔐 [?] SSL 확인? (예/아니오): 아니오

🚀 실행 중...
🧬 WAF 탐지됨... 전략 변경
⚙️ 페이로드 업로드 중...
💥 원격 실행 확인
✅ 결과: 'apache'

🌈 스크립트 시각적 구조

┌──────────────────────────────┐
│  대화형 모드                  │
├──────────────────────────────┤
│  URL 검증                    │
│  세션 감지                   │
│  WAF 감지                    │
│  페이로드 생성                │
│  PUT을 통한 우회 업로드       │
│  실행 확인                   │
└──────────────────────────────┘
        ↘ 대상별 로그

🧬 페이로드 유형

  • ysoserial: 잘 알려진 ysoserial 도구 기반, 취약한 가젯을 직렬화하여 명령어를 실행합니다.
  • Java Custom: 맞춤형 .java를 컴파일하여 서버에서 원격 명령어를 실행합니다.

일반적인 가젯:

  • CommonsCollections6
  • Spring1
  • Jdk7u21

📁 프로젝트 구조

POC-Exploit_CVE_2025_24813.py   # 메인 스크립트
ysoserial.jar               # 'ysoserial' 사용 시 필요
logs/                       # 대상별 개별 로그 폴더
payload.ser                 # 임시로 생성된 페이로드
Exploit.java / .class       # Java 임시 파일

👨‍⚖️ 책임감 있고 윤리적인 사용

이 도구는 법적 및 교육 목적으로만 제작되었습니다.

✅ 허용:

  • 승인된 보안 감사
  • 개인 랩 및 테스트 환경
  • 학술 연구

🚫 금지:

  • 동의 없는 타사 시스템 사용
  • 불법 또는 무단 활동
  • 악의적 목적의 배포

⚖️ 책임 부인

저자와 기여자는 오용에 대해 책임을 지지 않습니다. 귀하는 귀하의 행동에 책임이 있습니다.


🧠 크레딧

  • 👤 저자: [ByMakaveli]
  • 🔬 연구: 최신 Java 우회 및 익스플로잇 기술 기반
  • 🧰 사용 도구: ysoserial, Java, Rich, Colorama, requests

🛰️ 참조 CVE

📄 CVE-2025-24813: Apache Tomcat 원격 코드 실행 🔗 CVE MITRE에서 세부 정보 보기


📜 라이선스

MIT License

Copyright (c) 2025

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files...

자세한 내용은 LICENSE 파일을 참조하세요.


💎 시각적 영감

이 README와 스크립트는 몰입감 있고 시각적이며 우아한 경험을 위해 설계되었으며, 새로운 시대의 미래지향적 사이버보안과 목적에 부합합니다.

✨ 단순한 익스플로잇이 아닙니다... 우회와 디지털 통제의 기술적 교향곡입니다.



🔧 필요한 의존성

1. Python

  • 권장 버전: Python 3.8+

  • 설치해야 할 Python 라이브러리:

    pip install requests colorama
    

2. Java

스크립트는 두 가지 페이로드 방식을 사용합니다:

  1. Ysoserial → 역직렬화 페이로드를 생성하는 외부 Java 도구
  2. 자체 Java 컴파일 → "ysoserial" 대신 "java" 옵션을 선택할 때

따라서 다음이 필요합니다:

  • Java JDK (코드를 컴파일해야 하므로 JRE만으로는 부족) 다음 명령어로 확인하세요:

    java -version
    javac -version
    

    두 명령어 모두 작동하면 준비된 것입니다.


3. Ysoserial

  • .jar 다운로드 👉 https://github.com/frohoff/ysoserial

  • 스크립트와 같은 디렉토리에 저장하거나 요청 시 전체 경로를 입력하세요. 예시:

    java -jar ysoserial.jar CommonsCollections6 "calc.exe" > test.ser
    

4. 운영체제

  • Windows에서 기본 페이로드(calc.exe)는 계산기를 엽니다.
  • Linux/Mac에서는 명령어를 gnome-calculator 또는 xcalc 등으로 변경할 수 있습니다.

⚙️ 설치 요약

  1. Python 3.8+ 설치

  2. 라이브러리 설치:

    pip install requests colorama etc
    
  3. Java JDK 8+ 설치

    java -version
    javac -version
    
  4. 스크립트 폴더에 ysoserial.jar 다운로드


👉 이 모든 준비가 완료되면 안전한 실습 모드(통제된 환경에서만 테스트)로 스크립트를 실행할 수 있습니다.


🛡️ README — 안전한 단계별 튜토리얼

버전: 1.0 목적: 이 가이드는 실제 시스템에 영향을 주지 않고 스크립트를 테스트할 수 있는 완전히 안전한 환경을 준비하는 방법을 설명합니다. 테스트 서버(모의), 안전 모드(DRY_RUN / SAFE_TEST), 랩에서 도구를 실행하기 위한 명확한 단계를 포함합니다.


⚠️ 법적 및 윤리적 고지 (시작 전에 읽으세요)

  • 오직 통제된 환경(로컬 가상 머신, 컨테이너, 격리된 네트워크)에서만 실행하세요.
  • 명시적인 서면 승인 없이 타사 시스템에 대해 실행하지 마십시오.
  • 이 가이드는 실제 서버를 익스플로잇하는 방법을 제공하지 않습니다. 방어 및 교육 목적의 테스트를 위해 고안되었습니다.

🔍 이 튜토리얼의 내용

  1. 격리된 Python 환경 준비
  2. 대상 서비스의 응답을 시뮬레이션하는 테스트 서버(모의) 생성
  3. 테스트용 더미(무해한) 페이로드 준비
  4. 스크립트에 안전 모드(SAFE_TEST) 추가 (외부 도구나 위험한 작업을 실행하지 않음)
  5. 단계별 실행 및 결과 확인(로그)
  6. 자동화된 테스트 및 모범 사례

🧾 요구사항

  • Python 3.8+ 설치
  • pip 사용 가능
  • 권장: virtualenv 또는 venv

의존성 설치:

python3 -m venv .venv
source .venv/bin/activate   # Linux / macOS
.\.venv\Scripts\activate  # Windows (PowerShell/Command Prompt)

pip install -U pip
pip install requests colorama flask

참고: flask는 로컬 모의 서버(mock)에서만 사용됩니다.


🧪 1) 테스트 서버 (모의) — 안전한 코드

mock_server.py 파일을 만들고 다음 내용을 입력하세요. 이 서버는 스크립트가 예상하는 엔드포인트를 시뮬레이션하고 제어된 상태(200, 409, 500)를 반환하여 실제 서버를 건드리지 않고 스크립트 로직을 검증할 수 있게 합니다.

# mock_server.py — 안전한 테스트 서버
from flask import Flask, request, make_response, jsonify

app = Flask(__name__)
uploads = {}

@app.route('/index.jsp', methods=['GET'])
def index():
    # JSESSIONID 쿠키 또는 "Session ID" 텍스트를 반환할 수 있는 페이지 시뮬레이션
    resp = make_response('Index page — Session ID: testsession')
    resp.set_cookie('JSESSIONID', 'testsession')
    return resp

@app.route('/check.txt', methods=['PUT'])
def check_put():
    # 쓰기 가능한 리소스 시뮬레이션
    return ('OK', 200)

@app.route('/uploads/../sessions/<session_id>.session', methods=['PUT'])
def upload_session(session_id):
    # 업로드가 수락되었지만 409 반환 (스크립트가 예상하는 동작)
    uploads[session_id] = True
    return ('Conflict - uploaded', 409)

@app.route('/', methods=['GET'])
def root():
    # 쿠키가 일치하고 세션이 "업로드"되었다면 역직렬화 실패를 시뮬레이션하기 위해 500 반환
    session = request.cookies.get('JSESSIONID')
    if session and uploads.get(session):
        return ('Internal Server Error', 500)
    return ('Hello from mock server', 200)

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=8000, debug=True)

실행 방법:

python mock_server.py
# 모의 서버는 http://127.0.0.1:8000 에서 수신 대기합니다.

📁 2) 더미 (무해한) 페이로드 준비

테스트를 위해 실제 페이로드를 생성할 필요는 없습니다. 스크립트가 업로드할 수 있는 간단한 파일을 만드세요:

echo "DUMMY_PAYLOAD" > payload.ser

이 파일은 실행 가능한 코드를 포함하지 않습니다: 업로드 로직을 검증하고 모의 서버의 응답을 확인하는 용도로만 사용됩니다.


⚙️ 3) 원본 스크립트에 안전 모드(SAFE_TEST) 추가

스크립트가 외부 유틸리티(Java/ysoserial)를 호출하거나 위험한 작업을 실행하지 않도록 하려면, 메인 스크립트 시작 부분(모든 생성/subprocess 호출 전)에 다음 블록을 추가하세요:

import os
SAFE_TEST = os.environ.get('SAFE_TEST', '0') == '1'

그런 다음 생성/업로드 함수를 수정(또는 래핑)하여 SAFE_TEST가 True일 때 안전하게 동작하도록 합니다.

generate_ysoserial_payload 및 generate_java_payload에 대한 최소한의 변경 예시:

도구 다운로드