[단독공격] 분석 — CVE-2023-40044
CVE-2023-40044 enables unauthenticated .NET deserialization in WS_FTP Server’s Ad Hoc Transfer module for remote command execution, so patch or disable the feature immediately.
📋 요약
- 심각도 critical · CVSS 10.0 · EPSS 0.9015 · 악용난이도 easy · KEV
🔍 공격 기법
-
공격 표면
- FTP 제어 포트(21) 혹은 관리용 HTTP/HTTPS 인터페이스에서 “Ad Hoc Transfer” 요청을 받는 엔드포인트.
- 직렬화된 .NET 객체를 전달하는 파라미터(예: 파일 메타데이터, 전송 옵션) 가 입력값 검증 없이 그대로 역직렬화됨.
-
단계
- 정찰 – FTP 배너 또는 HTTP 헤더에서 서버 버전을 확인하고 < 8.7.4 혹은 8.8‑8.8.2 임을 판단합니다. (다중 소스에서 일관성이 확인됐음)
- 초기 접근 – 인증 없이 FTP/HTTP 세션을 열고, Ad Hoc Transfer 요청에 악의적인 .NET 직렬화 바이트스트림(보통 Base64 인코딩)을 삽입합니다. CVSS 벡터 AV:N/AC:L/PR:N/UI:N와 일치하는 조건입니다.
- 실행·권한 획득 – 서버가 직렬화를 역직렬화하면서
System.Diagnostics.Process.Start등 임의 코드 실행 로직을 호출, WS_FTP 서비스 프로세스 권한(보통 SYSTEM)으로 명령이 실행됩니다. - 지속 – 공격자는 시스템 계정으로 백도어 파일·스케줄러 작업·새 관리자 사용자 등을 생성할 수 있습니다.
- 영향 – 전체 OS 장악, 저장소 접근, 내부 네트워크 이동 등이 가능해집니다.
-
핵심 원리 – .NET BinaryFormatter 등 신뢰되지 않은 입력을 검증 없이 역직렬화하는 전형적인 Deserialization RCE( CWE‑502 )이며, 인증이 필요 없는 네트워크 경로를 통해 바로 트리거됩니다.
악용 가능성: CVSS 벡터 AV:N/AC:L/PR:N/UI:N는 공격자가 네트워크를 통해 직접 접근할 수 있고, 복잡한 사전 작업이나 사용자 개입 없이도 취약 모듈을 호출하면 된다는 의미이며, 이는 실전에서 “easy” 등급이 부여된 핵심 이유입니다. EPSS = 0.9015라는 높은 실측값은 이 취약점이 실제로 악용될 확률이 90%에 육박함을 보여주며, KEV(실제 악용) 목록에 등재된 점도 기존 공격 사례가 존재한다는 강력한 증거입니다. WS_FTP Server의 Ad Hoc Transfer 모듈은 HTTP/HTTPS 관리 인터페이스(예: /transfer/ad-hoc)를 통해 외부 요청을 받으며, 이 엔드포인트에서 직렬화된 .NET 객체를 파라미터(payload 등)로 전달받아 처리합니다. 공격자는 인증 없이 해당 엔드포인트에 조작된 직렬화 데이터를 전송하면 서버가 이를 역직렬화하면서 임의 명령을 실행하게 됩니다. 이 과정은 사용자 상호 작용이 전혀 필요하지 않으며, 서버가 자동으로 요청을 처리하기 때문에 UI 요구조건이 없습니다. 취약한 코드가 WS_FTP 서비스 계정 권한(
💥 영향 분석
- 원격 코드 실행으로 WS_FTP Server가 구동 중인 호스트 전체를 장악합니다.
- 파일 서버 역할을 수행하므로 저장된 기업 데이터 유출·변조 위험이 발생합니다.
- 공격자는 동일 네트워크 내 다른 시스템으로의 lateral movement 를 손쉽게 수행할 수 있습니다.
🔗 관련 취약점·체이닝
- Deserialization (CWE‑502) → 권한 상승(서비스가 SYSTEM 권한) → 원격 코드 실행(RCE).
- 동일 서버에 존재하는 다른 인증 우회 취약점(CVE‑xxxx‑yyyy 등)이 있다면, 초기 접근을 보다 쉽고 빠르게 할 수 있습니다(추정).
- 파일 업로드·다운로드 기능과 연계된 경로 탐색(Path Traversal) 취약점이 존재한다면, 악성 파일을 영구적으로 남겨 지속성을 강화할 수 있습니다.
🔎 탐지
- FTP/HTTP 로그에 “ADHOC” 혹은 유사 명령어와 함께 비정상적으로 긴 Base64 문자열이 기록되는 경우.
- wsftpd.exe(또는 관리 서비스) 프로세스가
cmd.exe,powershell.exe등을 자식 프로세스로 실행한 흔적. - IDS/IPS 규칙: “WS_FTPAdHocDeserialization” 패턴 매칭 (예:
.*ADHOC.*[A-Za-z0-9+/]{100,}.*).
🛡️ 완화 방안
- 즉시: 해당 버전을 사용 중이라면 WS_FTP Server를 8.7.4 이상 또는 8.8.2 이상으로 패치합니다.
- 패치 적용이 어려운 경우 Ad Hoc Transfer 기능을 비활성화하고, 관리용 포트를 방화벽에서 차단하거나 신뢰 IP만 허용합니다.
- 네트워크 레벨에서 FTP/HTTP 트래픽에 대한 정규식 기반 DPI를 적용해 직렬화 객체(긴 Base64) 전송을 차단합니다.
- 로그·프로세스 감시를 강화하고, 이상 징후 발견 시 즉시 서비스 재시작 및 포렌식을 수행하십시오.
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=10.0 · KEV · EPSS=0.9015 · exploit=easy · in_scope=None