April 1, 2021

Как работает уязвимость в Microsoft Exchange Server и как ее используют хакеры

Не­уяз­вимых прог­рамм не быва­ет — эта исти­на извес­тна каж­дому. Но ког­да зло­умыш­ленни­ки отыс­кива­ют в каком‑нибудь соф­те уяз­вимос­ти нулево­го дня, начина­ется веселье: и для поль­зовате­лей, и для раз­работ­чиков, которым при­ходит­ся в авраль­ном режиме заделы­вать обна­ружен­ные бре­ши. А если это про­исхо­дит с очень популяр­ным и широко рас­простра­нен­ным ПО, веселье начина­ет при­обре­тать оттенки дра­мы. Имен­но это и слу­чилось с Microsoft Exchange Server в янва­ре 2021 года.

Од­ной из пер­вых о проб­лемах в Exchange со­общи­ла ком­пания FireEye. По информа­ции вен­дора, от деятель­нос­ти хакеров пос­тра­дало мно­жес­тво аме­рикан­ских ком­мерчес­ких фирм, нес­коль­ко мес­тных орга­нов влас­ти в раз­ных шта­тах, а так­же один из уни­вер­ситетов и даже неназ­ванный иссле­дова­тель­ский центр. Кибер­прес­тупни­ки залива­ли на взло­ман­ные сер­веры Exchange веб‑шел­лы с целью неав­торизо­ван­ного дос­тупа, уда­лен­но выпол­няли код и отклю­чали работа­ющие в сис­теме средс­тва безопас­ности.

Вско­ре в Microsoft под­твер­дили наличие проб­лемы и сооб­щили, что зло­деи исполь­зуют в сво­их зло­дей­ских целях как минимум четыре ранее неиз­вес­тные уяз­вимос­ти нулево­го дня. Для устра­нения которых всем поль­зовате­лям Exchange Server нуж­но сроч­но уста­новить выпущен­ные ими пат­чи. Одна­ко всем извес­тно, что накаты­вание обновле­ний — дело небыс­трое, тре­бующее зна­читель­ных за­пасов пива вре­мен­ных зат­рат, и потому хакеры про­дол­жали рез­вить­ся на взло­ман­ных сер­верах в течение еще нес­коль­ких месяцев. Ата­ки на Exchange понем­ногу пош­ли на спад толь­ко к кон­цу нынеш­него мар­та. В чем же зак­лючались эти уяз­вимос­ти и как их исполь­зовали в сво­их целях зло­умыш­ленни­ки? Давай раз­берем­ся.

ЧТО ПРОИЗОШЛО?

По сооб­щени­ям ана­лити­ков из FireEye, хакеры исполь­зовали нес­коль­ко век­торов ата­ки. Все фай­лы на сер­верах Exchange соз­давались ими от име­ни сис­темной учет­ной записи NT AUTHORITY\SYSTEM, име­ющей в Windows повышен­ные при­виле­гии, а веб‑шел­лы запус­кались про­цес­сом еди­ной служ­бы обме­на сооб­щени­ями Microsoft Exchange UMWorkerProcess.exe. Родите­лем обна­ружен­ных иссле­дова­теля­ми на ском­про­мети­рован­ных сер­верах вре­донос­ных фай­лов ока­зал­ся про­цесс w3wp.exe, отве­чающий за веб‑интерфейс Exchange Server. Иссле­дова­тели из Microsoft приш­ли к выводу, что за все­ми эти­ми инци­ден­тами сто­ит некая хакер­ская груп­па под наз­вани­ем HAFNIUM, которая рань­ше уже была замече­на в ата­ках на аме­рикан­ские обо­рон­ные пред­при­ятия, юри­дичес­кие фир­мы, ана­лити­чес­кие цен­тры и лабора­тории по иссле­дова­нию инфекци­онных заболе­ваний. Пред­полага­ют, что эта груп­па свя­зана с пра­витель­ством Китая, но стоп­роцен­тных доказа­тель­ств это­му, разуме­ется, нет.

Ис­тория началась в янва­ре 2021 года, ког­да раз­работан­ная FireEye служ­ба Mandiant Managed Defense обна­ружи­ла на одном из сер­веров Microsoft Exchange подоз­ритель­ный веб‑шелл. Скрипт с незатей­ливым име­нем help.aspx пытал­ся отыс­кать на сер­вере инс­тру­мен­ты обес­печения безопас­ности FireEye xAgent, CarbonBlack и CrowdStrike Falcon и сох­ранял в жур­нал резуль­тат сво­ей работы.

