
CVE-2025-31324 & CVE-2025-42999 취약점 및 침해 평가 도구
Onapsis와 Mandiant는 SAP NetWeaver Java 시스템의 치명적인 0-day 취약점인 CVE-2025-31324 및 CVE-2025-42999와 관련된 잠재적 침해를 식별하는 데 도움이 되는 오픈소스 도구를 공동으로 릴리스했습니다.
이 도구는 잠재적으로 영향을 받는 환경에 액세스할 수 있는 시스템 관리자가 로컬에서 화이트박스 실행하도록 설계되었습니다. 취약점 평가, 간단한 침해 평가 및 아티팩트 수집을 지원합니다.
이 도구는 현재 다음 기능을 지원합니다:
라이선스 정보: 이 도구는 Apache 2.0 오픈소스 라이선스로 릴리스되었습니다. 번들로 제공되는 라이선스 정보를 참조하십시오.
고지 사항: 이 도구는 CVE-2025-31324 및 CVE-2025-42999의 활발한 악용과 관련된 긴급 조사 및 대응 노력을 지원하기 위해 개발되었습니다. 2025년 6월 6일 현재 이 도구는 더 이상 활발히 개발되거나 모니터링되지 않습니다. 향후 디버깅 및 참조 목적으로 계속 사용할 수 있지만 추가 업데이트, 개선 또는 지속적인 지원은 제공되지 않습니다. 사용자는 현재 필요에 따라 적용 가능성을 평가하고 재량에 따라 사용해야 합니다.
이 도구는 스크립트를 실행하는 사용자의 권한으로 라이브 OS에서 실행되는 취약점 및 IOC 정보 확인을 자동화합니다. 이것은 법의학 분석이나 고급 침해 대응을 대체하지 않습니다. 정교한 공격자는 루트킷을 배포하고 탐지를 회피하는 기술을 활용하면서 침입 증거를 정리하는 경우가 많습니다.
이 도구는 보증이나 책임 없이 있는 그대로 제공됩니다. 사용에 따른 책임은 사용자 본인에게 있습니다.
스크립트는 Python 3로 개발되었으며 다음 종속성을 설치해야 합니다:
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
종속성을 설치한 후 Python을 사용하여 스크립트를 실행하고 명령줄에서 도움말을 확인할 수 있습니다.
# 구문: python3 <tool_name>.py <path> [--single] [--offline]
스캔 매개변수:
<path> --- 스캔하려는 SAP 애플리케이션 파일 시스템의 루트 디렉터리를 나타냅니다. 마운트된 백업 또는 라이브 환경의 SAP 시스템 기준 디렉터리여야 합니다.--single --- 개별 SID/인스턴스 디렉터리에 대한 스캔을 실행합니다(여러 시스템이나 인스턴스가 있는 루트 또는 기본 SAP 디렉터리가 아님).--offline --- 인터넷 연결 없이 실행합니다(GitHub API에 대한 업그레이드 확인 없음).명령줄 옵션 및 플래그의 전체 목록은 --help 매개변수를 사용하십시오.
[!IMPORTANT] 이 도구는 SAP 보안 노트 3593336에 명시된 JAVA 서버 파일 시스템 아래의 파일을 스캔합니다:
C:\usr\sap\<SID>\<InstanceID>\j2ee\cluster\apps\sap.com\irj\servlet_jsp\irj\rootC:\usr\sap\<SID>\<InstanceID>\j2ee\cluster\apps\sap.com\irj\servlet_jsp\irj\workC:\usr\sap\<SID>\<InstanceID>\j2ee\cluster\apps\sap.com\irj\servlet_jsp\irj\work\sync주어진 경로가 루트 라이브 파일 시스템(예:
/또는C:\)인 경우, 도구는/usr/sap표준 SAP 설치 디렉터리를 기대합니다. 그런 다음 도구는 기본적으로 모든<SID>/<INSTANCE>/하위 디렉터리를 스캔합니다(와일드카드 사용).부분 스캔을 수행하는 경우
--single을 사용하고j2eeSAP Java 디렉터리를 포함하는 인스턴스 폴더의 전체 경로를 지정하십시오.
[!CAUTION] 이 설계는 익숙한 파일을 잘못 탐지하지 않으면서 모든 SID/인스턴스의 가능한 모든 의심스러운 파일을 스캔하기 위한 것입니다. 이 표준 폴더 구조 밖의 파일은 탐지되지 않으며,
j2ee하위 디렉터리가 없으면 오류가 발생합니다.구성 요소 매니페스트도
j2ee/cluster/apps/sap.com/devserver_metadataupload_ear/표준 하위 디렉터리에 있을 것으로 예상됩니다. 해당 파일이 없으면 취약한 미패치 버전에 대해 분석되지 않습니다.예상 로그 경로는
j2ee/cluster/<SERVER>/log/system/httpaccess/이며, SAP 고유 로그 형식의 파일은responses및trc확장자로 명명됩니다. Common Log Format 파일에는-clf접미사가 있을 것으로 예상됩니다. 해당 파일이 없으면 오류/경고 메시지가 발생합니다.
/mnt/sapserver에 마운트된 파일 시스템(구성 요소 취약, SID J00에 대한 단일 인스턴스 스캔):
python3 onapsis-mandiant-CVE-2025-31324-vuln-compromise-assessment.py /mnt/sapserver/usr/sap/SID/J00 --single
[INFO] Found component at: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/apps/sap.com/devserver_metadataupload_ear/servlet_jsp/developmentserver/root/META-INF/MANIFEST.MF, checking CVE-2025-31324... for CVE-2025-31324
[CRITICAL] Known vulnerable component version found: 7.5028.20230722071537.0000 for CVE-2025-31324
[INFO] Found component at: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/apps/sap.com/devserver_metadataupload_ear/servlet_jsp/developmentserver/root/META-INF/MANIFEST.MF, checking CVE-2025-31324... for CVE-2025-42999
[CRITICAL] Known vulnerable component version found: 7.5028.20230722071537.0000 for CVE-2025-42999
[CRITICAL] Found known IoC file signature: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/apps/sap.com/irj/servlet_jsp/irj/root/helper.jsp: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
[WARNING] Found suspicious unfamiliar file: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/apps/sap.com/irj/servlet_jsp/irj/work/JEE_jsp_some-name_timestamp.java: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
[WARNING] Found suspicious unfamiliar file: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/apps/sap.com/irj/servlet_jsp/irj/work/sync/JEE_jsp_some-name_timestamp.class: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
[INFO] Found log file at: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/server0/log/system/httpaccess/responses_00.3.trc
[WARNING] Exploit attempt detected: [Apr 24, 2025 10:00:22 AM ] - 127.0.0.1 : POST /developmentserver/metadatauploader?CONTENTTYPE=MODEL&CLIENT=1 HTTP/1.1 200 271 [12]
[CRITICAL] Web executable access detected: [Apr 26, 2025 10:32:57 PM ] - 127.0.0.1 : GET /irj/helper.jsp HTTP/1.1 200 243 [6480]
[NOTICE] Web executable attempt detected: [Apr 26, 2025 10:59:12 PM ] - 127.0.0.1 : GET /irj/helper2.jsp HTTP/1.1 200 243 [169]
[NOTICE] Web executable attempt detected: [Apr 26, 2025 11:06:39 PM ] - 127.0.0.1 : GET /irj/nzwcnktc.jsp HTTP/1.1 404 738 [2]
[CRITICAL] Web executable access detected: [Apr 30, 2025 1:50:04 PM ] - 127.0.0.1 : GET /irj/cache.jsp HTTP/1.1 200 13 [185]
[INFO] Log entries successfully saved to /tmp/exploit_attempts_20250506194404.csv
[INFO] Log entries successfully saved to /tmp/webshell_access_20250506194404.csv
[INFO] Found trace file at: /mnt/sapserver/usr/sap/SID/J00/j2ee/cluster/server0/log/defaultTrace_00.4.trc
[CRITICAL] Exploitation detected on 2025 05 05 07:29:23:415 in sap.com/devserver_metadataupload_ear at log_id D000D0B7A02655210000000100005003
[CRITICAL] Exploitation detected on 2025 05 05 07:29:23:415 in sap.com/devserver_metadataupload_ear at log_id D000D0B7A02655250000000100005003
[CRITICAL] Exploitation detected on 2025 05 05 07:29:47:926 in sap.com/devserver_metadataupload_ear at log_id D000D0B7A02655290000000100005003
[INFO] Log entries successfully saved to /app/trace_events_20250508230113.csv
[INFO] Created evidence archive package at: /tmp/tmpvpfy4nhf.zip
==============================================================================
[CRITICAL] Unpatched VCFRAMEWORK Component found: Vulnerable Version Present
Detected component version: 7.5028.20230722071537.0000
...
------------------------------------------------------------------------------
[ALERT] Critical Indicator of Compromise Detected: IOC Signature Match Found
...
Detected IOC:
- helper.jsp
...
------------------------------------------------------------------------------
[CRITICAL] Web-Executable Artifacts Detected in Exploitable Locations
...
Detected Artifacts: [See attached ZIP archive for full file list and paths]
- JEE_jsp_some-name_timestamp.class
- JEE_jsp_some-name_timestamp.java
...
------------------------------------------------------------------------------
[WARNING] Potential Exploit Activity Detected
...
Pattern Matched:
/developmentserver/metadatauploader?CONTENTTYPE=MODEL&CLIENT=1
...
------------------------------------------------------------------------------
[CRITICAL] Web Executable Access Detected - Potential Post-Exploitation
Activity
...
Matched Files: [Listed in export]
- cache.jsp
- helper.jsp
- helper2.jsp
...
------------------------------------------------------------------------------
[CRITICAL] Exploitation Activity detected in Java Default Trace log
...
Exported Log File: /app/trace_events_20250508230113.csv
------------------------------------------------------------------------------
/의 라이브 파일 시스템(구성 요소 패치됨, 취약하지 않음):
./onapsis-mandiant-CVE-2025-31324-vuln-compromise-assessment /
[INFO] Found component at: /usr/sap/SID/J00/j2ee/cluster/apps/sap.com/devserver_metadataupload_ear/servlet_jsp/developmentserver/root/META-INF/MANIFEST.MF, checking CVE-2025-31324...
[INFO] Component found but version is patched: 7.5031.20250418122224.0000 for CVE-2025-31324
[INFO] Found component at: /usr/sap/SID/J00/j2ee/cluster/apps/sap.com/devserver_metadataupload_ear/servlet_jsp/developmentserver/root/META-INF/MANIFEST.MF, checking CVE-2025-42999...
[CRITICAL] Known vulnerable component version found: 7.5031.20250418122224.0000 for CVE-2025-42999
[INFO] No suspicious files founds
[INFO] Found log file at: /usr/sap/SID/J00/j2ee/cluster/server0/log/system/httpaccess/responses_00.0.trc
[INFO] No exploit attempts detected
[INFO] No executable access detected
[INFO] Found trace file at: /usr/sap/SID/J00/j2ee/cluster/server0/log/defaultTrace_00.1.trc
[INFO] Found trace file at: /usr/sap/SID/J00/j2ee/cluster/server0/log/defaultTrace_00.4.trc
[INFO] Found trace file at: /usr/sap/SID/J00/j2ee/cluster/server0/log/defaultTrace_00.3.trc
==============================================================================
[OK] No Indicators of Compromise Detected
...
[OK] No Web-Executable Artifacts Detected in Exploitable Locations
...
[OK] No Exploit Attempts Detected in Access Logs
...
[OK] No Access to Post-Exploit Artifacts Detected
...
[OK] No Exploitation Activity detected in Java Default Trace Logs
C:\의 라이브 파일 시스템(구성 요소 미설치, 취약하지 않음):
onapsis-mandiant-CVE-2025-31324-vuln-compromise-assessment.exe C:\
[INFO] Component not found for CVE-2025-31324
[INFO] Component not found for CVE-2025-42999
[INFO] No suspicious files founds
[WARNING] No log folders found!
==============================================================================
[OK] No Indicators of Compromise Detected
...
[OK] No Web-Executable Artifacts Detected in Exploitable Locations
...
[WARNING] The HTTP Access log folder does not appear to be present at the
expected path: j2ee/cluster/*/log/system/httpaccess/
...
[WARNING] The Java Default Trace log folder at: j2ee/cluster/*/log/ is present
but contains no files.
CVE-2025-31324/CVE-2025-42999, 이를 대상으로 한 0-day 캠페인 및 현재 진행 중인 모든 연구에 대한 추가 정보는 다음을 참조하십시오:
Onapsis가 기업이 이 취약점을 식별하고 해결하도록 어떻게 도울 수 있는지에 대한 자세한 내용은 [email protected]으로 문의하십시오.
Mandiant가 기업이 법의학 분석을 수행하고 사고에 대응하도록 어떻게 도울 수 있는지에 대한 자세한 내용은 [email protected]으로 문의하십시오.