[단독방어] 분석 — CVE-2023-40044
CVE-2023-40044 is a critical pre‑authentication .NET deserialization flaw in WS_FTP Server’s Ad Hoc Transfer module that allows remote command execution, and the top priority is to immediately disable or block the Ad Hoc Transfer feature.
📋 요약
- 심각도 critical · CVSS 10.0 · EPSS 0.9015 · 악용난이도 easy · KEV
🔍 공격 기법
프리‑인증 상태에서 공격자는 WS_FTP Server가 제공하는 “Ad Hoc Transfer” 명령을 이용해 특수히 조작된 .NET 직렬화 객체를 전송합니다. 서버는 해당 객체를 역직렬화하면서 임의의 시스템 명령을 실행하게 되며, 이는 네트워크를 통한 원격 코드 실행(RCE)으로 이어집니다. 인증 절차가 필요 없고, 네트워크 접근만 가능하면 언제든지 트리거될 수 있습니다.
악용 가능성: 이 취약점은 네트워크를 통해 직접 접근 가능한 WS_FTP Server의 Ad Hoc Transfer 모듈에 특수히 구성된 .NET 직렬화 객체만 전송하면 인증 없이 원격 명령을 실행할 수 있으므로 공격 난이도가 “Easy” 로 평가됩니다. CVSS 벡터 AV:N/AC:L/PR:N/UI:N은 Network 전달, Low 복잡도, No 인증 요구, No 사용자 상호작용을 의미하며, 실제 공격자는 대상 서버의 FTP/SFTP 포트(보통 21 또는 22) 혹은 관리 웹 인터페이스에 HTTP/HTTPS 요청을 보내는 것만으로 충분합니다.
EPSS 점수 0.9015는 지난 12개월 동안 해당 취약점이 악용될 확률이 90 % 이상임을 나타내며, KEV(Known Exploited Vulnerabilities) 리스트에 등재된 사실은 이미 실증적인 공격 사례가 존재함을 입증합니다.
따라서 공격 표면은 WS_FTP Server의 공개 서비스 포트와 “Ad Hoc Transfer” 엔드포인트(예: /transfer 파라미터)이며, 이 경로는 인증 절차 없이 접근 가능하므로 방어자는 해당 URL·파라미터를 즉시 차단하거나 모니터링해야 합니다.
공격자는 복잡한 사전 준비가 필요 없으며, 단순히 직렬화된 페이로드를 전송하는 Low‑complexity 스킬만으로도 시스템 권한을 탈취할 수 있습니다.
결과적으로 높은 EPSS·KEV 지표와 네트워크 직접 접근 가능성은 이 취약점이 실제 위협이며, 빠른 대응이 요구
💥 영향 분석
- 공격자가 서버 OS 수준에서 임의 명령을 실행 → 시스템 파일 조작, 서비스 중단, 추가 악성 코드 설치 등 전면적인 침해가 가능합니다.
- 권한 상승이 필요 없으며, 성공 시 기밀 데이터 탈취·파괴·내부 네트워크 확산이 즉시 발생합니다.
🔗 관련 취약점·체이닝
추정: 동일 .NET 직렬화 취약성(CWE‑502)을 이용한 다른 서버 제품(예: 파일 전송 서비스, 원격 관리 도구)에서도 원격 코드 실행이 가능하며, 이와 연계해 내부망에서 LDAP 인젝션이나 SMB 리레이 공격을 수행할 수 있습니다. 또한, FTP 프로토콜 자체의 명령어 변조(CWE‑284)와 결합하면 인증 우회 및 권한 상승 경로가 형성될 위험이 존재합니다.
🔎 탐지
-
로그 지표
ws_ftp_server.log:Command=ADHOC_TRANSFER혹은 유사 커스텀 명령어가 기록된 행.PayloadSize필드에 비정상적으로 큰 값(예: >1 MB) 또는 바이너리 데이터 패턴(0x00 0x01 …)이 포함될 경우.- 시스템 이벤트 로그에서
EventID=4688(새 프로세스 생성)와 연계, 실행 파일 경로가 FTP 서버 실행 디렉터리 외부인 경우.
-
SIEM 쿼리 예시 (Pseudo‑SQL/ SPL)
1SELECT * 2FROM logs 3WHERE source = "ws_ftp_server" 4 AND command LIKE "%ADHOC_TRANSFER%" 5 AND payload_size > 1048576 1index=wsftpsrv sourcetype=wsftplog (command="ADHOC_TRANSFER") | where payload_len>1024*1024-
정규식 탐지
(?i)ADHOC[_\s]?TRANSFER\s+[\x00-\xFF]{10,}: 명령어 뒤에 연속된 바이너리 스트림이 존재하면 경보.
-
오탐 튜닝
- 정상적인 대용량 파일 전송 작업에서는
ADHOC_TRANSFER사용이 드물므로, 위 조건에user NOT IN ("admin","svc_ftp")를 추가해 내부 관리 계정만 허용하도록 필터링합니다. - 비정상적인 페이로드 크기 임계값을 환경 평균(예: 200 KB)보다 5배 초과로 설정하면 정상 업무와 구분됩니다.
- 정상적인 대용량 파일 전송 작업에서는
🛡️ 완화 방안
-
즉시(긴급 차단)
Ad Hoc Transfer모듈 비활성화:Set-AdHocTransferEnabled false또는 서버 설정 파일(wsftpsrv.conf)에서EnableAdHocTransfer=0로 변경. 구현 난이도 ★, 운영 영향 ○ (기능 사용 중지 시 사용자 불편 최소). 검증은 재시작 후 해당 명령 로그가 더 이상 기록되지 않는지 확인합니다.
-
단기(완화)
- 방화벽 ACL 적용: 외부 IP에서
ADHOC_TRANSFER관련 포트/명령 차단 (tcp.dstport == 21 && ftp.command == "ADHOC_TRANSFER"). 구현 난이도 ★★, 운영 영향 △ (특정 자동 전송 스크립트가 중단될 수 있음). 검증은 ACL 적용 후 테스트 클라이언트에서 명령 전송 시 차단 여부 확인. - 로그 레벨 강화:
LogLevel=DEBUG로 설정해 모든 FTP 커맨드와 페이로드 요약을 기록, SIEM 연동 규칙 활성화. 구현 난이도 ★, 운영 영향 ○ (로그 양 증가). 검증은 새로운 로그 항목에 위 탐지 패턴이 포함되는지 확인.
- 방화벽 ACL 적용: 외부 IP에서
-
근본(해결)
- 공식 패치 적용: Progress WS_FTP Server 8.7.4 이상 또는 8.8.2 이상 버전으로 업그레이드. 구현 난이도 ★★★, 운영 영향 ● (서비스 재시작 및 호환성 테스트 필요). 검증은 패치 후 동일 명령 전송 시 오류 응답(
500 Command not recognized) 혹은 취약점 보고서에 언급된 CVE-2023-40044가 사라졌는지 확인.
- 공식 패치 적용: Progress WS_FTP Server 8.7.4 이상 또는 8.8.2 이상 버전으로 업그레이드. 구현 난이도 ★★★, 운영 영향 ● (서비스 재시작 및 호환성 테스트 필요). 검증은 패치 후 동일 명령 전송 시 오류 응답(
-
잔여 리스크
- 패치 적용 전까지 위 즉시·단기 조치를 모두 적용하면 악용 가능성을 크게 낮출 수 있으나, 동일 .NET 직렬화 로직이 다른 모듈에 존재할 경우 여전히 위험합니다. 따라서 전체 애플리케이션 코드베이스에 대한 정적 분석을 병행하고, 추후 보안 업데이트 정책을 강화해야 합니다.
-
인시던트 대응 플레이북
- 경보 발생 시
ws_ftp_server.log에서 해당ADHOC_TRANSFER명령과 페이로드를 수집. - 연관된 시스템 이벤트(
EventID=4688)와 네트워크 흐름을 조사해 실행된 프로세스와 외부 연결 여부 파악. - 의심되는 세션을 즉시 차단하고, 해당 클라이언트 IP를 방화벽에서 격리.
- 포렌식 이미지 확보 후 메모리 덤프 분석으로 실제 실행된 명령어 확인.
- 위 완화 조치를 검증하고, 필요 시 전체 서버 재시작 및 패치 적용 절차 진행.
- 경보 발생 시
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=10.0 · KEV · EPSS=0.9015 · exploit=easy · in_scope=None