Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2

Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2
Мы працягваем серыю артыкулаў, прысвечаных аналізу шкоднаснага праграмнага забеспячэння. У першай часткі мы распавядалі, як Ілля Памаранцаў, адмысловец па аналізе шкоднаснага кода CERT Group-IB, правёў дэталёвы аналіз файла, атрыманага па пошце адной з еўрапейскіх кампаній, і выявіў тамака шпіёнскую праграму AgentTesla. У гэтым артыкуле Ілля прыводзіць вынікі паэтапнага аналізу асноўнага модуля. AgentTesla.

Agent Tesla – гэта модульнае праграмнае забеспячэнне для шпіянажу, якое распаўсюджваецца па мадэлі malware-as-a-service пад выглядам легальнага кейлоггер-прадукта. Agent Tesla здольны здабываць і перадаваць на сервер зламыснікам уліковыя дадзеныя карыстача з браўзэраў, паштовых кліентаў і кліентаў FTP, рэгістраваць дадзеныя буфера абмену, захопліваць экран прылады. На момант аналізу афіцыйны сайт распрацоўшчыкаў быў недаступны.

Канфігурацыйны файл

У табліцы ніжэй пералічана, якія функцыянальныя магчымасці прымяняюцца ў выкарыстоўваным сэмпле:

Апісанне Значэнне
Сцяг выкарыстання KeyLogger праўда
Сцяг выкарыстання ScreenLogger ілжывы
Інтэрвал адпраўкі лога KeyLogger у хвілінах 20
Інтэрвал адпраўкі лога ScreenLogger у хвілінах 20
Сцяг апрацоўкі клавішы Backspace. False - толькі лагіраванне. True - сціранне папярэдняй клавішы ілжывы
Тып CnC. Варыянты: smtp, webpanel, ftp SMTP
Сцяг актывацыі патоку для завяршэння працэсаў са спісу "%filter_list%" ілжывы
Сцяг адключэння UAC ілжывы
Сцяг адключэння мэнэджэра задач ілжывы
Сцяг адключэння CMD ілжывы
Сцяг адключэння акна "Выканаць" ілжывы
Сцяг адключэння інструмента прагляду рэестра ілжывы
Сцяг адключэння кропак аднаўлення сістэмы праўда
Сцяг адключэння панэлі кіравання ілжывы
Сцяг адключэння MSCONFIG ілжывы
Сцяг адключэння кантэкстнага меню ў правадніку ілжывы
Сцяг замацавання ў сістэме ілжывы
Шлях для капіравання асноўнага модуля пры замацаванні ў сістэме %startupfolder% %insfolder%%insname%
Сцяг задання атрыбутаў "Сістэмны" і "Утоены" для замацаванага ў сістэме асноўнага модуля ілжывы
Флаг выканання рэстарту пры замацаванні ў сістэме ілжывы
Сцяг перамяшчэння асноўнага модуля ў часовую тэчку ілжывы
Сцяг выканання абыходу UAC ілжывы
Фармат даты і часу для запісу ў лог гггг-мм-дд гг:хх:сс
Сцяг выкарыстання фільтра праграм для KeyLogger праўда
Тып фільтрацыі праграм.
1 – імя праграмы шукаецца ў загалоўках акна
2 – імя праграмы шукаецца ў імені працэсу акна
1
Фільтр праграм facebook,
twitter,
"gmail",
"instagram",
«movie»,
skype,
porn,
"hack",
whatsapp,
"discord"

Замацаванне асноўнага модуля ў сістэме

Калі ўсталяваны які адпавядае сцяг, асноўны модуль капіюецца па шляху, паказанаму ў канфігу як шлях для замацавання ў сістэме.

У залежнасці ад значэння з канфіга файлу даюцца атрыбуты "Утоены" і "Сістэмны".
Аўтазапуск забяспечваецца двума галінамі рэестра:

  • HKCU SoftwareMicrosoftWindowsCurrentVersionRun%insregname%
  • HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun %insregname%