Фраг­мент скрип­та help.aspx, иллюс­тра­ция FireEye

Шелл был запущен про­цес­сом UMWorkerProcess.exe, который свя­зан со служ­бой еди­ной сис­темы обме­на сооб­щени­ями Microsoft Exchange Server. Для этих целей зло­умыш­ленни­ки вос­поль­зовались уяз­вимостью CVE-2021-26858, которую в Microsoft отнесли к катего­рии сред­ней сте­пени рис­ка.

Спус­тя при­мер­но двад­цать дней хакеры совер­шили новое зло­деяние, залив на сер­вер дру­гой веб‑шелл с име­нем iisstart.aspx. Этот скрипт был обфусци­рован и обла­дал более широким набором фун­кций: он поз­волял выпол­нять про­изволь­ные коман­ды, а так­же прос­матри­вать содер­жимое, уда­лять, заг­ружать на сер­вер и запус­кать фай­лы по желанию ата­кующих. Добить­ся жела­емо­го хакерам уда­лось с исполь­зовани­ем уяз­вимос­тей Microsoft Exchange Server.

Фраг­мент скрип­та iisstart.aspx, иллюс­тра­ция FireEye

Вско­ре ана­лити­ки FireEye обра­тили вни­мание еще на один инци­дент с запус­ком на сер­вере Exchange вре­донос­ного веб‑шел­ла. На сей раз свя­зан­ный с веб‑интерфей­сом Internet Information Server про­цесс w3wp.exe запус­тил коман­дную стро­ку (cmd.exe), а с помощью ее зло­умыш­ленни­ки, в свою оче­редь, сох­ранили на диск некий файл. Этим фай­лом ока­зал­ся небезыз­вес­тный инс­тру­мент China Chopper Web Shell, которым дав­но и успешно поль­зуют­ся китай­ские хакеры. Неболь­шой фай­лик весом все­го лишь 4 Кбайт откры­вает взлом­щикам дос­туп к фай­ловой сис­теме и базам дан­ных ском­про­мети­рован­ного сер­вера. По боль­шому сче­ту он пред­став­ляет собой ком­пак­тный бэк­дор, которым мож­но уда­лен­но управлять с помощью прос­той ути­литы с инту­итив­но понят­ным гра­фичес­ким интерфей­сом.

Ути­лита управле­ния China Chopper име­ет удоб­ный гра­фичес­кий интерфейс

Кро­ме того, иссле­дова­тели уста­нови­ли, что в обо­их этих слу­чаях ата­кующие уда­ляли поль­зовате­ля administrator из груп­пы Exchange Organization administrators кон­трол­лера домена, к которо­му при­над­лежал ата­кован­ный сер­вер. Делалось это при помощи коман­ды net group "Exchange Organization administrators" administrator /del /domain. Если Exchange Server был раз­вернут в одно­ран­говой сети без под­клю­чения к AD, коман­да выпол­нялась локаль­но.

Вы­ясни­лось, что пос­ле успешно­го взло­ма хакеры исполь­зовали сле­дующие виды пос­тэкс­плу­ата­ции:

  • кра­жа учет­ных дан­ных поль­зовате­лей с помощью дам­па памяти про­цес­са LSASS;
  • ис­поль­зование оснасток Exchange PowerShell для экспор­та поль­зователь­ских поч­товых ящи­ков;
  • ис­поль­зование инс­тру­мен­тов Covenant, Nishang и PowerCat для уда­лен­ного дос­тупа к взло­ман­ному сер­веру.

Всю добытую информа­цию зло­деи упа­ковы­вали с помощью архи­вато­ра 7zip и бла­гопо­луч­но ска­чива­ли со взло­ман­ных узлов. Ины­ми сло­вами, на началь­ном эта­пе основной целью ата­кующих был сбор информа­ции на ском­про­мети­рован­ных сер­верах и хищение кон­фиден­циаль­ной поль­зователь­ской информа­ции.

РАССЛЕДОВАНИЕ

Тща­тель­ное изу­чение этих атак началось сра­зу с нес­коль­ких сто­рон: с одной сто­роны рас­копки воз­гла­вила ком­пания FireEye, инс­тру­мен­ты безопас­ности которой пер­выми и зафик­сирова­ли угро­зу, с дру­гой за лопаты взя­лись экспер­ты из кор­порации Microsoft, авторс­тву которой при­над­лежит уяз­вимый Exchange Server. Чуть поз­же к про­цес­су под­клю­чилась ESET.

