마지막으로
ProxyLogon 취약점에 대한
조치 방안 및 분석입니다.
# 보안 패치 KB5000871
Microsoft에서는
ProxyLogon에 대한 보안 패치를
2021-03-12에 공개했습니다.
(LINK: https://www.catalog.update.microsoft.com/Search.aspx?q=Exchange%202016)
# CVE-2021-26855 패치 분석
- 타 사이트 접속 불가
보안 패치를 통해
URI의 Host를 검토하는 코드가
추가됐습니다.
FrontEndHttpProxy.dll - HttpProxy.ProxyRequestHandler
취약점이 발생했던
GetTargetBackEndServerUrl() 메서드는 수정되지 않았으나,
이 메서드로 Back-End site의 주소를 받은 직후
받은 URI의 유효성을 검토하는 코드가
추가되었습니다.
ApplicationLogic.dll - BackEndServer.FromString
BackEndServer.FromString() 메서드 또한
Hostname을 검토하는 코드가 추가되었습니다.
수동 테스트
Proxy Tool인 Burp Suite를 통해 직접 취약점을 테스트한
결과입니다.
URI 검토 코드에 의해 접근이 차단되어
오류페이지로 이동됩니다.
- 인증 우회 불가
FrontEndHttpProxy.dll - HttpProxy.ProxyRequestHandler
GetTargetBackEndServer() 메서드에서
Back-End site의 주소를 받은 이후,
URI 검토를 하면서
동시에 Kerberos 사용자 인증을 하는 코드가
추가되었습니다.
Kerberos 인증이 되지 않은 접근은
이 코드에 의해 차단됩니다.
수동 테스트
Proxy Tool인 Burp Suite를 통해
직접 취약점을 테스트한 결과입니다.
Kerberos 인증 코드에 의해
접근이 차단되며 500 에러 코드를
반환합니다.
# CVE-2021-27065 패치 분석
- 임의의 파일 작성 불가
보안 패치를 통해
파일의 확장자를 검토하는
코드가 추가됐습니다.
ControlPanel.dll - DDIService.WriteFileActivity.Run
생성되는 파일의 확장자를 검토하여
.txt 파일이 아닌 경우,
확장자를 추가하는 코드가 추가되었습니다.
수동 테스트
Proxy Tool인 Burp Suite를 통해
직접 취약점을 테스트한 결과입니다.
파일을 생성했으나 보안 코드에 의해
.txt 확장자가 추가되어
RCE 코드를 실행시킬 수 없습니다.
Step 1) 가상 디렉터리 재설정 시
경로를 변조하여 파일 생성을 시도합니다.
Step 2) 보안 코드에 의해
.txt 확장자가 추가되어
원격 명령을 실행할 수 없는
일반 텍스트 파일이 생성되었습니다.
# 끝
휴 다 썼다.
보안 패치는
항상 최신 버전으로
유지하기
관련 글