Паколькі загрузнік вырабляе інжект у працэс RegAsm, усталёўка сцяга персіста для асноўнага модуля прыводзіць да даволі цікавых наступстваў. Замест таго, каб скапіяваць само сябе, ВПО замацавала ў сістэме арыгінальны файл RegAsm.exe, у працэс якога ажыццяўляўся інжект.

Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2
Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2

Узаемадзеянне з C&C

Незалежна ад выкарыстоўванага метаду сеткавае ўзаемадзеянне пачынаецца з атрымання вонкавага IP ахвяры з дапамогай рэсурсу checkip[.]amazonaws[.]com/.
Далей апісаны метады сеткавага ўзаемадзеяння, прадстаўленыя ў УПА.

webpanel

Узаемадзеянне ідзе па HTTP-пратаколу. ВПО выконвае POST-запыт з наступнымі загалоўкамі:

  • User-Agent: Mozilla/5.0 (Windows U Windows NT 6.1 be rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)
  • Падключэнне: Keep-Alive
  • Content-Type: application/x-www-form-urlencoded

Адрас сервера задаецца значэннем %PostURL%. Зашыфраванае паведамленне перадаецца ў параметры «P». Механізм шыфравання апісаны ў раздзеле "Алгарытмы шыфравання" (Метад 2).

Перададзенае паведамленне мае наступны выгляд:

type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nclient={8}nlink={9}nusername={10}npassword={11}nscreen_link={12}

Параметр тып паказвае на тып паведамлення:

Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2
hwid - запісваецца MD5-хэш ад значэнняў серыйнага нумара матчынай платы і ID працэсара. Верагодней за ўсё, выкарыстоўваецца ў якасці User ID.
час - служыць для перадачы бягучага часу і даты.
pcname - вызначаецца як <Імя карыстальніка>/<Імя кампутара>.
logdata - Даныя лога.

Пры перадачы пароляў паведамленне мае выгляд:

type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nscreen_link={8}n[passwords]

Далей ідуць апісанні скрадзеных дадзеных у фармаце nclient[]={0}nlink[]={1}nusername[]={2}npassword[]={3}.

SMTP

Узаемадзеянне ідзе па SMTP-пратаколу. Перадаваны ліст мае фармат HTML. Параметр BODY мае выгляд:

Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2
Загаловак ліста мае агульны выгляд: <ІМЯ КАРЫСТАЛЬНІКА>/<ІМЯ КАМПУТАРА> <ТЫП КАНТЭНТА>. Змест ліста, як і яго ўкладанні, не шыфруюцца.

Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2
Узаемадзеянне ідзе па ftp-пратаколу. На ўказаны сервер перадаецца файл з імем <ТЫП КАНТЭНТА>_<ІМЯ КАРЫСТАЛЬНІКА>-<ІМЯ КАМПУТАРА>_<ДАТА І ЧАС>.html. Змесціва файла не шыфруецца.

Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2

Алгарытмы шыфравання

У дадзеным кейсе выкарыстоўваюцца наступныя метады шыфравання:

метад 1

Гэты метад выкарыстоўваецца для шыфравання радкоў у асноўным модулі. Для шыфравання прымяняецца алгарытм AES.

На ўваход падаецца шасцізначны дзесятковы лік. Над ім робіцца наступнае пераўтварэнне:

f(x) = (((x >> 2 - 31059) ^ 6380) - 1363) >> 3

Атрыманае значэнне з'яўляецца азначнікам для зашытага масіва дадзеных.

Кожны элемент масіва - паслядоўнасць DWORD. Пры аб'яднанні DWORD атрымліваецца масіў байтаў: першыя 32 байта - ключ шыфравання, далей ідуць 16 байтаў вектара ініцыялізацыі, а пакінутыя байты - зашыфраваныя дадзеныя.

метад 2

Выкарыстоўваецца алгарытм 3DES у рэжыме ECB з дадаткам у цэлых байтах (PKCS7).

