펜리젠트 헤더

System.IO.FileStream에서 시스템 셸로: CVE-2025-52691의 포렌식 분석(SmarterMail RCE)

2026년이 시작되면서 사이버 보안 커뮤니티는 가장 널리 사용되는 Windows 기반 메일 서버 중 하나에서 발생한 대규모 아키텍처 장애로 인해 어려움을 겪고 있습니다. 2025년 12월 30일, 싱가포르 사이버 보안국(CSA)과 SmarterTools는 다음과 같은 문제를 확인했습니다. CVE-2025-52691는 최대 심각도 등급을 가진 취약점입니다: CVSS 10.0.

레드 팀원과 익스플로잇 개발자들에게 이 취약점은 '성배'와 같은 존재입니다. 인증되지 않은 임의 파일 업로드 로 직접 연결됩니다. 원격 코드 실행(RCE) as 시스템. 자격 증명이나 사용자 상호 작용이 필요하지 않으며 애플리케이션이 수신 데이터 스트림을 처리하는 방식의 근본적인 논리 결함을 악용합니다.

이 글에서는 취약점에 대한 포렌식 분석을 제공하기 위해 개괄적인 요약은 생략합니다. .NET 엔드포인트가 실패하는 방법, 인터넷 정보 서비스(IIS) 파이프라인이 악성 페이로드를 처리하는 방법, 최신 AI 기반 보안이 이러한 로직 위협이 무기화되기 전에 식별하는 방법을 자세히 설명합니다.

System.IO.FileStream에서 시스템 셸로: CVE-2025-52691의 포렌식 분석(SmarterMail RCE)

위협 환경: CVE-2025-52691이 "클래스 브레이크"인 이유

SmarterMail은 널리 배포된 Microsoft Exchange의 대안으로, 다음에서 실행됩니다. Windows/IIS/.NET 스택. 파일 시스템 권한으로 파일 업로드의 영향을 완화할 수 있는 Linux 기반 메일 서버와 달리, Windows IIS 환경은 구성 오류가 발생하면 용서하지 않는 것으로 악명이 높습니다.

취약점 인텔리전스 카드

Metric인텔리전스 세부 정보
CVE 식별자CVE-2025-52691
취약성 등급무제한 파일 업로드(CWE-434)
공격 벡터네트워크(원격)
필요한 권한없음(인증되지 않음)
사용자 상호 작용없음
영향을 받는 빌드SmarterMail 9406 및 이전 버전
해결 방법즉시 빌드 9413+로 업데이트

여기서 위험은 공격 표면. 메일 서버는 기본적으로 25, 443, 9998(웹메일/관리) 포트에서 공용 인터넷에 노출되어 있습니다. 인증이 전혀 필요하지 않고 안정적인 셸을 제공하는 취약점은 자동화된 봇넷이 PoC 공개 후 몇 시간 내에 수천 대의 서버를 손상시킬 수 있다는 것을 의미합니다.

기술 심층 분석: 결함의 메커니즘

