공격 체인, 포렌식 분석 및 차단 조치를 포함하여 CVE-2025-53770 SharePoint ToolShell 인증 우회 및 RCE를 분석하는 LetsDefend SOC342 랩의 단계별 연습.
저는 LetsDefend 사이버 랩에서 ToolShell (CVE-2025-53770) 이라는 SharePoint 제로데이를 조사했습니다.
이 실습은 악성 POST 요청이 인증을 우회하고, PowerShell을 실행해 MachineKeySection 키를 탈취하고, payload.exe를 컴파일한 뒤 악성 웹 셸(spinstall0.aspx)을 설치하는 실제 제로데이 RCE 공격을 모의했습니다.
이 README는 공격 과정, 포렌식 절차, 격리 조치 및 교훈을 문서화합니다.
| 필드 | 세부 정보 |
|---|---|
| 플랫폼 | LetsDefend Cyber Range |
| 대상 | SharePoint Server (SharePoint01) |
| CVE | CVE-2025-53770 |
| 목표 | RCE 분석, 탐지 및 격리 실습 |
| 사용 도구 | Windows PowerShell, VirusTotal, AbuseIPDB, Talosintelligence, LetsDefend Log Management, LetsDefend Endpoint Security, Base64 Decoder, LetsDefend Threat Intel |
대규모 페이로드와 스푸핑된 Referer를 포함한 SharePoint의 ToolPane.aspx를 대상으로 하는 의심스러운 활동이 치명적인 알림으로 플래그되었습니다.
이는 조작된 POST 요청을 통해 인증되지 않은 RCE를 허용하는 제로데이 취약점인 CVE-2025-53770과 관련이 있습니다.