Ключ задаецца параметрам %urlkey%, аднак пры шыфраванні выкарыстоўваецца яго MD5-хэш.

Шкоднасны функцыянал

Сэмпл, які вывучаецца, выкарыстоўвае наступныя праграмы для рэалізацыі сваёй шкоднаснай функцыі:

KeyLogger

Пры наяўнасці адпаведнага флага ВПА пры дапамозе WinAPI-функцыі SetWindowsHookEx прызначае свой апрацоўшчык для падзей націску клавіш на клавіятуры. Функцыя апрацоўшчыка пачынаецца з атрымання загалоўка актыўнага акна.

Калі ўсталяваны сцяг выканання фільтрацыі прыкладанняў, вырабляецца фільтраванне ў залежнасці ад зададзенага тыпу:

  1. імя праграмы шукаецца ў загалоўках акна
  2. імя праграмы шукаецца ў імя працэсу акна

Далей у лог дадаецца запіс з інфармацыяй аб актыўным акне ў фармаце:

Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2
Затым запісваецца інфармацыя аб націснутай клавішы:

клавіша Запіс
вяртанне на адну пазіцыю У залежнасці ад сцяга апрацоўкі клавішы Backspace: False - {BACK}
True - сціранне папярэдняй клавішы
ВЕРХНІ РЭГІСТР {CAPSLOCK}
ESC {ESC}
Page Up {PageUp}
Уніз
ВЫДАЛЕННЕ {DEL}
" "
F5 {F5}
& &
F10 {F10}
TAB {TAB}
< <
> >
Прабел
F8 {F8}
F12 {F12}
F9 {F9}
ALT + TAB {ALT+TAB}
END {END}
F4 {F4}
F2 {F2}
CTRL {CTRL}
F6 {F6}
правы
Up
F1 {F1}
левы
PageDown {PageDown}
Уставіць {Insert}
Выйграць {Win}
NumLock {NumLock}
F11 {F11}
F3 {F3}
ГАЛОЎНАЯ {HOME}
ENTER {ENTER}
ALT + F4 {ALT+F4}
F7 {F7}
Іншая клавіша Сімвал у верхнім або ніжнім рэгістры ў залежнасці ад палажэнняў клавіш CapsLock і Shift

З зададзенай перыядычнасцю сабраны лог адпраўляецца на сервер. Калі перадача аказалася няўдалай, лог захоўваецца ў файл %TEMP%log.tmp у фармаце:

Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2
Калі спрацуе таймер, файл будзе перададзены на сэрвер.

ScreenLogger

З зададзенай перыядычнасцю ВПО стварае здымак экрана ў фармаце Jpeg са значэннем якасць роўным 50 і захоўвае яго ў файл %APPDATA %<Адвольная паслядоўнасць з 10 сімвалаў>.jpg. Пасля перадачы файл выдаляецца.

ClipboardLogger

Калі ўсталяваны адпаведны сцяг, у перахопленым тэксце робяцца замены паводле прыведзенай табліцы.

Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2
Пасля гэтага тэкст устаўляецца ў лог:

Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2

PasswordStealer

ВПО можа вырабляць выгрузку пароляў з наступных прыкладанняў:

Браўзэры Паштовыя кліенты FTP кліенты
хром Прагноз FileZilla
Firefox буравеснік WS_FTP
IE/Edge Foxmail WinSCP
сафары Opera Mail CoreFTP
Opera Browser IncrediMail FTP Navigator
Яндэкс Pocomail FlashFXP
Comodo Eudora SmartFTP
ChromePlus TheBat FTPCommander
Хром Паштовы скрыню
Факел ClawsMail
7Star
Прыяцель
BraveSoftware Jabber кліенты VPN кліенты
CentBrowser Psi/Psi+ Адкрыйце VPN
Чадот
КокКок
Elements Browser Мэнэджары загрузкі
Эпічны браўзэр прыватнасці Internet Download Manager
Камета JDownloader
Арбітум
Спадарожнік
uCozMedia
Вівальдзі
SeaMonkey
Flock Browser
UC Browser
Чорны Ястраб
Кібер Фокс
K-Meleon
ледзяны кот
ледзяны цмок
Бледны месяц
вадзяная ліса
Falkon браўзэр