Ис­сле­дова­тели уста­нови­ли, что, помимо HAFNIUM, к взло­мам с исполь­зовани­ем уяз­вимос­тей Exchange Server могут быть при­час­тны и дру­гие хакер­ские груп­пы китай­ско­го про­исхожде­ния — LuckyMouse, Tick и Calypso. Кибер­зло­деи выпол­няли серию атак с исполь­зовани­ем цепоч­ки уяз­вимос­тей CVE-2021-26855, CVE-2021-26857, CVE-2021-26858 и CVE-2021-27065, конеч­ной целью которых ста­нови­лось уда­лен­ное выпол­нение кода без про­вер­ки под­линнос­ти. Эта цепоч­ка получи­ла общее наиме­нова­ние ProxyLogon. На одном из взло­ман­ных сер­веров ана­лити­ки обна­ружи­ли целых два раз­ных веб‑шел­ла, из чего сде­лали вывод, что сер­вер ломали с помощью одних и тех же уяз­вимос­тей две незави­симые груп­пы хакеров, исполь­зующие для пос­тэкс­плу­ата­ции раз­ный инс­тру­мен­тарий.

Од­ним из харак­терных приз­наков ком­про­мета­ции было появ­ление в сис­теме подоз­ритель­ных про­цес­сов, родите­лем которых выс­тупа­ет про­цесс еди­ной служ­бы обме­на сооб­щени­ями Exchange UMWorkerProcess.exe. Кро­ме того, сле­ды втор­жения могут быть обна­руже­ны в жур­налах событий при­ложе­ний Windows, пос­коль­ку исполь­зование ошиб­ки десери­али­зации в уяз­вимос­ти CVE-2021-26857 при­водит к регис­тра­ции оши­бок служ­бы еди­ной сис­темы обме­на сооб­щени­ями MSExchange. В этих же жур­налах мож­но поис­кать события, свя­зан­ные с запус­ком cmd.exe или кон­соли PowerShell про­цес­сом фрон­тенда IIS C:\Windows \System32\inetsrv\w3wp.exe. В свою оче­редь, уяз­вимость CVE-2021-26858 исполь­зовалась зло­умыш­ленни­ками для уда­ления фай­лов на сер­вере, в основном — став­ших ненуж­ными скрип­тов веб‑шел­лов пос­ле успешной уста­нов­ки полез­ной наг­рузки в виде бэк­доров.

Ес­ли сер­вер уже был взло­ман, сле­ды при­сутс­твия на нем зло­умыш­ленни­ков мож­но было обна­ружить с помощью Sysmon, если поис­кать подоз­ритель­ные фай­лы в неп­ривыч­ных мес­тах. Для кра­жи поль­зователь­ских учет­ных дан­ных зло­деи соз­давали дамп памяти LSASS с помощью ути­литы коман­дной стро­ки ProcDump, вызов которой так­же мож­но отсле­дить в логах или с помощью Sysmon:

norm_id=WindowsSysmon label="Process" label=Create

command IN ["* -ma lsass*"]

Для экспор­та дан­ных поч­товых ящи­ков поль­зовате­лей Exchange Server ата­кующие исполь­зовали оснас­тку Exchange PowerShell, запуск которой лег­ко опре­делить, отсле­живая события соз­дания про­цес­са в Sysmon или про­ана­лизи­ровав жур­нал событий:

norm_id=WindowsSysmon label="Process" label=Create

image IN ["*\cmd.exe", "*\powershell.exe", "*\powershell_ise.exe"] command="*Add-PSSnapin Microsoft.Exchange.Powershell.Snapin*"

Ес­ли на сер­вере не отклю­чен Windows Defender, появ­ляет­ся воз­можность опре­делить вре­донос­ную активность при обна­руже­нии исполь­зуемых ата­кующи­ми скрип­тов и полез­ной наг­рузки, которые Defender детек­тиру­ет сле­дующим обра­зом:

  • Exploit:Script/Exmann.A!dha;
  • Behavior:Win32/Exmann.A;
  • Backdoor:ASP/SecChecker.A;
  • Backdoor:JS/Webshell;
  • Trojan:JS/Chopper!dha;
  • Behavior:Win32/DumpLsass.A!attk;
  • Backdoor:HTML/TwoFaceVar.B.

