Nastavljamo našu seriju članaka posvećenih analizi zlonamjernog softvera. IN
Agent Tesla je modularni špijunski softver koji se distribuira pomoću modela malware-as-a-service pod maskom legitimnog proizvoda za keylogger. Agent Tesla je sposoban da izvlači i prenosi korisničke akreditive iz pretraživača, email klijenata i FTP klijenata na server napadačima, snima podatke međuspremnika i snima ekran uređaja. U vrijeme analize, službena web stranica programera nije bila dostupna.
Konfiguracioni fajl
Tabela u nastavku navodi koja se funkcionalnost primjenjuje na uzorak koji koristite:
Opis | vrijednost |
Oznaka upotrebe KeyLoggera | istinski |
Oznaka upotrebe ScreenLoggera | lažan |
KeyLogger interval slanja dnevnika u minutama | 20 |
ScreenLogger interval slanja dnevnika u minutama | 20 |
Zastavica za rukovanje tipkom Backspace. Netačno – samo evidentiranje. Tačno – briše prethodni ključ | lažan |
CNC tip. Opcije: smtp, webpanel, ftp | smtp |
Oznaka za aktivaciju niti za završetak procesa sa liste “%filter_list%” | lažan |
UAC zastavica onemogućavanja | lažan |
Task manager disable flag | lažan |
CMD zastavica onemogućavanja | lažan |
Pokreni oznaku onemogućavanja prozora | lažan |
Registry Viewer Disable Flag | lažan |
Onemogućite oznaku tačaka vraćanja sistema | istinski |
Zastavica za onemogućavanje kontrolne table | lažan |
MSCONFIG zastavica onemogućavanja | lažan |
Označite da biste onemogućili kontekstni meni u Exploreru | lažan |
Pin flag | lažan |
Putanja za kopiranje glavnog modula kada se prikače na sistem | %startupfolder% %insfolder%%insname% |
Oznaka za postavljanje atributa “System” i “Hidden” za glavni modul koji je dodijeljen sistemu | lažan |
Označite za ponovno pokretanje kada je zakačeno na sistem | lažan |
Oznaka za premještanje glavnog modula u privremenu mapu | lažan |
UAC zaobilaznica | lažan |
Format datuma i vremena za evidentiranje | gggg-MM-dd HH:mm:ss |
Oznaka za korištenje programskog filtera za KeyLogger | istinski |
Vrsta filtriranja programa. 1 – naziv programa se traži u naslovima prozora 2 – naziv programa se traži u nazivu procesa prozora |
1 |
Programski filter | "facebook" "twitter" "gmail" "instagram" "film" "skype" "porno" "hack" "whatsapp" "razdor" |
Priključivanje glavnog modula na sistem
Ako je odgovarajuća zastavica postavljena, glavni modul se kopira na stazu navedenu u konfiguraciji kao stazu koja će biti dodijeljena sistemu.
Ovisno o vrijednosti iz konfiguracije, datoteci se daju atributi “Skriveni” i “Sistem”.
Autorsko pokretanje obezbjeđuju dvije grane registra:
- HKCU softverMicrosoftWindowsCurrentVersionRun%insregname%
- HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun %insregname%
Pošto se bootloader ubacuje u proces RegAsm, postavljanje perzistentne zastavice za glavni modul dovodi do prilično zanimljivih posljedica. Umjesto da sam sebe kopira, zlonamjerni softver je priložio originalnu datoteku sistemu RegAsm.exe, tokom kojeg je izvršena injekcija.
Interakcija sa C&C
Bez obzira na metodu koja se koristi, mrežna komunikacija počinje dobijanjem eksterne IP adrese žrtve pomoću resursa
U nastavku su opisane metode mrežne interakcije predstavljene u softveru.
webpanel
Interakcija se odvija preko HTTP protokola. Zlonamjerni softver izvršava POST zahtjev sa sljedećim zaglavljima:
- Korisnički agent: 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)
- Veza: Keep-Alive
- Content-Type: application/x-www-form-urlencoded
Adresa servera je određena vrijednošću %PostURL%. Šifrovana poruka se šalje u parametru «P». Mehanizam šifriranja je opisan u odjeljku "Algoritmi šifriranja" (Metoda 2).
Poslana poruka izgleda ovako:
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}
Parametar tip označava vrstu poruke:
hwid — MD5 hash se snima iz vrijednosti serijskog broja matične ploče i ID-a procesora. Najvjerovatnije se koristi kao User ID.
vrijeme — služi za prenos trenutnog vremena i datuma.
pcname - definisano kao /.
logdata — podaci dnevnika.
Prilikom slanja lozinki, poruka izgleda ovako:
type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nscreen_link={8}n[passwords]
Slijede opisi ukradenih podataka u formatu nclient[]={0}nlink[]={1}korisničko ime[]={2}npassword[]={3}.
smtp
Interakcija se odvija preko SMTP protokola. Poslano pismo je u HTML formatu. Parametar BODY izgleda kao:
Zaglavlje pisma ima opšti oblik: / . Sadržaj pisma, kao i njegovi prilozi, nisu šifrirani.
Interakcija se odvija preko FTP protokola. Datoteka sa imenom se prenosi na navedeni server _-_.html. Sadržaj datoteke nije šifriran.
Algoritmi šifriranja
Ovaj slučaj koristi sljedeće metode šifriranja:
1 metoda
Ova metoda se koristi za šifriranje stringova u glavnom modulu. Algoritam koji se koristi za šifriranje je AES.
Ulaz je šesterocifreni decimalni broj. Na njemu se vrši sljedeća transformacija:
f(x) = (((x >> 2 - 31059) ^ 6380) - 1363) >> 3
Rezultirajuća vrijednost je indeks za ugrađeni niz podataka.
Svaki element niza je niz DWORD. Prilikom spajanja DWORD dobija se niz bajtova: prva 32 bajta su ključ za šifrovanje, zatim 16 bajtova inicijalizacionog vektora, a preostali bajtovi su šifrovani podaci.
2 metoda
Korišćen algoritam 3DES u režimu ECB sa dopunom u cijelim bajtovima (PKCS7).
Ključ je specificiran parametrom %urlkey%, međutim, enkripcija koristi svoj MD5 hash.
Zlonamjerna funkcionalnost
Uzorak koji se proučava koristi sljedeće programe za implementaciju svoje zlonamjerne funkcije:
key logger
Ako postoji odgovarajuća oznaka zlonamjernog softvera pomoću funkcije WinAPI SetWindowsHookEx dodeljuje sopstveni rukovalac za događaje pritiska na tastere na tastaturi. Funkcija rukovatelja počinje dobivanjem naslova aktivnog prozora.
Ako je postavljena zastavica filtriranja aplikacije, filtriranje se izvodi ovisno o navedenom tipu:
- naziv programa se traži u naslovima prozora
- ime programa se traži u nazivu procesa prozora
Zatim se u dnevnik dodaje zapis s informacijama o aktivnom prozoru u formatu:
Zatim se snima informacija o pritisnutom tasteru:
Ključ | rekord |
Backspace | Ovisno o zastavici za obradu tipke Backspace: False – {BACK} Tačno – briše prethodni ključ |
CAPSLOCK | {CAPSLOCK} |
ITD | {ITD} |
Page Up | {PageUp} |
dole | ↓ |
DELETE | {DEL} |
" | " |
F5 | {F5} |
& | & |
F10 | {F10} |
TAB | {TAB} |
< | < |
> | > |
Prostor | |
F8 | {F8} |
F12 | {F12} |
F9 | {F9} |
ALT + TAB | {ALT+TAB} |
END | {END} |
F4 | {F4} |
F2 | {F2} |
CTRL | {CTRL} |
F6 | {F6} |
u pravu | → |
Up | ↑ |
F1 | {F1} |
lijevo | ← |
PageDown | {PageDown} |
Ubacite | {Insert} |
pobijediti | {Pobjeda} |
Numlock | {NumLock} |
F11 | {F11} |
F3 | {F3} |
HOME | {DOM} |
ENTER | {ENTER} |
ALT + F4 | {ALT+F4} |
F7 | {F7} |
Drugi ključ | Znak je napisan velikim ili malim slovima u zavisnosti od položaja tastera CapsLock i Shift |
Na određenoj frekvenciji, prikupljeni dnevnik se šalje na server. Ako prijenos ne uspije, dnevnik se pohranjuje u datoteku %TEMP%log.tmp u formatu:
Kada se tajmer aktivira, datoteka će biti prebačena na server.
ScreenLogger
Na određenoj frekvenciji, zlonamjerni softver kreira snimak ekrana u formatu Jpeg sa značenjem Kvalitet jednako 50 i pohranjuje ga u datoteku %APPDATA %.jpg. Nakon prijenosa, datoteka se briše.
clipboardlogger
Ako je postavljena odgovarajuća zastavica, zamjene se vrše u presretnutom tekstu prema donjoj tabeli.
Nakon ovoga, tekst se ubacuje u dnevnik:
Password Stealer
Zlonamjerni softver može preuzeti lozinke sa sljedećih aplikacija:
Preglednici | Klijenti e-pošte | FTP klijenti |
Chrome | izgledi | FileZilla |
Firefox | velika ptica nalik orlu | WS_FTP |
IE/Edge | fox mail | WinSCP |
safari | Opera Mail | CoreFTP |
Opera Browser | IncrediMail | FTP Navigator |
Yandex | Pocommail | FlashFXP |
comodo | Eudora | SmartFTP |
ChromePlus | TheBat | FTCommander |
hrom | Postbox | |
baklja | ClawsMail | |
7Star | ||
Prijatelj | ||
BraveSoftware | Jabber klijenti | VPN klijenti |
CentBrowser | Psi/Psi+ | Otvorite VPN |
Chedot | ||
CocCoc | ||
Elements Browser | Download Manageri | |
Epski pretraživač privatnosti | Internet Download Manager | |
Comet | JDownloader | |
orbitum | ||
sputnjik | ||
uCozMedia | ||
Vivaldi | ||
SeaMonkey | ||
Flock Browser | ||
UC Browser | ||
BlackHawk | ||
Cyber Fox | ||
K-Meleon | ||
ice cat | ||
icedragon | ||
PaleMoon | ||
waterfox | ||
Falcon Browser |
Opozicija dinamičkoj analizi
- Korištenje funkcije san. Omogućava vam da zaobiđete neke sandboxove do isteka vremena
- Uništavanje niti Area.Identify. Omogućava vam da sakrijete činjenicu preuzimanja datoteke s Interneta
- U parametru %filter_list% specificira listu procesa koje će zlonamjerni softver prekinuti u intervalima od jedne sekunde
- Isključivanje UAC
- Onemogućavanje upravitelja zadataka
- Isključivanje CMD
- Onemogućavanje prozora «Vypolnitʹ»
- Onemogućavanje kontrolne table
- Onemogućavanje alata RegEdit
- Onemogućavanje tačaka vraćanja sistema
- Onemogućite kontekstni meni u Exploreru
- Isključivanje MSCONFIG
- Bypass UAC:
Neaktivne karakteristike glavnog modula
Tokom analize glavnog modula identifikovane su funkcije koje su bile odgovorne za širenje po mreži i praćenje položaja miša.
crv
Događaji za povezivanje prenosivih medija se prate u posebnoj niti. Kada je povezan, zlonamjerni softver s imenom kopira se u korijen sistema datoteka scr.exe, nakon čega traži datoteke sa ekstenzijom lijevo. Svačiji tim lijevo promene u cmd.exe /c start scr.exe&start i izađi.
Svaki direktorij u korijenu medija dobiva atribut "Skriveno" i kreira se datoteka sa ekstenzijom lijevo sa imenom skrivenog direktorija i naredbom cmd.exe /c pokrenite scr.exe&explorer /root,"%CD%" i izađite.
MouseTracker
Metoda za presretanje je slična onoj koja se koristi za tastaturu. Ova funkcionalnost je još uvijek u razvoju.
Aktivnost datoteke
putanja | Opis |
%Temp%temp.tmp | Sadrži brojač za pokušaje zaobilaženja UAC-a |
%startupfolder%%insfolder%%insname% | Putanja koja se dodjeljuje HPE sistemu |
%Temp%tmpG{Trenutno vrijeme u milisekundama}.tmp | Putanja za sigurnosnu kopiju glavnog modula |
%Temp%log.tmp | Log fajl |
%AppData%{Proizvoljna sekvenca od 10 znakova}.jpeg | Snimke ekrana |
C:UsersPublic{Proizvoljna sekvenca od 10 znakova}.vbs | Putanja do vbs datoteke koju bootloader može koristiti za povezivanje sa sistemom |
%Temp%{Naziv prilagođenog foldera}{Naziv fajla} | Putanja koju koristi pokretač za povezivanje sa sistemom |
Profil napadača
Zahvaljujući tvrdo kodiranim podacima za autentifikaciju, uspjeli smo pristupiti komandnom centru.
To nam je omogućilo da identifikujemo konačan email napadača:
junaid[.]u***@gmail[.]com.
Ime domene komandnog centra je registrovano na mail sg***@gmail[.]com.
zaključak
Tokom detaljne analize zlonamjernog softvera korištenog u napadu, uspjeli smo utvrditi njegovu funkcionalnost i dobiti najkompletniju listu indikatora kompromitovanja relevantnih za ovaj slučaj. Razumijevanje mehanizama mrežne interakcije između malvera omogućilo je davanje preporuka za prilagođavanje rada alata za sigurnost informacija, kao i pisanje stabilnih IDS pravila.
Glavna opasnost AgentTesla poput DataStealer-a po tome što ne mora da se obaveže na sistem ili da čeka kontrolnu komandu da izvrši svoje zadatke. Kada se nađe na mašini, ona odmah počinje da prikuplja privatne informacije i prenosi ih u CnC. Ovo agresivno ponašanje je na neki način slično ponašanju ransomware-a, s jedinom razlikom što potonji čak i ne zahtijevaju mrežnu vezu. Ako naiđete na ovu porodicu, nakon čišćenja zaraženog sistema od samog malvera, svakako biste trebali promijeniti sve lozinke koje bi, barem teoretski, mogle biti sačuvane u nekoj od gore navedenih aplikacija.
Gledajući unaprijed, recimo da napadači šalju AgentTesla, početni boot loader se vrlo često mijenja. To vam omogućava da ostanete neprimijećeni od strane statičkih skenera i heurističkih analizatora u vrijeme napada. A tendencija ove porodice da odmah započne svoje aktivnosti čini sistemske monitore beskorisnim. Najbolji način za borbu protiv AgentTesle je preliminarna analiza u sandboxu.
U trećem članku ove serije pogledat ćemo druge korištene bootloadere AgentTesla, kao i proučavanje procesa njihovog poluautomatskog raspakivanja. Ne propustite!
smjesa
SHA1 |
A8C2765B3D655BA23886D663D22BDD8EF6E8E894 |
8010CC2AF398F9F951555F7D481CE13DF60BBECF |
79B445DE923C92BF378B19D12A309C0E9C5851BF |
15839B7AB0417FA35F2858722F0BD47BDF840D62 |
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
C&C
URL |
sina-c0m[.]icu |
smtp[.]sina-c0m[.]icu |
RegKey
registar |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun{Naziv skripte} |
HKCUSoftverMicrosoftWindowsCurrentVersionRun%insregname% |
HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun%insregname% |
mutexes
Nema indikatora.
Files
Aktivnost datoteke |
%Temp%temp.tmp |
%startupfolder%%insfolder%%insname% |
%Temp%tmpG{Trenutno vrijeme u milisekundama}.tmp |
%Temp%log.tmp |
%AppData%{Proizvoljna sekvenca od 10 znakova}.jpeg |
C:UsersPublic{Proizvoljna sekvenca od 10 znakova}.vbs |
%Temp%{Naziv prilagođenog foldera}{Naziv fajla} |
Informacije o uzorcima
Ime | nepoznat |
MD5 | F7722DD8660B261EA13B710062B59C43 |
SHA1 | 15839B7AB0417FA35F2858722F0BD47BDF840D62 |
SHA256 | 41DC0D5459F25E2FDCF8797948A7B315D3CB0753 98D808D1772CACCC726AF6E9 |
tip | PE (.NET) |
veličina | 327680 |
OriginalName | AZZRIDKGGSLTYFUUBCCRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe |
DateStamp | 01.07.2019 |
Kompajler | VB.NET |
Ime | IELibrary.dll |
MD5 | BFB160A89F4A607A60464631ED3ED9FD |
SHA1 | 1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
SHA256 | D55800A825792F55999ABDAD199DFA54F3184417 215A298910F2C12CD9CC31EE |
tip | PE (.NET DLL) |
veličina | 16896 |
OriginalName | IELibrary.dll |
DateStamp | 11.10.2016 |
Kompajler | Microsoft Linker (48.0*) |
izvor: www.habr.com