정의: 이 알림에 할당된 심각도 수준 — 가장 높고 가장 긴급함.
중요한 이유: 이 이벤트가 **전체 시스템 침해(RCE)**로 이어질 수 있음을 나타냄. 최우선 순위로 취급: 즉시 격리하고 조사할 것.
정의: 알림이 트리거된 타임스탬프.
중요한 이유: 로그를 찾고, 관련 이벤트를 연관시키고, 타임라인을 구성하는 데 사용(± 몇 분 또는 몇 시간 검색).
정의: 일치된 조건(ToolShell 익스플로잇 시도)을 설명하는, 트리거된 탐지 규칙 또는 시그니처.
중요한 이유: 감지된 공격 패턴을 식별 — 유사 사례(예: 관리자 페이지에 대한 인증되지 않은 POST 또는 잠재적 웹 셸 업로드)를 헌팅하는 데 유용.
정의: 이 특정 알림 인스턴스 또는 규칙의 숫자 식별자(벤더 정의).
중요한 이유: 티켓이나 보고서에서 이 알림을 추적, 필터링, 참조하는 데 도움.
정의: 상위 수준 분류 — 이 알림은 웹 인프라를 대상으로 함.
중요한 이유: 인시던트를 웹/SharePoint/인프라 팀으로 라우팅하고 웹 특화 플레이북을 적용.
정의: 알림을 처리할 것으로 예상되는 분석가 역할 또는 에스컬레이션 수준.
중요한 이유: 이 알림은 Tier-1이 아님을 나타냄 — 즉각적인 조치를 위해 보안 분석가(경험 있는 대응자)가 필요함.
정의: 영향을 받은 호스트의 이름(활동의 대상 또는 출처).
중요한 이유: 1차 격리 대상 — 이 시스템을 먼저 격리하고, 증거를 수집하고, 모니터링할 것.
정의: 의심스러운 요청을 보낸 IP(공격자 또는 프록시).
중요한 이유: 방화벽/WAF에서 차단하고, 해당 IP의 다른 히트를 검색하며, 소유권/지리 정보를 확인. 참고: IP는 스푸핑되거나 봇넷의 일부일 수 있음.
정의: 내부 대상 IP(SharePoint01).
중요한 이유: 어떤 내부 시스템이 대상이 되었는지 확인 — 호스트명에 매핑하고 내부 접근 경로/방화벽 규칙을 검토.
정의: 사용된 HTTP 동사 — 클라이언트가 서버로 데이터를 전송함.
중요한 이유: 관리자 엔드포인트에 대한 POST는 인증되지 않았거나 대규모일 때 의심스러움 — 익스플로잇 페이로드 또는 웹 셸을 실을 수 있음.
/_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx
정의: 정확히 대상이 된 웹 경로 및 매개변수.
중요한 이유: SharePoint 관리자/레이아웃 엔드포인트 — 공격자가 인증 우회 또는 코드 업로드에 흔히 악용. 동일한 경로에 대한 다른 요청을 헌팅할 것.
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
정의: 클라이언트가 보고한 브라우저 문자열.
중요한 이유: 공격자가 합법적으로 보이도록 스푸핑하는 경우가 많음 — 로그 필터링에 도움이 될 수 있지만, 귀속 판단에 의존하지 말 것.
/_layouts/SignOut.aspx
정의: 요청이 SharePoint의 로그아웃 페이지에서 왔다고 주장하는 HTTP 헤더.
중요한 이유: 스푸핑된 referer는 의심스러움 — 검사를 우회하거나 정상 트래픽을 모방하는 데 사용될 수 있음. 합법적인 탐색 흐름과 비교할 것.
7699정의: HTTP 요청 본문의 크기(바이트).
중요한 이유: 관리자 엔드포인트에 대한 대규모 POST 본문은 직렬화된 익스플로잇 또는 파일 업로드를 시사. 동일한 URL에 대한 유사한 크기의 다른 POST를 찾을 것.
텍스트: 대규모 페이로드 크기와 스푸핑된 referer를 포함한 ToolPane.aspx를 대상으로 하는 의심스러운 인증되지 않은 POST 요청 — CVE-2025-53770 익스플로잇을 시사.
정의: 일치된 동작을 요약하는 규칙 설명.
중요한 이유: 알림이 발생한 정확한 이유를 설명 — 요청이 인증되지 않았는지, 어떤 페이로드가 전송되었는지, 알려진 익스플로잇 패턴과 일치하는지 확인.
정의: 보호 장치의 응답(예: WAF/방화벽)을 나타냄.
중요한 이유: 허용되었으므로 공격이 호스트에 도달함 — 잠재적 침해로 취급.
즉시 조치:
107.191.58.76)SharePoint01) 조사🔎 요약:
이 알림은 ToolPane.aspx(SharePoint RCE CVE-2025-53770)를 악용하는 인증되지 않은 익스플로잇 시도를 반영합니다. POST 요청에는 대규모 페이로드와 스푸핑된 referer가 포함되어 있어 ToolShell 제로데이 악용 동작과 일치합니다. 장치가 요청을 허용했으므로 반증이 있을 때까지 침해 가능성을 가정하세요. 🟥 심각도: 치명적(Critical)
IIS/WAF에서 ToolPane.aspx에 대한 POST 검색(2025-07-22 13:07 경):
Select-String -Path "C:\inetpub\logs\LogFiles\**\*.log" -Pattern "/_layouts/15/ToolPane.aspx" | Out-File .\IIS_ToolPane_hits.txt
WAF/프록시 또는 패킷 캡처에서 전체 POST 본문을 추출하여 포렌식 공유 폴더에 저장.
웹 루트에서 새로 생성되거나 수정된 ASPX를 검색(웹 셸):
Get-ChildItem "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\**\*.aspx" -Recurse | Sort LastWriteTime -Desc | Select FullName,LastWriteTime
공격자 차단 및 호스트 격리: 경계/WAF에서 107.191.58.76을 차단하고 SharePoint01을 격리(또는 외부 통신 제한)로 이동.
의심 파일을 삭제하지 말 것 — 먼저 포렌식 사본을 만들 것.
Microsoft SharePoint는 협업 및 문서 관리 플랫폼입니다.
보안 파일 저장소, 버전 관리, 인트라넷 포털을 제공하며 Active Directory, Teams, Outlook, Power BI와 통합됩니다.
Microsoft SharePoint Server의 안전하지 않은 역직렬화를 악용하는 치명적인 인증되지 않은 RCE 취약점.
공격자는 이를 사용하여:
🧮 CVSS 점수: 9.8 (치명적)
📡 악용: 실제 환경에서 활발히 악용 중
소스 IP: 107.191.58.76
🧩 결과: 보안 벤더 95개 중 15개가 악성으로 플래그했습니다.

AbuseIPDB를 통해 확인 — IP와 연관된 활동:

Talos Intelligence를 통해 확인 — IP/서브넷 특성:
*.vultrusercontent.com
Endpoint Security에서 호스트 SharePoint01을 찾았습니다.
의심스러운 명령이 있는지 터미널 히스토리를 검토했습니다.

이 로그는 13:07:11에 SharePoint 애플리케이션 풀에서 PowerShell 프로세스가 실행되어 Base64로 인코딩된 명령을 실행했음을 보여줍니다. 부모 프로세스는 services.exe였으며 공격은 SharePoint 디렉터리를 대상으로 했습니다. 이는 SharePoint 서버 내에서 ToolShell 악용 및 원격 코드 실행이 발생했다는 명확한 지표입니다.