В целом вырисо­выва­лась сле­дующая кар­тина. Зло­деи отправ­ляли на сер­вер спе­циаль­ным обра­зом сфор­мирован­ный HTTP-зап­рос и бла­года­ря уяз­вимос­ти CVE-2021-26855 авто­ризо­вались на сер­вере. Затем с помощью осталь­ных трех уяз­вимос­тей ата­кующие залива­ли на сер­вер веб‑шелл в виде фай­ла .aspx, который запус­кался про­цес­сами w3wp.exe или UMWorkerProcess.exe. Эти скрип­ты, имев­шие в раз­ных слу­чаях взло­ма раз­ные име­на, сох­ранялись в пап­ку %temp% и запус­кались от име­ни при­виле­гиро­ван­ной сис­темной учет­ной записи NT AUTHORITY\SYSTEM. Получив веб‑шелл, ата­кующие получа­ли дос­туп к коман­дной стро­ке или кон­соли PowerShell в кон­тек­сте про­цес­са w3wp.exe, а затем сох­раняли на диск и запус­кали полез­ную наг­рузку, в качес­тве которой выс­тупали раз­личные бэк­доры, а так­же широко извес­тные Cobalt Strike и BEACON. В качес­тве пос­ледне­го шага зло­умыш­ленни­ки уда­ляли за собой фай­лы скрип­тов.

Об­щая схе­ма ата­ки на Exchange Server

ПОСЛЕДСТВИЯ

В Microsoft незамед­литель­но выпус­тили зап­латки для всех обна­ружен­ных уяз­вимос­тей, которые хакеры исполь­зовали для атак на сер­веры Microsoft Exchange. Одна­ко, пос­коль­ку уста­нов­ка обновле­ний — дело не мгно­вен­ное, а информа­ция о дырах в безопас­ности Exchange Server быс­тро раз­летелась по все­му интерне­ту, поиск и взлом неп­ропат­ченных сер­веров вско­ре прев­ратил­ся в подобие весело­го спор­тивно­го сос­тязания. Хакеры не толь­ко кра­ли поль­зователь­ские дан­ные, на ском­про­мети­рован­ные сер­веры уста­нав­ливали тро­ян‑май­нер DLTminer и дру­гие вре­донос­ные прог­раммы.

Сре­ди пос­тра­дав­ших ока­зались такие орга­низа­ции, как Ев­ропей­ское бан­ков­ское управле­ние, Минис­терс­тво тру­да и соци­аль­ных дел в Чехии и поч­товые отде­ления в Пра­ге. Мас­ла в огонь под­лило и то обсто­ятель­ство, что в начале мар­та незави­симый иссле­дова­тель из Вьет­нама опуб­ликовал на GitHub рабочий proof-of-concept экс­пло­ита для это­го набора уяз­вимос­тей. Бук­валь­но на сле­дующий день этот экс­пло­ит был уда­лен с сай­та, но оса­дочек остался интернет, как извес­тно, пом­нит все, что однажды ока­залось в пуб­личном дос­тупе.

Вско­ре к май­нерам добавил­ся тро­ян‑шиф­роваль­щик DearCry, который хакеры начали запус­кать на взло­ман­ных сер­верах. В начале мар­та пос­тра­дав­ших ком­паний нас­читыва­лось шсть (в Авс­тра­лии, Авс­трии, Дании, Канаде и США), но затем их чис­ло начало рас­ти. К пер­вому вымога­телю до­бавил­ся энко­дер Black Kingdom, шиф­ровав­ший фай­лы на сер­вере и тре­бовав­ший за дешиф­ровку выкуп в раз­мере 10 тысяч дол­ларов.

Пос­коль­ку положе­ние с уяз­вимос­тями ProxyLogon выг­лядит серь­езно и устра­шающе, кор­порация Microsoft выпус­тила не толь­ко об­новле­ния безопас­ности для Exchange Server, но и ис­прав­ления для ста­рых вер­сий Exchange. Кро­ме того, инже­неры Microsoft под­готови­ли спе­циаль­ный скрипт PowerShell, пред­назна­чен­ный для про­вер­ки сер­веров Exchange на наличие веб‑шел­лов и извес­тных инди­като­ров ком­про­мета­ции.

Тем не менее кар­тина по‑преж­нему оста­ется без­радос­тной. Сог­ласно об­щедос­тупным дан­ным, в нас­тоящий момент в интерне­те работа­ет более 282 тысяч сер­веров Microsoft Exchange, и мно­гие из них по‑преж­нему оста­ются уяз­вимыми. До тех пор пока сис­темные адми­нис­тра­торы не уста­новят на все уяз­вимые сер­веры необ­ходимый набор обновле­ний, взло­мы, ско­рее все­го, будут про­дол­жать­ся, а жур­нал «Хакер» будет радовать сво­их читате­лей но­вос­тями об оче­ред­ных инци­ден­тах, свя­зан­ных с исполь­зовани­ем зло­умыш­ленни­ками ProxyLogon.