Наша падраздзяленне расследаванняў у вобласці ИБ нядаўна вяло справу аб амаль цалкам заражанай криптомайнинговым вірусам сеткі ў адной з кампаній сярэдняга памеру. Аналіз
сабраных узораў шкоднаснага ПА паказаў, што была знойдзена новая мадыфікацыя
такіх вірусаў, якая атрымала назву
Агляд даследавання
- Кампанія Varonis выявіла буйнамаштабнае заражэнне криптомайнерами: практычна ўсе серверы і працоўныя станцыі ў кампаніі былі інфікаваныя такім ПЗ
- Пачынаючы з першапачатковага заражэння, якое адбылося больш за год таму, колькасць мадыфікацый і інфікаваных прылад пастаянна павялічвалася
- Выяўлены намі новы від криптомайнера Monero (Norman) выкарыстоўвае розныя спосабы ўтойвання яго ад аналізу ахоўным ПЗ, каб пазбегнуць выяўленні
- Большасць варыянтаў шкоднаснага ПА выкарыстоўвалі DuckDNS (бясплатную службу Dynamic DNS) для злучэнняў з цэнтрам кіравання (C&C серверамі), а таксама для атрымання параметраў канфігурацыі ці адпраўкі новых дадзеных
- Norman - высокапрадукцыйны майнер криптовалюты Monero на аснове майнера з адкрытым зыходным кодам - XMRig
- У нас пакуль няма бясспрэчных доказаў сувязі криптомайнеров з інтэрактыўным PHP-шелом. Аднак, ёсць важкія прычыны меркаваць, што іх крыніцай з'яўляецца адзін і той жа зламыснік. Даследчыкі праводзяць збор дадатковых доказаў наяўнасці або адсутнасці такой сувязі.
- У дадзеным артыкуле вы можаце азнаёміцца з рэкамендацыямі кампаніі Varonis адносна абароны ад выдаленых вэб-шеллов і криптомайнеров
расследаванне
Расследаванне пачалося падчас чарговага пілотнага праекту
кібербяспекі Varonis
Заказчык адразу ж звярнуў увагу на тое, што прылады, ідэнтыфікаваныя нашай Платформай,
прыналежылі тым жа карыстачам, якія нядаўна паведамлялі аб збоях у працы прыкладанняў і запаволенні працы сеткі.
Наша каманда ўручную даследавала асяроддзе заказчыка, пераходзячы ад адной інфікаванай станцыі да іншай у адпаведнасці з абвесткамі, згенераванымі Платформай Varonis. Каманда рэагавання на інцыдэнты ж распрацавала спецыяльнае правіла ў
Інфікаваныя вузлы былі выяўлены дзякуючы выкарыстаным імі зваротам да DuckDNS, службу Dynamic DNS, якая дазваляе сваім карыстачам ствараць свае даменныя імёны і аператыўна супастаўляць іх з зменлівымі IP-адрасамі. Як было паказана вышэй, асноўная частка шкоднаснага ПА у рамках інцыдэнту звярталася да DuckDNS для злучэнняў з цэнтрам кіравання (C&C), іншая - для атрымання параметраў канфігурацыі ці адпраўкі новых дадзеных.
Шкоднасным ПА былі заражаныя амаль усе серверы і кампутары. У асноўным, прымяняліся
распаўсюджаныя варыянты криптомайнеров. Іншымі шкоднасамі былі таксама сродкі стварэння дампаў пароляў, PHP-шелы, пры гэтым шэраг прылад працаваў ужо на працягу некалькіх гадоў.
Мы падалі атрыманыя вынікі замоўцу, выдалілі шкоднаснае ПА з іх асяроддзя, і спынілі далейшае заражэнне.
Сярод усіх выяўленых узораў крыптамайнераў асабняком стаяў адзін. Яго мы назвалі Норман.
Сустракайце! Norman. Крыптамайнер
Norman уяўляе сабой высокапрадукцыйны майнер криптовалюты Monero на аснове кода XMRig. У адрозненне ад іншых знойдзеных узораў майнер, Norman выкарыстоўвае спосабы ўтойвання яго ад аналізу ахоўным ПА, каб пазбегнуць выяўлення і прадухілення далейшага распаўсюджвання.
На першы погляд, гэта шкоднаснае ПЗ з'яўляецца звычайным майнерам, які хаваецца пад імем svchost.exe. Тым не менш, даследаванне паказала, што ў ім ужываюцца цікавейшыя метады ўтойвання ад выяўлення і падтрыманні працы.
Працэс разгортвання дадзенага шкоднаснага ПЗ можна падзяліць на тры этапы:
- выкананне;
- укараненне;
- майнінг.
Пакрокавы аналіз
Этап 1. Выкананне
Першы этап пачынаецца з выкананага файла svchost.exe.
Шкоднаснае ПА кампілюецца з дапамогай NSIS (Nullsoft Scriptable Install System), што з'яўляецца незвычайным. NSIS уяўляе сабой сістэму з адкрытым зыходным кодам, якая выкарыстоўваецца для стварэння ўсталёўшчыкаў Windows. Як і SFX, дадзеная сістэма стварае архіў файлаў і файл сцэнара, які выконваецца падчас працы ўсталёўшчыка. Файл сцэнара паведамляе праграме, якія файлы трэба запускаць, і можа ўзаемадзейнічаць з іншымі файламі ў архіве.
Заўвага: Каб атрымаць файл сцэнара NSIS з выкананага файла, неабходна выкарыстоўваць 7zip версіі 9.38, бо ў пазнейшых версіях дадзеная функцыя не рэалізаваная.
Архіваванае NSIS шкоднаснае ПЗ утрымоўвае наступныя файлы:
- CallAnsiPlugin.dll, CLR.dll - модулі NSIS для выкліку функцый. NET DLL;
- 5zmjbxUIOVQ58qPR.dll - галоўная DLL-бібліятэка карыснай нагрузкі;
- 4jy4sobf.acz, es1qdxg2.5pk, OIM1iVhZ.txt - файлы карыснай нагрузкі;
- Retreat.mp3, Cropped_controller_config_controller_i_lb.png - проста файлы, ніяк не звязаныя з далейшай шкоднаснай дзейнасцю.
Каманда з файла сцэнара NSIS, якая запускае карысныя дадзеныя, прыводзіцца ніжэй.
Шкоднае ПЗ выконваецца шляхам выкліку функцыі 5zmjbxUIOVQ58qPR.dll, якая прымае іншыя файлы ў якасці параметраў.
Этап 2. Укараненне
Файл 5zmjbxUIOVQ58qPR.dll - гэта асноўная карысная нагрузка, што вынікае з прыведзенага вышэй сцэнара NSIS. Хуткі аналіз метададзеных паказаў, што DLL-бібліятэка першапачаткова звалася Norman.dll, таму мы і назвалі яго так.
Файл DLL распрацаваны на .NET і абаронены ад рэверс-інжынірынгу трохразовай абфускацыяй
з дапамогай шырока вядомага камерцыйнага прадукта Agile. NET Obfuscator.
У ходзе выканання задзейнічаецца шмат аперацый укаранення самаўкаранення ў свой жа працэс, а таксама і ў іншыя працэсы. У залежнасці ад разраднасці АС шкоднаснае ПЗ будзе
выбіраць розныя шляхі да сістэмных тэчак і запускаць розныя працэсы.
На падставе шляху да сістэмнай тэчкі шкоднаснае ПЗ будзе выбіраць розныя працэсы для запуску.
Укараняемая карысная нагрузка мае дзве асноўныя функцыі: выкананне криптомайнера і прадухіленне выяўлення.
Калі АС 64-хбітная
Пры выкананні зыходнага файла svchosts.exe (файла NSIS) ён стварае новы ўласны працэс і ўкараняе ў яго карысную нагрузку (1). Неўзабаве пасля гэтага ён запускае notepad.exe або explorer.exe, і ўкараняе ў яго криптомайнер (2).
Пасля гэтага зыходны файл svchost.exe завяршае працу, а новы файл svchost.exe выкарыстоўваецца ў якасці праграмы, якая назірае за працай працэсу майнера.
Калі АС 32-хбітная
Падчас выканання арыгінальнага файла svchosts.exe (файла NSIS) ён дублюе ўласны працэс і ўкараняе ў яго карысную нагрузку, як і ў 64-разрадным варыянце.
У дадзеным выпадку шкоднаснае ПЗ укараняе карысную нагрузку ў карыстацкі працэс explorer.exe. Ужо з яго шкоднасны код запускае новы працэс (wuapp.exe ці vchost.exe), і ўкараняе ў яго майнер.
Шкоднае ПЗ хавае факт укаранення ў explorer.exe, перазапісваючы ўкаранёны раней код шляхам да wuapp.exe і пустымі значэннямі.
Як і ў выпадку выканання ў 64-х разрадным асяроддзі, зыходны працэс svchost.exe завяршае працу, а другі выкарыстоўваецца для паўторнага ўкаранення шкоднаснага кода ў explorer.exe, калі працэс будзе завершаны карыстачом.
У канцы алгарытму выканання шкоднаснае ПА заўсёды ўкараняе криптомайнер у які запускаецца ім легітымны працэс.
Яно спраектавана так, каб прадухіляць выяўленне шляхам завяршэння працы майнера, пры запуску карыстальнікам Дыспетчара задач.
Звярніце ўвагу, што пасля запуску Дыспетчара задач завяршаецца працэс wuapp.exe.
Пасля зачынення дыспетчара задач шкоднаснае ПЗ ізноў запускае працэс wuapp.exe і зноў
укараняе ў яго майнер.
Этап 3. Майнер
Разгледзім майнер XMRig, згаданы вышэй.
Шкоднаснае ПА укараняе замаскіраваную UPX версію майнера ў notepad,exe, explorer.exe,
svchost.exe ці wuapp.exe, у залежнасці ад разраднасці АС і стадыі алгарытму выканання.
Загаловак PE у майнеры быў выдалены, і на скрыншоце ніжэй мы можам убачыць, што ён замаскіраваны з дапамогай UPX.
Пасля стварэння дампа і перазборкі выкананага файла нам атрымалася яго запусціць:
Варта адзначыць, што доступ да мэтавага XMR-сайта забаронены, што эфектыўна нейтралізуе гэты майнер.
Канфігурацыя майнера:
"url": "pool.minexmr.com:5555","user":
"49WvfokdnuK6ojQePe6x2M3UCD59v3BQiBszkuTGE7wmNJuyAvHM9ojedgxMwNx9tZA33P84EeMLte7t6qZhxNHqHyfq9xA","pass":"x"
Загадкавы PHP-шел, які перадае дадзеныя ў C&C
У ходзе гэтага расследавання нашы спецыялісты па фарэнзіцы выявілі файл XSL, які прыцягнуў іх увагу. Пасля глыбокага аналізу ўзору быў выяўлены новы PHP-шел, які ўвесь час падлучаецца да цэнтра кіравання (C&C серверу).
На некалькіх серверах у асяроддзі замоўца быў знойдзены файл XSL, які запускаецца вядомым выкананым файлам Windows (mscorsv.exe) з тэчкі ў каталогу sysWOW64.
Тэчка шкоднаснага ПА звалася AutoRecover і ўтрымоўвала некалькі файлаў:
- файл XSL: xml.XSL
- дзевяць файлаў DLL
Выконваныя файлы:
- Mscorsv.exe
- Wmiprvse.exe
Файл XSL
Файлы XSL - гэта табліцы стыляў, падобныя на табліцы, якія выкарыстоўваюцца ў CSS, у якіх апісваецца як адлюстроўваць XML-дакумент.
Выкарыстоўваючы Нататнік, мы ўсталявалі, што насамрэч гэта быў не файл XSL, а абфусціраваны Zend Guard код PHP. Гэты цікавы факт дазволіў выказаць здагадку, што гэта
карысная нагрузка шкоднаснага ПЗ, зыходзячы з алгарытму яго выканання.
Дзевяць бібліятэк DLL
Першапачатковы аналіз файла XSL дазволіў зрабіць выснову, што наяўнасць такой колькасці
бібліятэк DLL мае пэўны сэнс. У асноўнай тэчцы знаходзіцца DLL пад імем php.dll і тры іншыя бібліятэкі, злучаныя з SSL і MySQL. У падтэчках спецыялісты знайшлі чатыры бібліятэкі PHP і адну бібліятэку Zend Guard. Усе яны з'яўляюцца легітымнымі, і атрыманы з усталявальнага пакета PHP ці як вонкавыя dll.
На дадзеным этапе і было зроблена меркаванне аб тым, што шкоднаснае ПЗ створана на аснове PHP і абфусцавана Zend Guard.
Выконваныя файлы
Таксама ў гэтай тэчцы прысутнічалі два выкананых файла: Mscorsv.exe і Wmiprvse.exe.
Прааналізаваўшы файл mscorsv.exe, мы ўстанавілі, што ён не быў падпісаны карпарацыяй Майкрасофт, хоць яго параметр ProductName меў значэнне «Microsoft. Net Framework».
Спачатку гэта проста падалося дзіўным, але аналіз Wmiprvse.exe дазволіў лепш зразумець сітуацыю.
Файл Wmiprvse.exe таксама не быў падпісаны, але змяшчаў абазначэнне аўтарскіх правоў PHP group і значок PHP. Пры беглым праглядзе ў яго радках былі знойдзены каманды з даведкі па PHP. Пры ім выкананні з ключом -version было выяўлена, што гэта выкананы файл, прызначаны для запуску Zend Guard.
Пры аналагічным запуску mscorsv.exe на экран выводзіліся тыя ж дадзеныя. Мы параўналі двайковыя дадзеныя двух гэтых файлаў і ўбачылі, што яны ідэнтычныя, за выключэннем метададзеных
Copyright і Company Name/Product Name.
На гэтай падставе была зроблена выснова, што файл XSL утрымоўвае код PHP, які запускаецца з выкарыстаннем выкананага файла Zend Guard, утоенага пад імем mscorsv.exe.
Разбор файла XSL
Скарыстаўшыся пошукам у Інтэрнэт, спецыялісты хутка атрымалі сродак для дэабфускацыі Zend Guard і аднавілі зыходны від файла xml.XSL:
Аказалася, што само шкоднаснае ПЗ уяўляе сабой PHP-шел, які ўвесь час падключаецца да цэнтра кіравання (C&C серверу).
Каманды і выходныя дадзеныя, якія ён адпраўляе і атрымлівае, з'яўляюцца шыфраванымі. Паколькі мы атрымалі зыходны код, у нас былі як ключ шыфраваньня, так і каманды.
Дадзенае шкоднаснае ПА утрымоўвае наступную ўбудаваную функцыянальнасць:
- Eval - звычайна выкарыстоўваецца для мадыфікацыі існуючых зменных у кодзе
- Лакальная запіс файла
- Магчымасці працы з БД
- Магчымасці працы з PSEXEC
- Утоенае выкананне
- Супастаўленне працэсаў і службаў
Наступная зменная дазваляе выказаць здагадку, што ў шкоднаснага ПЗ ёсць некалькі версій.
Пры зборы ўзораў былі выяўлены наступныя версіі:
- 0.5f
- 0.4p
- 0.4o
Адзінай функцыяй забеспячэння сталай прысутнасці шкоднаснага ПЗ у сістэме з'яўляецца тое, што пры выкананні яно стварае службу, якая выконвае сябе саму, а яе імя
змяняецца ад версіі да версіі.
Спецыялісты паспрабавалі знайсці ў Інтэрнэце падобныя ўзоры і выявілі шкоднаснае ПЗ,
якое, на іх погляд, было папярэдняй версіяй наяўнага ўзору. Змест тэчкі быў падобным, але файл XSL адрозніваўся, і ў ім быў указаны іншы нумар версіі.
Парле-Ву Малвар?
Магчыма, радзімай гэтага шкоднаснага ПЗ з'яўляецца Францыя ці іншая франкамоўная краіна: у файле SFX меліся каментары на французскай мове, якія паказваюць на тое, што аўтар выкарыстоўваў французскую версію WinRAR для яго стварэння.
Больш за тое, некаторыя зменныя і функцыі ў кодзе таксама былі названыя па-французску.
Назіранне за выкананнем і чаканне новых каманд
Адмыслоўцы мадыфікавалі код шкоднаснага ПА, і бяспечна запусцілі ўжо змененую
версію, каб сабраць інфармацыю аб камандах, якія яно атрымлівала.
Па канчатку першага сеансу сувязі адмыслоўцы ўбачылі, што шкоднаснае ПА атрымлівае каманду, закадаваную з дапамогай Base64, як аргумент для ключа запуску EVAL64.
Дадзеная каманда дэкадуецца і выконваецца. Яна змяняе некалькі ўнутраных зменных (памеры буфераў чытання і запісы), пасля чаго шкоднаснае ПЗ уваходзіць у працоўны цыкл чакання каманд.
На дадзены момант новыя каманды не паступалі.
Інтэрактыўны PHP-шелл і криптомайнер: ці звязаныя яны паміж сабой?
Адмыслоўцы Varonis не ўпэўненыя, ці злучаны Norman з PHP-шелом, бо існуюць важкія аргументы як "за", так і "супраць" дадзенай здагадкі:
Чаму яны могуць быць звязаны
- Ні адзін з узораў шкоднаснага криптомайнингового ПА не меў магчымасцяў самастойнага распаўсюджвання на іншыя сістэмы, хоць яны былі знойдзены на розных прыладах у розных сеткавых сегментах. Не выключана, што зламыснік заражаў кожны вузел асобна (магчыма, з выкарыстаннем таго ж вектара нападу, што і пры заражэнні «нулявога пацыента»), хоць і было б больш эфектыўна выкарыстоўваць PHP-шел для распаўсюджвання па сетцы, якая стала мэтай атакі.
- Буйнамаштабныя таргетаваныя аўтаматызаваныя кампаніі, накіраваныя супраць канкрэтнай арганізацыі, часта пакідаюць пры сваёй рэалізацыі тэхнічныя артэфакты або распазнаныя сляды пагроз кібербяспекі. У дадзеным выпадку нічога падобнага не было знойдзена.
- Як Norman, так і PHP-шел выкарыстоўвалі сэрвіс DuckDNS.
Чаму яны могуць быць не звязаны
- Паміж варыянтамі шкоднаснага ПА для криптомайнинга і PHP-шеллом няма ніякіх тэхнічных падабенстваў. Шкоднасны криптомайнер створаны на C++, а шелл - на PHP. Таксама, у структуры кода няма падабенстваў, і сеткавыя функцыі рэалізаваны па-рознаму.
- Паміж варыянтамі шкоднаснага ПЗ і PHP-шелом няма ніякага прамога ўзаемадзеяння для абмену дадзенымі.
- У іх няма агульных каментароў распрацоўшчыкаў, файлаў, метададзеных або лічбавых адбіткаў.
Тры рэкамендацыі па абароне ад выдаленых шеллов
Шкоднае ПЗ, для працы якога патрабуюцца каманды з цэнтра кіравання (C&C сервераў), не падобныя на звычайныя вірусы. Яго дзеянні не гэтак прадказальныя і, будуць хутчэй падобныя на выкананыя без аўтаматызаваных сродкаў або скрыптоў дзеянні хакера ці пентэстара. Таму, выяўленне гэтых нападаў без сігнатур шкоднаснага ПА з'яўляецца больш складанай задачай, чым звычайнае антывіруснае сканаванне.
Ніжэй прыведзены тры рэкамендацыі па абароне кампаній ад выдаленых шеллов:
- Своечасова абнаўляйце ўсё праграмнае забеспячэнне
Зламыснікі часта выкарыстоўваюць уразлівасці ў праграмным забеспячэнні і аперацыйных сістэмах для распаўсюджвання па сетцы арганізацыі і пошуку якія цікавяць дадзеных з мэтай іх
крадзяжы. Своечасовая ўстаноўка выпраўленняў істотна зніжае рызыку такіх пагроз. - Адсочвайце анамальныя падзеі доступу да дадзеных
Хутчэй за ўсё, зламыснікі будуць спрабаваць вывесці канфідэнцыйныя даныя арганізацыі за перыметр. Маніторынг анамальных падзей доступу да гэтых дадзеных дазволіць
выявіць скампраметаваных карыстачоў і ўвесь набор тэчак і файлаў, якія фактычна маглі патрапіць у рукі зламыснікам, а не проста лічыць такімі ўсе даступныя гэтым карыстачам дадзеныя. - Адсочвайце сеткавы трафік
Дзякуючы выкарыстанню брандмаўэра і/ці проксі-сервера можна выяўляць і блакаваць шкоднасныя падлучэнні да цэнтраў кіравання шкоднасным ПА (C&C серверам), што не дазволіць зламыснікам выконваць каманды і абцяжарыць задачу высновы.
дадзеных за перыметр.
Заклапочаныя пытаннем шэрага майнінгу? Шэсць рэкамендацый па абароне:
- Своечасова абнаўляйце ўсе аперацыйныя сістэмы
Кіраванне выпраўленнямі мае вельмі вялікае значэнне для прадухілення неправамоцнага выкарыстання рэсурсаў, і заражэння шкоднасным ПЗ. - Кантралюйце сеткавы трафік і вэб-проксі
Рабіце гэта для выяўлення некаторых нападаў, а для прадухілення іх часткі можна блакаваць трафік на аснове інфармацыі аб шкоднасных даменах ці абмяжоўваць непатрэбныя каналы перадачы дадзеных. - Выкарыстоўвайце і падтрымлівайце ў працоўным стане антывірусныя рашэнні і ахоўныя сістэмы канчатковых прылад. (але ні ў якім разе не абмяжоўвайце сябе выкарыстаннем толькі гэтага пласта абароны).
Прадукты на канчатковых прыладах дазваляюць выяўляць шырока вядомыя криптомайнеры і прадухіляць заражэнні да таго, як будзе нанесены ўрон прадукцыйнасці сістэм і выкарыстанню электраэнергіі. Варта мець у выглядзе, што новыя мадыфікацыі ці новыя спосабы перашкаджэння выяўленню могуць быць чыннікам таго, што сродкі бяспекі на канчатковых прыладах не выявяць новыя версіі таго ж шкоднаснага ПА. - Кантралюйце актыўнасць ЦП кампутараў
Як правіла, криптомайнеры выкарыстоўваюць для майнінгу цэнтральны працэсар кампутара. Неабходна аналізаваць любыя паведамленні аб зніжэнні прадукцыйнасці ("У мяне стаў тармазіць кампутар."). - Кантралюйце DNS на прадмет незвычайнага выкарыстання сэрвісаў Dynamic DNS (падобных да DuckDNS)
Нягледзячы на тое, што DuckDNS і іншыя сэрвісы Dynamic DNS самі па сабе не нясуць шкоды для сістэмы, выкарыстанне DuckDNS шкоднасным ПА спрасціла выяўленне інфікаваных вузлоў для задзейнічаных намі ў расследаванні каманд адмыслоўцаў.
- Распрацуйце план рэагавання на інцыдэнты
Пераканайцеся, што ў вас ёсць неабходныя апісаныя працэдуры для падобных інцыдэнтаў, якія дазваляюць аўтаматычна выяўляць, абмяжоўваць і ўстараняць пагрозу шэрага криптомайнинга.
Заўвага для заказчыкаў Varonis.
Крыніца: habr.com