Мы працягваем серыю артыкулаў, прысвечаных аналізу шкоднаснага праграмнага забеспячэння. У
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, у працэс якога ажыццяўляўся інжект.
Узаемадзеянне з C&C
Незалежна ад выкарыстоўванага метаду сеткавае ўзаемадзеянне пачынаецца з атрымання вонкавага IP ахвяры з дапамогай рэсурсу
Далей апісаны метады сеткавага ўзаемадзеяння, прадстаўленыя ў УПА.
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}
Параметр тып паказвае на тып паведамлення:
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 мае выгляд:
Загаловак ліста мае агульны выгляд: <ІМЯ КАРЫСТАЛЬНІКА>/<ІМЯ КАМПУТАРА> <ТЫП КАНТЭНТА>. Змест ліста, як і яго ўкладанні, не шыфруюцца.
Узаемадзеянне ідзе па ftp-пратаколу. На ўказаны сервер перадаецца файл з імем <ТЫП КАНТЭНТА>_<ІМЯ КАРЫСТАЛЬНІКА>-<ІМЯ КАМПУТАРА>_<ДАТА І ЧАС>.html. Змесціва файла не шыфруецца.
Алгарытмы шыфравання
У дадзеным кейсе выкарыстоўваюцца наступныя метады шыфравання:
метад 1
Гэты метад выкарыстоўваецца для шыфравання радкоў у асноўным модулі. Для шыфравання прымяняецца алгарытм AES.
На ўваход падаецца шасцізначны дзесятковы лік. Над ім робіцца наступнае пераўтварэнне:
f(x) = (((x >> 2 - 31059) ^ 6380) - 1363) >> 3
Атрыманае значэнне з'яўляецца азначнікам для зашытага масіва дадзеных.
Кожны элемент масіва - паслядоўнасць DWORD. Пры аб'яднанні DWORD атрымліваецца масіў байтаў: першыя 32 байта - ключ шыфравання, далей ідуць 16 байтаў вектара ініцыялізацыі, а пакінутыя байты - зашыфраваныя дадзеныя.
метад 2
Выкарыстоўваецца алгарытм 3DES у рэжыме ECB з дадаткам у цэлых байтах (PKCS7).
Ключ задаецца параметрам %urlkey%, аднак пры шыфраванні выкарыстоўваецца яго MD5-хэш.
Шкоднасны функцыянал
Сэмпл, які вывучаецца, выкарыстоўвае наступныя праграмы для рэалізацыі сваёй шкоднаснай функцыі:
KeyLogger
Пры наяўнасці адпаведнага флага ВПА пры дапамозе WinAPI-функцыі SetWindowsHookEx прызначае свой апрацоўшчык для падзей націску клавіш на клавіятуры. Функцыя апрацоўшчыка пачынаецца з атрымання загалоўка актыўнага акна.
Калі ўсталяваны сцяг выканання фільтрацыі прыкладанняў, вырабляецца фільтраванне ў залежнасці ад зададзенага тыпу:
- імя праграмы шукаецца ў загалоўках акна
- імя праграмы шукаецца ў імя працэсу акна
Далей у лог дадаецца запіс з інфармацыяй аб актыўным акне ў фармаце:
Затым запісваецца інфармацыя аб націснутай клавішы:
клавіша | Запіс |
вяртанне на адну пазіцыю | У залежнасці ад сцяга апрацоўкі клавішы 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 у фармаце:
Калі спрацуе таймер, файл будзе перададзены на сэрвер.
ScreenLogger
З зададзенай перыядычнасцю ВПО стварае здымак экрана ў фармаце Jpeg са значэннем якасць роўным 50 і захоўвае яго ў файл %APPDATA %<Адвольная паслядоўнасць з 10 сімвалаў>.jpg. Пасля перадачы файл выдаляецца.
ClipboardLogger
Калі ўсталяваны адпаведны сцяг, у перахопленым тэксце робяцца замены паводле прыведзенай табліцы.
Пасля гэтага тэкст устаўляецца ў лог:
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%{Адвольнае імя тэчкі}{Імя файла} | Шлях, які выкарыстоўваецца загрузчыкам для замацавання ў сістэме |
Профіль зламысніка
Дзякуючы «зашытым» дадзеным аўтэнтыфікацыі нам удалося атрымаць доступ да каманднага цэнтра.
Гэта дазволіла нам выявіць канчатковую пошту зламыснікаў:
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