2021년 1월,
Microsoft 사의 Exchange에서
취약점이 다수 발견되었습니다.
그 중
CVE-2021-26855와
CVE-2021-27065를
사용하는
ProxyLogon 취약점에 대해
소개하려고 합니다.
# ProxyLogon 취약점이란...
- 개요
이 취약점은
아래 두 가지
CVE 취약점으로
이루어져 있습니다.
CVE-2021-26855(SSRF)
- SSRF 유형의 취약점으로,
사용자 인증 과정(로그인 등) 없이 인증된 사용자 권한(로그인 성공)을 획득할 수 있는 취약점
CVE-2021-27065(Arbitrary File Write)
- 임의의 파일 작성 또는 File Upload 유형의 취약점으로,
인증된 계정에서 공격자가 원하는 위치에 웹 브라우저로 실행 가능한 파일(Webshell)을 생성할 수 있는 취약점
위 두 가지 CVE 취약점을 활용하여,
Exchange 사용 권한이 없는 해커가
Exchange 서버에 Webshell을 업로드하여
서버를 제어할 수 있습니다.
- 취약한 환경
KB5000871 보안 패치가 적용되지 않은
모든 Exchange 서버는 취약합니다.
취약한 환경:
- KB5000871 미적용 Exchange 서버
(Exchange 2013, 2016, 2019 모두 포함)
- KB5000871 보안 패치
아래 주소에서
사용 중인 Exchange 서버를 검색하여
다운 받을 수 있습니다.
https://www.catalog.update.microsoft.com/Search.aspx?q=Exchange%202016
# 취약점 테스트
- 테스트 환경
아래와 같이 환경을 구성하여
테스트를 진행했습니다.
서버 OS: Windows Server 2016
S/W: Microsoft Exchange 2016 cu19
공격자 PC: Windows 10
Exchange 2019를 구하지 못해서
Exchange 2016으로 진행했으며,
Windows Server 2019에는
Exchange 2016이 설치되지 않아서
Windows Server 2016으로 진행했습니다.
(호환성 무엇....)
환경 구성은 아래를 참고하시면 됩니다.
2021.09.02 - [Study/스터디] - [Windows Server 2016+AD+Exchange 2016] AD(Active Directory) 설치
2021.09.03 - [Study/스터디] - [Windows Server 2016+AD+Exchange 2016] Exchange 2016 관리 계정 생성
2021.09.03 - [Study/스터디] - [Windows Server 2016+AD+Exchange 2016] Exchange 2016 설치
- 테스트 진행
Step 1. 공격 PC에서 웹 브라우저로
Exchange의 메일 사서함에 접근할 수 있도록
네트워크를 수정합니다.
Step 2. 공격 PC의 웹 브라우저에서
메일 사서함에 접속하면 비인증 상태이기 때문에
로그인을 요구합니다.
Step 3. 공개된 PoC 코드를 다운받습니다.
아래 PoC 코드는 SSRF 및 Arbitrary File Write
두 가지를 모두 진행하는 코드입니다.
https://github.com/p0wershe11/ProxyLogon
Step 4. 다운 받은 코드를 실행합니다.
서버의 정보 획득과 사용자 인증 우회,
파일 작성 등을 끝낸 후
주소를 반환합니다.
Step 5. 반환된 주소의 파라미터에
Webshell 코드를 포함시켜 접속하면,
서버에서 Webshell 코드가 실행되고
그 결과를 반환합니다.
# 설명은 다음 포스팅에서...
글이 너무 길어져서
여기서는 취약점 소개만 하고
설명은 다음 포스팅에서
이어서 하겠습니다.
관련 글
- 참고 사이트
https://devco.re/blog/2021/08/06/a-new-attack-surface-on-MS-exchange-part-1-ProxyLogon/