Процідзеянне дынамічнаму аналізу

  • Выкарыстанне функцыі Спаць. Дазваляе абыйсці па таймаўце некаторыя пясочніцы.
  • Знішчэнне патоку Зона.Ідэнтыфікатар. Дазваляе схаваць факт загрузкі файла з інтэрнэту
  • У параметры %filter_list% задаецца спіс працэсаў, якія ВПО будзе завяршаць з інтэрвалам у адну секунду
  • адключэнне UAС
  • Адключэнне мэнэджара задач
  • адключэнне CMD
  • Адключэнне акна «Выканаць»
  • Адключэнне панэлі кіравання
  • Адключэнне інструмента RegEdit
  • Адключэнне кропак аднаўлення сістэмы
  • Адключэнне кантэкстнага меню ў правадніку
  • адключэнне MSCONFIG
  • Абыход Кантроль уліковых запісаў:

Неактыўныя магчымасці асноўнага модуля

У ходзе аналізу асноўнага модуля былі выяўлены функцыі, якія адказваюць за распаўсюджванне па сетцы і адсочванне становішча мышы.

Чарвяк

У асобным струмені адсочваюцца падзеі падлучэння здымных носьбітаў. Пры падлучэнні ў корань файлавай сістэмы капіюецца ВПО з імем scr.exe, пасля чаго выконваецца пошук файлаў з пашырэннем LNK. Каманда кожнага LNK мяняецца на cmd.exe /c start scr.exe&start <арыгінальная каманда>& exit.

Кожнай дырэкторыі ў корані носьбіта даецца атрыбут «Утоены» і ствараецца файл з пашырэннем LNK з імем схаванай дырэкторыі і камандай cmd.exe /c start scr.exe&explorer /root,»%CD%<ІМЯ ДЫРЭКТОРЫІ>» & exit.

MouseTracker

Метад выканання перахопу аналагічны выкарыстоўванаму для клавіятуры. Гэты функцыянал пакуль знаходзіцца ў распрацоўцы.

Файлавая актыўнасць

Шлях Апісанне
%Temp%temp.tmp Змяшчае лічыльнік спроб абыходу UAC
%startupfolder%%insfolder%%insname% Шлях для замацавання ў сістэме ВПА
%Temp%tmpG{Бягучы час у мілісекундах}.tmp Шлях для бэкапу асноўнага модуля
%Temp%log.tmp Лог-файл
%AppData%{Адвольная паслядоўнасць з 10 сімвалаў}.jpeg Скрыншоты
C:UsersPublic{Адвольная паслядоўнасць з 10 сімвалаў}.vbs Шлях да vbs файла, які загрузнік можа выкарыстоўваць для закрпления ў сістэме
%Temp%{Адвольнае імя тэчкі}{Імя файла} Шлях, які выкарыстоўваецца загрузчыкам для замацавання ў сістэме

Профіль зламысніка

Дзякуючы «зашытым» дадзеным аўтэнтыфікацыі нам удалося атрымаць доступ да каманднага цэнтра.

Яўка правалена: выводны AgentTesla на чыстую ваду. Частка 2
Гэта дазволіла нам выявіць канчатковую пошту зламыснікаў:

junaid[.]in***@gmail[.]com.

Даменнае імя каманднага цэнтра зарэгістравана на пошту sg***@gmail[.]com.

Заключэнне

Падчас дэталёвага аналізу ВПО, які выкарыстоўваўся ў атацы, нам атрымалася ўсталяваць яго функцыянальныя магчымасці і атрымаць найболей поўны спіс індыкатараў кампраметацыі, актуальных для дадзенага кейса. Разуменне механізмаў сеткавага ўзаемадзеяння Малвары дазволіла даць рэкамендацыі па карэкціроўцы працы сродкаў абароны інфармацыі, а таксама напісаць устойлівыя IDS-правілы.

