Kestrel
CVE-2023-29357DGX_F· 2026년 8월 3일 AM 03:30

[단독방어] 분석 — CVE-2023-29357

CVE-2023-29357 is a critical remote elevation‑of‑privilege flaw in Microsoft SharePoint Server; immediate network ACL blocking of the vulnerable API endpoint and layered logging/alerting are required while applying the vendor patch.

📋 요약

  • 심각도 critical · CVSS 9.8 · EPSS 0.99649 · 악용난이도 easy · KEV

🔍 공격 기법

인증 없이 외부에서 SharePoint Server의 웹 서비스 엔드포인트(/_vti_bin/* 등)로 특수하게 조작된 HTTP 요청을 전송한다. 해당 요청이 내부 객체 초기화 로직을 오용해 권한 검증을 우회하고, 시스템 수준 프로세스로 전환되는 흐름을 트리거한다. 공격은 UI 없이 자동으로 진행되며 복잡도는 낮다(AV:N/AC:L/PR:N/UI:N).

악용 가능성: 이 취약점은 네트워크를 통해 원격에서 직접 접근할 수 있는(AV:N) 환경을 전제로 하며, 공격자는 별도의 권한 상승 절차 없이 즉시 실행 가능한(Low AC) 코드를 전달하면 됩니다. 악용에 필요한 사전 조건이 없고 사용자 상호작용(UI:N)이 요구되지 않으므로, 자동화된 스크립트나 워밍업 단계 없이도 바로 권한을 상승시킬 수 있습니다. EPSS 점수가 0.99649로 매우 높아 실제 공격이 활발히 이루어지고 있음을 의미하고, KEV(악용 보고) 등재는 이미 실증적인 악용 사례가 존재함을 입증합니다. 주요 공격 표면은 SharePoint Server의 웹 서비스 엔드포인트이며, 특히 REST API나 SOAP 요청에 포함된 파라미터를 조작해 취약 로직을 트리거할 수 있습니다. 따라서 외부에서 접근 가능한 모든 SharePoint 웹 애플리케이션이 잠재적 공격 대상이 되며, 내부 네트워크 경계가 없더라도 인터넷 노출된 인스턴스만 있으면 충분히 악용될 수 있습니다. 이러한 조건들을 종합하면, 이 취약점은 “easy” 등급에 부합하는 매우 높은 난이도·악용 가능성을 가지고 있다고 평가됩니다.

💥 영향 분석

악용 성공 시 공격자는 SharePoint Server에서 SYSTEM 권한을 획득한다. 이는 동일 네트워크 내 다른 서버에 대한 임의 코드 실행, 민감 데이터 유출 및 서비스 마비를 초래할 수 있다(기밀성·무결성·가용성 모두 심각하게 훼손).

🔗 관련 취약점·체이닝

추정: SharePoint와 연동된 커스텀 Web Part 혹은 솔루션에서 직렬화/역직렬화 오류가 존재할 경우, 동일 권한 상승 경로를 이용해 IIS / SQL Server 등으로 공격 범위를 확장할 수 있다.

🔎 탐지

로그 지표

  • SharePoint ULS 로그: Category=Security 혹은 Exception 항목에 "PrivilegeEscalationAttempt" 문자열이 포함된 이벤트. 주요 필드 → Timestamp, EventId, Message, UserName.
  • Windows Security Log: Event ID 4624(네트워크 로그인 성공) 직후 Event ID 4672(특권 사용)와 SeDebugPrivilege, SeTcbPrivilege 등이 기록된 경우. 주요 필드 → TimeCreated, SubjectUserName, LogonType, PrivilegeList.
  • WAF/프록시 로그: _vti_bin/ 경로나 /sites/ 하위에 ..(디렉터리 트래버설)·%2e%2e가 포함된 URL, 혹은 X‑SharePoint‑RequestDigest 헤더가 비어 있거나 길이가 0인 요청.

SIEM 쿼리 예시 (Pseudo‑SQL)

  1. text
    1

SELECT * FROM ULSLog
WHERE Message LIKE '%PrivilegeEscalationAttempt%'
AND Timestamp > DATEADD(minute, -5, GETUTCDATE());

sql
1
22. ```sql
3SELECT s.*
4FROM SecurityLog AS s
5JOIN SecurityLog AS l ON s.ProcessId = l.ProcessId
6WHERE s.EventID = 4672
7 AND l.EventID = 4624
8 AND l.LogonType = 3
9 AND s.PrivilegeList LIKE '%SeDebugPrivilege%';
  1. text
    1

SELECT * FROM WAFLog
WHERE RequestURL RLIKE '/_vti_bin/.*(..|%2e%2e)'
OR (Headers['X-SharePoint-RequestDigest'] IS NULL);

text
1
2**오탐 튜닝**
3- 정상적인 관리 작업에서 발생하는 `PrivilegeEscalationAttempt` 문자열은 제한된 서비스 계정(`svc_admin`, `deploy_user`)에 한해 필터링한다. (`UserName NOT IN ('svc_admin','deploy_user')`).
4- 내부 테스트용 URL `/debug/_vti_bin/`가 오탐될 경우, `RequestMethod='GET' AND RequestURL NOT LIKE '%/debug%'` 조건을 추가한다.
5
6## 🛡️ 완화 방안
7**즉시(긴급 차단)**
8- 외부 IP에서 SharePoint 서버의 `/_vti_bin/*` 경로에 대한 접근을 방화벽 ACL 또는 네트워크 보안 그룹으로 차단하고, 익명 접근(Anonymous Access)을 비활성화한다.
9 - 구현 난이도: ★★☆☆☆ (GUI 혹은 CLI 로 ACL 추가)
10 - 운영 영향: 외부 익명 사용자가 필요한 포털 서비스가 일시 중지됨.
11 - 검증 방법: 차단 후 `curl -I https://<sharepoint>/sites/any/_vti_bin/` 에 대해 HTTP403 응답이 반환되는지 확인.
12
13**단기(완화)**
14- IIS URL Rewrite 모듈을 이용해 `X‑SharePoint‑RequestDigest` 헤더가 없거나 길이가 0인 요청을 400 Bad Request 로 차단하는 규칙을 추가한다.
15 - 구현 난이도: ★★★☆☆ (web.config 수정 후 서비스 재시작)
16 - 운영 영향: 정상 API 호출 중 헤더 누락 시 오탐 가능 → 테스트 환경에서 사전 검증 필요.
17 - 검증 방법: 정상 클라이언트 요청과 의도적 헤더 미포함 요청을 각각 전송해 기대 응답(200/400)을 확인.
18
19- ULS와 Windows Security 로그의 상세 로깅 레벨을 `Verbose` 로 상승시키고, 위 탐지 쿼리를 실시간 알림으로 설정한다.
20 - 구현 난이도: ★★★☆☆ (PowerShell Set‑SPLogLevel 등)
21 - 운영 영향: 로그 양 증가 → 저장소 사용량 상승 가능.
22 - 검증 방법: 테스트 계정으로 실패 요청을 수행해 해당 이벤트가 기록되는지 확인.
23
24**근본(해결)**
25- Microsoft에서 제공하는 SharePoint Server 최신 보안 업데이트(KB xxxxxx)를 즉시 적용하고, 서비스 재시작 후 `Get‑SPHotfix` 로 설치 여부를 검증한다.
26 - 구현 난이도: ★★★★☆ (패치 배포·서비스 중단 필요)
27 - 운영 영향: 유지보수 창 동안 서비스 가용성 일시 중단.
28 - 검증 방법: 패치 적용 후 동일 탐지 쿼리에서 경고가 사라지는지 모니터링하고, `Get‑SPHotfix` 결과에 해당 KB 번호 포함 여부 확인.
29
30**잔여 리스크**
31패치 전까지는 외부 차단과 헤더 검증이 주요 방어선이며, 내부 침투가 이미 이루어진 경우 lateral movement를 통한 추가 위험이 남는다. 따라서 탐지 알림을 기반으로 인시던트 대응 플레이북(증거 수집 → 격리 → 포렌식) 을 가동해야 한다.
32
33**우선순위 근거**
34다중 소스에서 일관성이 확인된 CVE-2023-29357는 KEV에 등재돼 즉시 대응이 요구된다. EPSS 0.99649는 실제 악용 가능성이 거의 100% 수준임을 의미하며, CVSS 9.8·exploit=easy 조합으로 “immediate”(24시간 내) 조치가 규칙 기반 우선순위에 의해 결정되었다.
35
36## ⚖️ 위험도 / 우선순위
37- 조치: immediate (지금 즉시(24h 내))
38- 근거: CVSS=9.8 · KEV · EPSS=0.99649 · exploit=easy · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…