Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 1
Нядаўна ў Group-IB звярнулася еўрапейская кампанія-вытворца электрамантажнага абсталявання - яе супрацоўнік атрымаў па пошце падазроны ліст з шкоднасным укладаннем. Ілля Памаранцаў, адмысловец па аналізе шкоднаснага кода CERT Group-IB, правёў дэталёвы аналіз гэтага файла, выявіў тамака шпіёнскую праграму AgentTesla і распавёў, чаго чакаць ад падобнага СПА і чым яно небяспечна.
Гэтым пастом мы адчыняем серыю артыкулаў аб тым, як праводзіць аналіз падобных патэнцыйна небяспечных файлаў, а самых цікаўных чакаем 5 снежня на бясплатны інтэрактыўны вэбінар па тэме. "Аналіз шкоднаснага ПА: разбор рэальных кейсаў". Усе падрабязнасці - пад катом.
Механізм распаўсюджвання
Нам вядома, што шкоднаснае ПЗ патрапіла на машыну ахвяры праз фішынгавыя лісты. Атрымальнік ліста быў, верагодна, пастаўлены ва ўтоеную копію.
Аналіз загалоўкаў паказвае, што адпраўнік ліста быў падроблены. У рэчаіснасці ліст сышло з vps56[.]oneworldhosting[.]com.
У атачы ліста знаходзіцца архіў WinRar qoute_jpeg56a.r15 з шкоднасным выкананым файлам QOUTE_JPEG56A.exe ўнутры.
Экасістэма ВПА
Зараз паглядзім, як выглядае экасістэма доследнага шкоднаснага ПЗ. На схеме ніжэй намалявана яго структура і кірункі ўзаемадзеяння кампанентаў.
Зараз разгледзім кожны з кампанентаў ВПО падрабязней.
загрузнік
Зыходны файл QOUTE_JPEG56A.exe уяўляе сабой адкампіляваны AutoIt v3 скрыпт.
Для абфускацыі зыходнага скрыпту выкарыстоўваўся абфускатар з аналагічнымі. PELock AutoIT-Obfuscator характарыстыкамі.
Дэабфускацыя вырабляецца ў тры этапы:
Зняцце абфускацыі For-If
Перш за ўсё неабходна аднавіць струмень кіравання скрыпту. Заблытванне патоку кіравання (Control Flow Flattening) - адзін з найбольш распаўсюджаных спосабаў абароны бінарнага кода прыкладанняў ад аналізу. Якія заблытваюць пераўтварэнні рэзка павялічваюць працаёмкасць вылучэння і распазнанні алгарытмаў і структур дадзеных.
Аднаўленне радкоў
Для шыфравання радкоў выкарыстоўваюцца дзве функцыі:
gdorizabegkvfca - выконвае Base64-падобнае дэкадаванне
xgacyukcyzxz — просты пабайтавы XOR першага радка з даўжынёй другі
Зняцце абфускацыі BinaryToString и Выконваць
Асноўная нагрузка захоўваецца ў падзеленым выглядзе ў дырэкторыі Шрыфты секцыі рэсурсаў файла.
Для дэшыфроўкі вынятых дадзеных выкарыстоўваецца WinAPI-функцыя CryptDecrypt, а ў якасці ключа прымяняецца сесійны ключ, згенераваны на аснове значэння fZgFiZlJDxvuWatFRgRXZqmNCIyQgMYc.
Дэшыфраваны выкананы файл паступае на ўваход функцыі RunPE, якая ажыццяўляе ProcessInject в RegAsm.exe пры дапамозе ўбудаванага ShellCode (Таксама вядомага як RunPE ShellCode). Аўтарства належыць карыстальніку іспанскага форума indetectables[.]net пад нікам Wardow.
Варта таксама адзначыць, што ў адной з галінак гэтага форума абмяркоўваўся абфускатар для На даху з аналагічнымі выяўленым у працэсе аналізу сэмпла ўласцівасцямі.
Сам ShellCode даволі просты і прыцягвае да сябе ўвагу толькі запазычанай у хакерскай групы AnunakCarbanak. функцыяй хэшавання API-выклікаў.
Нам таксама вядомы выпадкі выкарыстання Frenchy Shellcode розных версій.
Апроч апісанага функцыяналу мы таксама выявілі неактыўныя функцыі:
Блакаванне ручнога завяршэння працэсу ў мэнэджэры задач
Перазапуск даччынага працэсу ў выпадку яго завяршэння
Абыход UAC
Захаванне карыснай нагрузкі ў файл
Дэманстрацыя мадальных вокнаў
Чаканне змены пазіцыі курсора мышы
AntiVM і AntiSandbox
Самазнішчэнне
Выпампоўванне карыснай нагрузкі з сеткі
Нам вядома, што такі функцыянал характэрны для пратэктара. CypherIT, Якім, мяркуючы па ўсім, і з'яўляецца доследны загрузнік.
Асноўны модуль ВПА
Далей коратка апішам асноўны модуль ВПО, а больш падрабязна разгледзім яго ў другім артыкуле. У дадзеным выпадку ён уяўляе сабой дадатак на . NET.
У ходзе аналізу мы выявілі, што выкарыстоўваўся абфускатар. ConfuserEX.
IELibrary.dll
Бібліятэка захоўваецца ў выглядзе рэсурсу асноўнага модуля і з'яўляецца вядомым убудовай для AgentTesla, які дае функцыянал для вымання рознай інфармацыі з браўзэраў Internet Explorer і Edge.
Agent Tesla – гэта модульнае праграмнае забеспячэнне для шпіянажу, якое распаўсюджваецца па мадэлі malware-as-a-service пад выглядам легальнага кейлоггер-прадукта. Agent Tesla здольны здабываць і перадаваць на сервер зламыснікам уліковыя дадзеныя карыстача з браўзэраў, паштовых кліентаў і кліентаў FTP, рэгістраваць дадзеныя буфера абмену, захопліваць экран прылады. На момант аналізу афіцыйны сайт распрацоўшчыкаў быў недаступны.
Пунктам уваходу служыць функцыя GetSavedPasswords класа InternetExplorer.
У цэлым, выкананне кода лінейна і не ўтрымоўвае сродкаў абароны ад аналізу. Увагі заслугоўвае толькі нерэалізаваная функцыя GetSavedCookies. Мабыць, функцыянал плагіна меркавалася пашырыць, але гэта так і не было зроблена.
Замацаванне загрузніка ў сістэме
Вывучым, якім чынам загрузнік замацоўваецца ў сістэме. Доследны экзэмпляр не ажыццяўляе замацавання, аднак у аналагічных падзеях яно адбываецца па наступнай схеме:
У тэчцы З:UsersPublic ствараецца скрыпт Візуальны Бейсик
Прыклад скрыпту:
Змесціва файла загрузніка дапаўняецца нулявым сімвалам і захоўваецца ў тэчку %Temp%<Адвольнае імя тэчкі><Імя файла>
У рэестры ствараецца ключ на аўтазапуск для файла скрыпту HKCUSoftwareMicrosoftWindowsCurrentVersionRun<Імя скрыпту>
Такім чынам, па выніках першай часткі аналізу нам атрымалася ўсталяваць назовы сямействаў усіх кампанентаў які вывучаецца ВПО, разабраць схему заражэння, а таксама атрымаць аб'екты для напісання сігнатур. Мы працягнем разбор гэтага аб'екта ў наступным артыкуле, дзе больш дэталёва разгледзім асноўны модуль AgentTesla. Не прапусціце!
Дарэчы, 5 снежня запрашаем усіх чытачоў на бясплатны інтэрактыўны вэбінар па тэме «Аналіз шкоднаснага ПЗ: разбор рэальных кейсаў», дзе аўтар гэтага артыкула, спецыяліст CERT-GIB, у анлайн-рэжыме пакажа першы этап аналізу СПА – паўаўтаматычную распакоўку сэмплаў на прыкладзе трох рэальных. міні-кейсаў з практыкі, а вы зможаце прыняць удзел у аналізе. Вебінар падыдзе адмыслоўцам, якія ўжо мелі досвед аналізу шкоднасных файлаў. Рэгістрацыя строга з карпаратыўнай пошты: зарэгіструйцеся. Чакаем вас!