Tęsiame straipsnių seriją, skirtą kenkėjiškų programų analizei. IN
Agentas Tesla yra modulinė šnipinėjimo programinė įranga, platinama naudojant kenkėjiškų programų kaip paslaugos modelį, prisidengiant teisėtu klavišų kaupiklio produktu. Agentas Tesla gali išgauti ir perduoti vartotojo kredencialus iš naršyklių, el. pašto programų ir FTP klientų į serverį užpuolikams, įrašyti iškarpinės duomenis ir užfiksuoti įrenginio ekraną. Analizės metu oficiali kūrėjų svetainė nebuvo pasiekiama.
Konfigūracijos failas
Toliau pateiktoje lentelėje nurodyta, kurios funkcijos taikomos jūsų naudojamam pavyzdžiui:
aprašymas | Vertė |
KeyLogger naudojimo vėliavėlė | tiesa |
„ScreenLogger“ naudojimo vėliavėlė | klaidingas |
KeyLogger žurnalo siuntimo intervalas minutėmis | 20 |
„ScreenLogger“ žurnalo siuntimo intervalas minutėmis | 20 |
Backspace klavišų tvarkymo vėliavėlė. Netiesa – tik medienos ruoša. Tiesa – ištrina ankstesnį klavišą | klaidingas |
CNC tipas. Parinktys: smtp, žiniatinklio skydelis, ftp | SMTP |
Gijos aktyvinimo vėliavėlė, skirta užbaigti procesus iš sąrašo „%filter_list%“ | klaidingas |
UAC išjungimo vėliavėlė | klaidingas |
Užduočių tvarkyklės išjungimo vėliavėlė | klaidingas |
CMD išjungimo vėliavėlė | klaidingas |
Paleisti lango išjungimo vėliavėlę | klaidingas |
Registro peržiūros priemonės išjungimo vėliavėlė | klaidingas |
Išjungti sistemos atkūrimo taškų vėliavėlę | tiesa |
Valdymo skydelio išjungimo vėliavėlė | klaidingas |
MSCONFIG išjungimo vėliavėlė | klaidingas |
Pažymėkite, kad išjungtumėte kontekstinį meniu naršyklėje | klaidingas |
Prisegti vėliavėlę | klaidingas |
Pagrindinio modulio kopijavimo kelias prisegiant jį prie sistemos | %startupfolder% %insfolder%%insname% |
Pagrindinio sistemai priskirto modulio atributų „Sistema“ ir „Paslėpta“ nustatymo žyma | klaidingas |
Pažymėkite, kad būtų atliktas pakartotinis paleidimas, kai prisegtas prie sistemos | klaidingas |
Žyma, skirta pagrindiniam moduliui perkelti į laikinąjį aplanką | klaidingas |
UAC apėjimo vėliava | klaidingas |
Registravimo datos ir laiko formatas | yyyy-MM-dd HH:mm:ss |
„KeyLogger“ programos filtro naudojimo žyma | tiesa |
Programos filtravimo tipas. 1 – langų pavadinimuose ieškoma programos pavadinimo 2 – lango proceso pavadinime ieškoma programos pavadinimo |
1 |
Programos filtras | "Facebook" "Twitter" "gmail" "instagramas" "filmas" "skype" "porno" "nulaužti" "WhatsApp" "nesantaika" |
Pagrindinio modulio prijungimas prie sistemos
Jei nustatyta atitinkama vėliavėlė, pagrindinis modulis nukopijuojamas į konfigūracijoje nurodytą kelią, kuris turi būti priskirtas sistemai.
Priklausomai nuo konfigūracijos reikšmės, failui suteikiami atributai „Hidden“ ir „System“.
Automatinį paleidimą teikia du registro filialai:
- HKCU programinė įrangaMicrosoftWindowsCurrentVersionRun%insregname%
- HKCUSOFTWAREMicrosoftWindows CurrentVersionExplorerStartupApprovedRun %insregname%
Kadangi įkrovos įkroviklis įveda į procesą RegAsm, pagrindinio modulio nuolatinės vėliavėlės nustatymas sukelia gana įdomių pasekmių. Užuot nukopijavusi save, kenkėjiška programa prie sistemos pridėjo originalų failą RegAsm.exe, kurio metu buvo atlikta injekcija.
Sąveika su C&C
Nepriklausomai nuo naudojamo metodo, tinklo ryšys prasideda nuo išorinio aukos IP gavimo naudojant šaltinį
Toliau aprašomi programinėje įrangoje pateikti tinklo sąveikos metodai.
žiniatinklio skydelis
Sąveika vyksta per HTTP protokolą. Kenkėjiška programa vykdo POST užklausą su šiomis antraštėmis:
- Vartotojo agentas: Mozilla/5.0 („Windows U“ Windows NT 6.1 ru rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)
- Ryšys: Keep-Alive
- Turinio tipas: Application/x-www-form-urlencoded
Serverio adresas nurodomas pagal reikšmę %PostURL%. Užšifruotas pranešimas siunčiamas parametre «P». Šifravimo mechanizmas aprašytas skyriuje „Šifravimo algoritmai“ (2 metodas).
Perduotas pranešimas atrodo taip:
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}
Parametras tipas nurodo pranešimo tipą:
hwid - MD5 maiša įrašoma iš pagrindinės plokštės serijos numerio ir procesoriaus ID verčių. Greičiausiai naudojamas kaip vartotojo ID.
laikas — skirtas dabartiniam laikui ir datai perduoti.
kompiuterio pavadinimas - apibrėžtas kaip /.
logduomenys - žurnalo duomenys.
Perduodant slaptažodžius, pranešimas atrodo taip:
type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nscreen_link={8}n[passwords]
Toliau pateikiami pavogtų duomenų aprašymai tokiu formatu nclient[]={0}nlink[]={1}naudotojo vardas[]={2}nslaptažodis[]={3}.
SMTP
Sąveika vyksta per SMTP protokolą. Perduotas laiškas yra HTML formatu. Parametras KŪNAS atrodo kaip:
Laiško antraštė turi bendrą formą: / . Laiško turinys, kaip ir jo priedai, nėra šifruojami.
Sąveika vyksta per FTP protokolą. Failas su pavadinimu perkeliamas į nurodytą serverį _-_.html. Failo turinys nėra užšifruotas.
Šifravimo algoritmai
Šiuo atveju naudojami šie šifravimo metodai:
1 metodas
Šis metodas naudojamas šifruoti pagrindinio modulio eilutes. Šifravimui naudojamas algoritmas yra AES.
Įvestis yra šešių skaitmenų dešimtainis skaičius. Jame atliekama ši transformacija:
f(x) = (((x >> 2 – 31059) ^ 6380) – 1363) >> 3
Gauta reikšmė yra įterptųjų duomenų masyvo indeksas.
Kiekvienas masyvo elementas yra seka DWORD. Kai susilieja DWORD gaunamas baitų masyvas: pirmieji 32 baitai yra šifravimo raktas, po to seka 16 baitų inicijavimo vektoriaus, o likę baitai yra užšifruoti duomenys.
2 metodas
Naudotas algoritmas 3DES režimu ECB su užpildu visais baitais (PKCS7).
Raktas nurodomas parametru %urlkey%, tačiau šifravimui naudojama MD5 maiša.
Kenkėjiška funkcija
Tiriamas pavyzdys naudoja šias programas, kad įgyvendintų savo kenkėjišką funkciją:
„KeyLogger“
Jei naudojant WinAPI funkciją yra atitinkama kenkėjiškos programos vėliavėlė Nustatyti WindowsHookEx priskiria savo tvarkyklę klavišų paspaudimo įvykiams klaviatūroje. Valdiklio funkcija prasideda gavus aktyvaus lango pavadinimą.
Jei nustatyta programos filtravimo vėliavėlė, filtravimas atliekamas atsižvelgiant į nurodytą tipą:
- langų pavadinimuose ieškoma programos pavadinimo
- programos pavadinimas ieškomas lango proceso pavadinime
Tada prie žurnalo pridedamas įrašas su informacija apie aktyvų langą tokiu formatu:
Tada įrašoma informacija apie paspaustą klavišą:
Raktas | Įrašai |
Backspace | Priklausomai nuo grįžimo klavišo apdorojimo vėliavėlės: False – {ATGAL} Tiesa – ištrina ankstesnį klavišą |
DIDŽIOSIOS RAIDĖS | {DIDŽIOSIOS RAIDĖS} |
Europos ekonomikos ir socialinių reikalų komiteto | {ESC} |
PslAukštyn | {Į viršų} |
Žemyn | ↓ |
DELETE | {DEL} |
" | " |
F5 | {F5} |
& | & |
F10 | {F10} |
TVĮ | {TAB} |
< | < |
> | > |
Tarpo klavišas | |
F8 | {F8} |
F12 | {F12} |
F9 | {F9} |
ALT + TAB | {ALT+TAB} |
PABAIGA | {GALAS} |
F4 | {F4} |
F2 | {F2} |
CTRL | {CTRL} |
F6 | {F6} |
teisė | → |
Up | ↑ |
F1 | {F1} |
Left | ← |
PslŽemyn | {PageDown} |
įsiuvas | {Įdėti} |
Laimėti | {Laimėjimas} |
NumLock | {NumLock} |
F11 | {F11} |
F3 | {F3} |
PRADŽIA | {NAMAI} |
ENTER | {ENTER} |
ALT + F4 | {ALT+F4} |
F7 | {F7} |
Kitas raktas | Simbolis rašomas didžiosiomis arba mažosiomis raidėmis, atsižvelgiant į CapsLock ir Shift klavišų padėtis |
Nurodytu dažnumu surinktas žurnalas siunčiamas į serverį. Jei perkėlimas nepavyksta, žurnalas išsaugomas faile %TEMP%log.tmp formatu:
Kai laikmatis suveikia, failas bus perkeltas į serverį.
ScreenLogger
Nurodytu dažniu kenkėjiška programa sukuria tokio formato ekrano kopiją Jpeg su prasme Kokybė lygus 50 ir išsaugo jį faile %APPDATA %.jpg. Po perdavimo failas ištrinamas.
ClipboardLogger
Jei nustatyta atitinkama vėliavėlė, perimtame tekste keičiami pagal toliau pateiktą lentelę.
Po to tekstas įterpiamas į žurnalą:
PasswordStealer
Kenkėjiška programa gali atsisiųsti slaptažodžius iš šių programų:
Naršyklės | Pašto klientai | FTP klientai |
chromas | Outlook | FileZilla |
"Firefox" | "Thunderbird" | WS_FTP |
IE/Edge | Foxmail | WinSCP |
"Safari" | „Opera Mail“ | CoreFTP |
Operos naršyklė | IncrediMail | FTP navigatorius |
"Yandex" | Pocomail | FlashFXP |
Comodo | Eudora | SmartFTP |
ChromePlus | Siksnosparnis | FTPCommander |
chromas | Pašto dėžutės | |
Deglas | ClawsMail | |
7Star | ||
Draugas | ||
„BraveSoftware“ | Jabber klientai | VPN klientai |
CentBrowser | Psi/Psi+ | Atidarykite VPN |
Chedot | ||
CocCoc | ||
Elementų naršyklė | Atsisiuntimo vadybininkai | |
„Epic“ privatumo naršyklė | Internet Download Manager | |
Kometa | JDownloader | |
Orbitumas | ||
"Sputnik" | ||
uCozMedia | ||
Vivaldi | ||
SeaMonkey | ||
pulko naršyklė | ||
UC Naršyklė | ||
„BlackHawk“ | ||
„CyberFox“. | ||
Cn | ||
„IceCat“ | ||
Icedragon | ||
Blyškus mėnuo | ||
„WaterFox“. | ||
Falkon naršyklė |
Priešprieša dinaminei analizei
- Funkcijos naudojimas miegas. Leidžia apeiti kai kurias smėlio dėžes pasibaigus laikui
- Gijos sunaikinimas Zona. Identifikatorius. Leidžia paslėpti failo atsisiuntimo iš interneto faktą
- Parametre %filter_list% nurodo procesų, kuriuos kenkėjiška programa nutrauks kas sekundę, sąrašą
- Atsijungimas UAC
- Užduočių tvarkyklės išjungimas
- Atsijungimas CMD
- Lango išjungimas "Bėk"
- Valdymo skydo išjungimas
- Įrankio išjungimas Regedit
- Sistemos atkūrimo taškų išjungimas
- Išjunkite kontekstinį meniu „Explorer“.
- Atsijungimas MSCONFIG
- Apeiti UAC:
Neaktyvios pagrindinio modulio funkcijos
Analizuojant pagrindinį modulį, buvo nustatytos funkcijos, kurios buvo atsakingos už sklaidą tinkle ir pelės padėties sekimą.
Kirminas
Keičiamos laikmenos prijungimo įvykiai stebimi atskiroje gijoje. Prisijungus, kenkėjiška programa su pavadinimu nukopijuojama į failų sistemos šaknį scr.exe, po to ji ieško failų su plėtiniu lnk. Visų komanda lnk pasikeičia į cmd.exe /c paleisti scr.exe&start & išeiti.
Kiekvienam katalogui, esančiam žiniasklaidos šaknyje, suteikiamas atributas "Paslėptas" ir sukuriamas failas su plėtiniu lnk su paslėpto katalogo pavadinimu ir komanda cmd.exe /c paleisti scr.exe&explorer /root,"%CD%" ir išeiti.
MouseTracker
Perėmimo metodas yra panašus į tą, kuris naudojamas klaviatūrai. Ši funkcija vis dar kuriama.
Failų veikla
Kelias | aprašymas |
%Temp%temp.tmp | Yra UAC apėjimo bandymų skaitiklis |
%startupfolder%%insfolder%%insname% | HPE sistemai priskirtinas kelias |
%Temp%tmpG{Dabartinis laikas milisekundėmis}.tmp | Pagrindinio modulio atsarginės kopijos kelias |
%Temp%log.tmp | Žurnalo failas |
%AppData%{Savavališka 10 simbolių seka}.jpeg | Ekrano nuotraukos |
C:UsersPublic{Savavališka 10 simbolių seka}.vbs | Kelias į vbs failą, kurį įkrovos įkroviklis gali naudoti, kad prijungtų prie sistemos |
%Temp%{Pasirinktinis aplanko pavadinimas}{Failo pavadinimas} | Kelias, kurį naudoja įkrovos programa, kad prisijungtų prie sistemos |
Užpuoliko profilis
Dėl užkoduotų autentifikavimo duomenų galėjome pasiekti komandų centrą.
Tai leido mums nustatyti galutinį užpuolikų el. laišką:
junaid[.]in***@gmail[.]com.
Paštu užregistruojamas komandų centro domeno vardas sg***@gmail[.]com.
išvada
Išsamios atakos metu naudotos kenkėjiškos programos analizės metu pavyko nustatyti jos funkcionalumą ir gauti išsamiausią šiai bylai reikšmingų kompromitavimo požymių sąrašą. Suvokus tinklo sąveikos tarp kenkėjiškų programų mechanizmus, buvo galima pateikti rekomendacijas dėl informacijos saugos įrankių veikimo koregavimo, taip pat parašyti stabilias IDS taisykles.
Pagrindinis pavojus Agentas Tesla kaip DataStealer, nes jai nereikia įsipareigoti sistemos ar laukti, kol valdymo komanda atliks savo užduotis. Patekęs į įrenginį, jis iš karto pradeda rinkti privačią informaciją ir perduoda ją CnC. Šis agresyvus elgesys tam tikra prasme yra panašus į išpirkos reikalaujančių programų elgesį, vienintelis skirtumas yra tas, kad pastariesiems net nereikia tinklo ryšio. Jei susidūrėte su šia šeima, išvalę užkrėstą sistemą nuo pačios kenkėjiškos programos, tikrai turėtumėte pakeisti visus slaptažodžius, kurie bent teoriškai galėtų būti išsaugoti vienoje iš aukščiau išvardytų programų.
Žvelgiant į ateitį, tarkime, kad užpuolikai siunčia Agentas Tesla, pradinė įkrovos programa keičiama labai dažnai. Tai leidžia jums likti nepastebėti statinių skaitytuvų ir euristinių analizatorių atakos metu. O šios šeimos polinkis iš karto pradėti savo veiklą sisteminius monitorius daro nenaudingais. Geriausias būdas kovoti su AgentTesla yra išankstinė analizė smėlio dėžėje.
Trečiame šios serijos straipsnyje apžvelgsime kitus naudojamus įkrovos įkroviklius Agentas Tesla, taip pat ištirti jų pusiau automatinio išpakavimo procesą. Nepraleisk!
Maišos
SHA1 |
A8C2765B3D655BA23886D663D22BDD8EF6E8E894 |
8010CC2AF398F9F951555F7D481CE13DF60BBECF |
79B445DE923C92BF378B19D12A309C0E9C5851BF |
15839B7AB0417FA35F2858722F0BD47BDF840D62 |
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
C&C
URL adresas |
sina-c0m[.]icu |
smtp[.]sina-c0m[.]icu |
RegKey
registras |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun{Script name} |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun%insregname% |
HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun%insregname% |
mutexes
Rodiklių nėra.
failai
Failų veikla |
%Temp%temp.tmp |
%startupfolder%%insfolder%%insname% |
%Temp%tmpG{Dabartinis laikas milisekundėmis}.tmp |
%Temp%log.tmp |
%AppData%{Savavališka 10 simbolių seka}.jpeg |
C:UsersPublic{Savavališka 10 simbolių seka}.vbs |
%Temp%{Pasirinktinis aplanko pavadinimas}{Failo pavadinimas} |
Informacija apie pavyzdžius
Vardas | nežinomas |
MD5 | F7722DD8660B261EA13B710062B59C43 |
SHA1 | 15839B7AB0417FA35F2858722F0BD47BDF840D62 |
SHA256 | 41DC0D5459F25E2FDCF8797948A7B315D3CB0753 98D808D1772CACCC726AF6E9 |
Tipas | PE (.NET) |
Dydis | 327680 |
OriginalName | AZZRIDKGGSLTYFUUBCCRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe |
Datos antspaudas | 01.07.2019 |
sudarytojas | VB.NET |
Vardas | IELibrary.dll |
MD5 | BFB160A89F4A607A60464631ED3ED9FD |
SHA1 | 1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
SHA256 | D55800A825792F55999ABDAD199DFA54F3184417 215A298910F2C12CD9CC31EE |
Tipas | PE (.NET DLL) |
Dydis | 16896 |
OriginalName | IELibrary.dll |
Datos antspaudas | 11.10.2016 |
sudarytojas | „Microsoft Linker“ (48.0*) |
Šaltinis: www.habr.com