Асноўная небяспека AgentTesla як DataStealer у тым, што для выканання сваіх задач яму не патрабуецца вырабляць замацаванне ў сістэме ці чакаць атрыманні кіравальнай каманды. Пападаючы на ​​машыну, ён неадкладна пачынае збор прыватнай інфармацыі і перадае яе на CnC. Такія агрэсіўныя паводзіны ў некаторым родзе падобна з паводзінамі шыфравальшчыкаў, з той толькі розніцай, што другім не патрабуецца нават наяўнасць сеткавага злучэння. Пры сутыкненні з гэтым сямействам пасля ачысткі заражанай сістэмы ад самага СПА варта ў абавязковым парадку вырабіць змену ўсіх пароляў, якія маглі хаця б тэарэтычна апынуцца захаванымі ў адным з пералічаных вышэй прыкладанняў.

Забягаючы наперад, скажам, што зламыснікі, якія рассылаюць AgentTesla, вельмі часта мяняюць першапачатковы загрузнік. Гэта дазваляе ў момант нападу заставацца незаўважанымі для статычных сканараў і эўрыстычных аналізатараў. А схільнасць гэтага сямейства адразу ж пачынаць сваю дзейнасць робіць бескарыснымі сістэмныя маніторы. Найлепшы спосаб барацьбы з AgentTesla – папярэдні аналіз у пясочніцы.

У трэцім артыкуле гэтага цыклу мы разгледзім іншыя загрузнікі, якія выкарыстоўваюцца AgentTesla, а таксама вывучым працэс іх паўаўтаматычнага распакавання. Не прапусціце!

гашыш

SHA1
A8C2765B3D655BA23886D663D22BDD8EF6E8E894
8010CC2AF398F9F951555F7D481CE13DF60BBECF
79B445DE923C92BF378B19D12A309C0E9C5851BF
15839B7AB0417FA35F2858722F0BD47BDF840D62
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD

C&C

URL
sina-c0m[.]icu
smtp[.]sina-c0m[.]icu

RegKey

рэестр
HKCUSoftwareMicrosoftWindowsCurrentVersionRun{Імя скрыпту}
HKCUSoftwareMicrosoftWindowsCurrentVersionRun%insregname%
HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun%insregname%

Mutex

Індыкатары адсутнічаюць.

файлы

Файлавая актыўнасць
%Temp%temp.tmp
%startupfolder%%insfolder%%insname%
%Temp%tmpG{Бягучы час у мілісекундах}.tmp
%Temp%log.tmp
%AppData%{Адвольная паслядоўнасць з 10 сімвалаў}.jpeg
C:UsersPublic{Адвольная паслядоўнасць з 10 сімвалаў}.vbs
%Temp%{Адвольнае імя тэчкі}{Імя файла}

Samples Info

Імя Невядомы
MD5 F7722DD8660B261EA13B710062B59C43
SHA1 15839B7AB0417FA35F2858722F0BD47BDF840D62
SHA256 41DC0D5459F25E2FDCF8797948A7B315D3CB0753
98D808D1772CACCC726AF6E9
тып PE (.NET)
памер 327680
OrginalName AZZRIDKGGSLTYFUBCCRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe
DateStamp 01.07.2019
Compiler VB.NET

Імя IELibrary.dll
MD5 BFB160A89F4A607A60464631ED3ED9FD
SHA1 1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD
SHA256 D55800A825792F55999ABDAD199DFA54F3184417
215A298910F2C12CD9CC31EE
тып PE (.NET DLL)
памер 16896
OrginalName IELibrary.dll
DateStamp 11.10.2016
Compiler Microsoft Linker(48.0*)

Крыніца: habr.com

Дадаць каментар