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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-24813 — 게으른 연구자를 위한 Windows Server 2019 Standard에서 java 25.0.1 2025-10-21 LTS와 함께 Tomcat v9.0.90을 신속하게 배포하기 위한 지침. | Kitploit
도구/GitHubGitHub/seahcy/cve-2025-24813
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubseahcy/cve-2025-24813

CVE-2025-24813

게으른 연구자를 위한 Windows Server 2019 Standard에서 java 25.0.1 2025-10-21 LTS와 함께 Tomcat v9.0.90을 신속하게 배포하기 위한 지침.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-24813

설명

이 저장소는 사이버 보안 위협 모의 훈련(threat emulation exercise)을 위해 Windows Server 2019 Standard에 java 25.0.1 2025-10-21 LTS와 함께 Tomcat v9.0.90을 신속하게 배포하기 위한 명확한 지침을 제공하는 것을 목표로 합니다. exploit.py는 ysoserial-all.jar의 CommonsCollections6 모듈을 사용하여 페이로드를 생성하며, 이 페이로드는 %CATALINA_HOME%\webapps\ROOT\WEB-INF\lib에 있는 commons-collections-3.2.1.jar 의존성에 의해 역직렬화됩니다.

피해자 Windows Server 2019 Standard 터미널 설정

  • Tomcat v9.0.90 다운로드:
root@kitploit:~
Invoke-WebRequest -Uri "https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.90/bin/apache-tomcat-9.0.90-windows-x64.zip" -OutFile "apache-tomcat-9.0.90-windows-x64.zip"
Expand-Archive -Path "apache-tomcat-9.0.90-windows-x64.zip" -DestinationPath "C:\"
  • java 25.0.1 2025-10-21 LTS 다운로드(ZIP 버전):
root@kitploit:~
Invoke-WebRequest -Uri "https://download.oracle.com/java/25/archive/jdk-25_windows-x64_bin.zip" -OutFile "jdk-25_windows-x64_bin.zip"
Expand-Archive -Path "jdk-25_windows-x64_bin.zip" -DestinationPath "C:\"
  • commons-collections 의존성 다운로드:
root@kitploit:~
mkdir C:\apache-tomcat-9.0.90\webapps\ROOT\WEB-INF\lib\
cd C:\apache-tomcat-9.0.90\webapps\ROOT\WEB-INF\lib\
Invoke-WebRequest -Uri "https://repo1.maven.org/maven2/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar" -OutFile "commons-collections-3.2.1.jar"
  • 환경 변수 설정
root@kitploit:~
1. Click on Start
2. Type "edit the system environment variables"
3. Create two new System Variables named 
    - `%JAVA_HOME%` with value `C:\jdk-25.0.1`
    - `%CATALINA_HOME%` with value `C:\apache-tomcat-9.0.90`
4. Edit the System Variable named `Path`, and add the following values:
   - `%JAVA_HOME%\bin`
   - `%CATALINA_HOME%\bin`
  • 자동 시작을 위한 서비스 생성
root@kitploit:~
C:\apache-tomcat-9.0.90\bin\service.bat install Tomcat9Server
Set-Service -Name "Tomcat9Server" -StartupType Automatic
Start-Service -Name "Tomcat9Server"
  • tomcat-9.0.90\conf 폴더에서 tomcat-users.xml을 열고 </tomcat-users> 앞에 다음 내용을 추가하세요:
root@kitploit:~
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
  • tomcat-9.0.90\conf 폴더에서 context.xml을 열고 모든 내용을 다음으로 교체하세요:
root@kitploit:~
<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- The contents of this file will be loaded for each web application -->
<Context>

    <Manager className="org.apache.catalina.session.PersistentManager" maxIdleBackup="1" saveOnRestart="true" processExpiresFrequency="1">
        <Store className="org.apache.catalina.session.FileStore"/>
    </Manager>
</Context>
  • tomcat-9.0.90\conf 폴더에서 web.xml을 열고 DefaultServlet을 찾은 다음 <servlet></servlet> 전체를 다음으로 교체하세요:
root@kitploit:~
<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
          <param-name>readonly</param-name>
          <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
  • PowerShell로 서버 재시작:
root@kitploit:~
shutdown.bat
startup.bat
  • 외부에서 웹 서버에 연결할 수 없는 경우 Windows 방화벽에 의해 차단된 것일 수 있습니다. 연결을 허용하도록 방화벽을 구성하세요.
root@kitploit:~
New-NetFirewallRule -DisplayName "Tomcat9Server" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow
  • 축하합니다! 이제 commons-collections-3.2.1.jar를 통한 Java 역직렬화 기능, FileStore를 통한 세션 지속성, DefaultServlet(web.xml)의 readonly 보호 비활성화가 적용된 취약한 Tomcat 서버를 구축했습니다. 이로 인해 ysoserial 페이로드를 통한 CVE-2025-24813 악용에 취약해집니다. C:\tomcat-9.0.90\webapps\ROOT에 그럴듯한 index.html을 넣어 더 멋지게 보이게 하세요.

HTTPS용 SSL 구성(선택 사항)

  • 메모장으로 C:\apache-tomcat-9.0.90\conf\web.xml을 열고 "<Connector port="를 검색하세요. 해당 블록의 주석을 해제하고 자신의 .pfx 경로를 추가할 수 있습니다. 아래는 HTTP/1.1을 실행하는 암호 없는 cert.pfx를 새로 만든 ssl 폴더에 추가하는 예시입니다:
root@kitploit:~
<Connector port="443" 
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" 
           SSLEnabled="true"
           scheme="https" 
           secure="true">
    <SSLHostConfig>
        <Certificate certificateKeystoreFile="C:\tomcat-9.0.90\conf\ssl\cert.pfx"
                     certificateKeystorePassword=""
                     certificateKeystoreType="PKCS12" />
    </SSLHostConfig>
</Connector>
  • 필요한 경우 방화벽 규칙을 추가하세요:
root@kitploit:~
New-NetFirewallRule -DisplayName "Tomcat9HTTPSServer" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow

Kali 설정

  • exploit.py 클론하기
root@kitploit:~
git clone <this-repo-url>
cd CVE-2025-24813
pip install requests 
  • Java가 설치되어 있는지 확인하고, Github에서 ysoserial 다운로드
root@kitploit:~
java --version
curl -L -o ysoserial-all.jar https://github.com/frohoff/ysoserial/releases/latest/download/ysoserial-all.jar
  • 사용 예시:
root@kitploit:~
python exploit.py -t http://<target IP>:8080/ -c "cmd.exe /c calc.exe"

예상 결과 및 아티팩트

  • exploit.py를 실행할 때마다 무작위 이름의 세션 파일 두 개가 C:\tomcat-9.0.90\webapps\ROOT와 C:\tomcat-9.0.90\work\Catalina\localhost\ROOT에 생성됩니다. work 폴더 안의 .session 파일은 실행 몇 초 후 삭제되어야 합니다.

참고 자료

  • https://github.com/PaloAltoNetworks/Unit42-timely-threat-intel/blob/main/2025-03-14-Testing-CVE-2025-24813.md
  • https://scrapco.de/blog/analysis-of-cve-2025-24813-apache-tomcat-path-equivalence-rce.html
도구 다운로드