CVE-2025-52691의 작동 방식을 이해하려면 SmarterMail이 HTTP 요청을 처리하는 방식을 분석해야 합니다. 이 취약점은 파일 첨부 또는 사용자 업로드를 처리하도록 설계된 특정 API 엔드포인트(웹메일 인터페이스의 일부 또는 파일 스토리지 네임스페이스.

사라진 '게이트키퍼'

보안 .NET 응용 프로그램에서 모든 컨트롤러 동작 처리 파일은 다음과 같이 장식해야 합니다. [권한 부여] 속성과 엄격한 파일 유효성 검사 로직을 사용합니다. CVE-2025-52691이 존재하는 이유는 특정 핸들러(예: 일반적인 .ashx 핸들러 또는 REST API 경로가 이러한 검사 없이 노출되었습니다.

POST 요청이 이 엔드포인트에 도달하면 서버는 다음과 같이 처리합니다. 멀티파트/양식 데이터 스트림을 사용합니다. 엔드포인트에는 인증 장벽이 없기 때문에 서버는 모든 IP 주소에서 스트림을 수락합니다.

취약한 코드 패턴(재구성)

정확한 소스 코드는 독점적이지만 표준 .NET 취약성 클래스와 패치의 특성을 기반으로 취약성 패턴을 재구성할 수 있습니다. 이 결함은 다음 C# 로직과 유사할 가능성이 높습니다:

C#

`public class LegacyUploadHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { // 치명적 결함 1: 세션 확인 또는 인증 확인 없음 // 핸들러는 단순히 호출자가 이 URL에 도달했다는 이유로 호출자를 신뢰할 수 있다고 가정합니다. // 누락: if (context.Session["User"] == null) throw new UnauthorizedAccessException();

    HttpPostedFile file = context.Request.Files["upload"];
    문자열 fileName = file.FileName;

    // 치명적 결함 2: 파일 경로에 대한 사용자 입력 신뢰
    // 이 코드는 클라이언트 헤더에서 직접 파일명을 가져옵니다.
    // 디렉토리 탐색(../) 또는 실행 파일 확장자(.aspx)에 대한 위생 처리에 실패합니다.
    문자열 savePath = context.Server.MapPath("~/App_Data/Temp/" + fileName);

    // 치명적 결함 3: 웹 접근 가능한 디렉터리에 쓰기
    file.SaveAs(savePath);
}

}`

IIS 실행 파이프라인

파일 업로드가 치명적인 이유는 무엇인가요? 많은 최신 스택(Node.js, Go)에서 소스 파일을 업로드한다고 해서 자동으로 실행되는 것은 아닙니다. 하지만 ASP.NET IIS에서 실행로 인해 동작이 구별됩니다. ISAPI 모듈 매핑.

공격자가 파일을 첨부할 수 있는 경우 .aspx, .ashx또는 .soap 확장자를 스크립트 실행을 허용하는 디렉터리(대부분의 웹 디렉터리가 레거시 ASP 기능을 지원하기 위해 기본값으로 설정함)에 추가하고, IIS 작업자 프로세스(w3wp.exe)는 다음 체인을 트리거합니다:

  1. 공격자 업로드 shell.aspx.
  2. 공격자 요청 GET /App_Data/Temp/shell.aspx.
  3. IIS 커널 모드 리스너(http.sys) 는 요청을 수신하고 이를 작업자 프로세스에 전달합니다.
  4. ASP.NET 핸들러 는 알려진 확장자를 표시합니다.
  5. JIT 컴파일: CLR(공용 언어 런타임)은 내부에서 코드를 컴파일합니다. shell.aspx 를 임시 DLL로 즉석에서 생성합니다.
  6. 실행: DLL은 메모리에 로드되고 애플리케이션 풀 ID의 권한으로 실행됩니다(종종 시스템 또는 네트워크 서비스).

킬 체인: 디스커버리에서 시스템 셸까지

이 공격 경로를 시뮬레이션하는 보안 엔지니어의 경우, 킬 체인은 네 가지 단계를 거칩니다.

1단계: 정찰

공격자가 SmarterMail 지문을 검색합니다.

  • 헤더: Server: Microsoft-IIS/10.0, X-Powered-By: ASP.NET
  • 제목: SmarterMail 로그인
  • 엔드포인트 프로빙: 다음과 같은 알려진 업로드 엔드포인트에 대해 퍼징을 수행합니다. /api/V1/설정/업로드, /파일저장소/업로드.ashx또는 보안 검토 중에 잊어버렸을 수 있는 레거시 SOAP 엔드포인트입니다.

2단계: 무기화

공격자는 "웹셸"을 생성합니다. 전형적인 C# 웹셸 페이로드는 다음을 통해 시스템 명령을 실행하도록 제작됩니다. cmd.exe.

<%@ Page Language="C#" %> <%@ Import Namespace="System.Diagnostics" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { // Simple command execution logic 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>

System.IO.FileStream을 시스템 셸로 변환

3단계: 전달(익스플로잇)

공격자가 POST 요청을 보냅니다.

  • 바이패스 기술: 서버가 약한 유효성 검사를 구현하는 경우(예 콘텐츠 유형), 공격자는 헤더를 다음과 같이 수정합니다. 콘텐츠 유형: 이미지/jpeg. 서버가 확장자를 확인하지만 논리 오류(예: 처음 3자만 확인)가 있는 경우 공격자는 다음을 시도할 수 있습니다. shell.aspx.jpg 또는 NTFS 대체 데이터 스트림 트릭(shell.aspx::$DATA)를 사용하여 필터를 우회하면 IIS가 실행할 파일을 계속 작성하면서 필터를 우회할 수 있습니다.

4단계: 익스플로잇

공격자가 셸에 액세스합니다:

응답: NT 권한\\시스템

이 시점에서 게임은 끝났습니다. 공격자는 LSASS 프로세스를 덤프하여 관리자 자격 증명을 추출하거나 랜섬웨어를 설치하거나 메일 서버를 도메인 컨트롤러를 공격하기 위한 피벗 포인트로 사용할 수 있습니다.

논리 결함을 탐지하는 AI의 역할: 펜리젠트 접근법

기존의 DAST(동적 애플리케이션 보안 테스트) 도구는 다음과 같은 취약점을 찾는 데 어려움을 겪는 것으로 악명이 높습니다. CVE-2025-52691 스타일 버그.

  1. 컨텍스트 블라인드: 스캐너는 HTML 링크 크롤링에 의존합니다. DOM에 명시적으로 연결되지 않은 API 엔드포인트(숨겨진 엔드포인트)는 스캐너에 표시되지 않습니다.
  2. 파괴에 대한 두려움: 스캐너는 애플리케이션이 손상되거나 저장 공간이 넘칠까 봐 파일 업로드를 주저합니다.

여기에서 Penligent.ai 는 공격 보안 팀의 패러다임 전환을 의미합니다. 펜리전트는 다음을 활용합니다. AI 기반 논리 분석 단순한 패턴 매칭이 아닌

  1. 발견할 수 없는 것의 발견

펜리젠트의 에이전트는 클라이언트 측 JavaScript 번들과 컴파일된 DLL(유출을 통해 액세스할 수 있는 경우)을 분석하여 API 맵을 재구성합니다. 명시적으로 연결되지 않은 업로드 핸들러의 존재를 추론하여 CVE-2025-52691과 같은 취약점이 숨어 있는 '섀도 API'를 효과적으로 찾아냅니다.

  1. 비파괴적 착취 증명

펜리젠트는 EDR을 트리거하거나 서버를 중단시킬 수 있는 악성 웹셸을 업로드하는 대신, 양성 마커 파일을 생성합니다.

  • 액션: 암호학적으로 고유한 해시가 포함된 간단한 텍스트 파일을 업로드합니다.
  • 인증: 그런 다음 공개 URL을 통해 해당 파일을 검색하려고 시도합니다.
  • 결과: 파일을 검색할 수 있는 경우 펜리전트는 무제한 파일 업로드 취약점(CWE-434)을 100%의 확실성과 제로 위험으로 탐지합니다. 이를 통해 CISO는 오탐으로 인한 잡음 없이 실행 가능한 인텔리전스를 얻을 수 있습니다.

개선 및 강화 전략

SmarterMail을 운영 중이라면 시간과의 싸움을 하고 있는 것입니다.

  1. 즉시 패치 적용

지금 바로 빌드 9413으로 업그레이드하세요. 이번 릴리스에서는 엄격한 인증 검사 및 화이트리스트 기반 파일 확장자 유효성 검사를 구현했습니다.

  1. IIS 요청 필터링(임시 완화)

즉시 패치를 적용할 수 없는 경우 웹 서버 수준에서 공격 벡터를 차단해야 합니다. IIS 요청 필터링을 사용하여 업로드 디렉터리의 .aspx 파일에 대한 액세스를 거부합니다.

  • 액션: IIS 관리자 -> 요청 필터링 -> URL 탭 -> 시퀀스 거부에서.
  • 규칙: 다음에 대한 요청 차단 /App_Data/*.aspx 또는 /파일저장소/*.aspx.
  1. 포렌식 헌팅

이미 감염되었을 수 있다고 가정합니다. 파일 시스템에서 검색합니다:

  • 로 끝나는 파일 .aspx, .ashx, .cer, .soap 2025년 12월 29일부터 오늘 사이에 생성되었습니다.
  • IIS 로그(u_ex*.log)를 사용하여 알 수 없는 IP 주소에서 오는 엔드포인트를 업로드하는 POST 요청을 처리하고, 바로 이어서 새 파일에 대한 GET 요청을 처리합니다.

결론

CVE-2025-52691 는 소프트웨어의 세계에서 편리함은 종종 보안의 대가를 치른다는 사실을 극명하게 보여줍니다. '사소한' 파일 업로드 핸들러에서 단 한 번의 인증 확인 누락으로 수백만 달러의 방화벽 및 EDR 투자가 무용지물이 될 수 있습니다.

2026년으로 접어들면서 공격의 복잡성은 더욱 증가할 것입니다. 보안 엔지니어는 수동 체크리스트에서 벗어나 자동화된 지능형 검증 도구를 도입해야 합니다. 오늘 밤 패치를 적용하든 내일 AI 기반 테스트를 배포하든, 공격자가 침입하기 전에 문을 닫는다는 목표는 동일합니다.

신뢰할 수 있는 참조 자료

  • CSA 싱가포르 자문: CSA, 치명적인 SmarterMail 버그에 대한 경보 발령
  • 스마터툴즈 자문: 스마터메일 빌드 9406의 치명적인 취약점
  • 관련 CVE 컨텍스트: WaterISAC 주간 취약점
게시물을 공유하세요:
관련 게시물
ko_KRKorean