Nastavljamo seriju članaka posvećenih analizi zlonamjernog softvera. U
Agent Tesla modularni je softver za špijuniranje koji se distribuira pomoću modela malware-as-a-service pod krinkom legitimnog keylogger proizvoda. Agent Tesla može izvući i prenijeti korisničke vjerodajnice iz preglednika, klijenata e-pošte i FTP klijenata na poslužitelj napadačima, snimati podatke međuspremnika i snimati zaslon uređaja. U vrijeme analize službena web stranica programera bila je nedostupna.
Konfiguracijska datoteka
Tablica u nastavku navodi koje se funkcije odnose na uzorak koji koristite:
Opis | Vrijednost |
Oznaka korištenja KeyLoggera | istinski |
Oznaka korištenja ScreenLoggera | lažan |
Interval slanja zapisnika KeyLoggera u minutama | 20 |
Interval slanja dnevnika ScreenLogger u minutama | 20 |
Oznaka za rukovanje povratnom tipkom. False – samo bilježenje. Istina – briše prethodni ključ | lažan |
CNC tip. Opcije: smtp, webpanel, ftp | smtp |
Oznaka aktivacije niti za prekid procesa s popisa “%filter_list%” | lažan |
Oznaka onemogućavanja UAC-a | lažan |
Oznaka onemogućavanja upravitelja zadataka | lažan |
Oznaka onemogućavanja CMD-a | lažan |
Oznaka onemogućavanja pokretanja prozora | lažan |
Oznaka onemogućavanja preglednika registra | lažan |
Oznaka Onemogući točke vraćanja sustava | istinski |
Oznaka onemogućavanja upravljačke ploče | lažan |
Oznaka onemogućavanja MSCONFIG-a | lažan |
Označite za onemogućavanje kontekstnog izbornika u Exploreru | lažan |
Prikvači zastavu | lažan |
Staza za kopiranje glavnog modula prilikom pričvršćivanja na sustav | %startupfolder% %insfolder%%insname% |
Zastavica za postavljanje atributa "Sustav" i "Skriveno" za glavni modul dodijeljen sustavu | lažan |
Oznaka za izvođenje ponovnog pokretanja kada je prikvačen na sustav | lažan |
Oznaka za premještanje glavnog modula u privremenu mapu | lažan |
UAC zastavica premosnice | lažan |
Format datuma i vremena za bilježenje | gggg-MM-dd HH:mm:ss |
Oznaka za korištenje programskog filtra za KeyLogger | istinski |
Vrsta programskog filtriranja. 1 – naziv programa se traži u naslovima prozora 2 – naziv programa se traži u nazivu procesa prozora |
1 |
Filtar programa | "facebook" "cvrkut" "gmail" "instagram" "film" "skype" "porno" "hack" "što ima" "razdor" |
Spajanje glavnog modula na sustav
Ako je odgovarajuća zastavica postavljena, glavni modul se kopira na stazu navedenu u konfiguraciji kao stazu koja se dodjeljuje sustavu.
Ovisno o vrijednosti iz konfiguracije, datoteka dobiva atribute "Skriveno" i "Sustav".
Autorun osiguravaju dvije grane registra:
- HKCU softver Microsoft WindowsCurrentVersionRun%insregname%
- HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun %insregname%
Budući da bootloader ubacuje u proces RegAsm, postavljanje trajne zastavice za glavni modul dovodi do prilično zanimljivih posljedica. Umjesto da se kopira, zlonamjerni softver priložio je izvornu datoteku sustavu RegAsm.exe, tijekom kojeg je izvršeno ubrizgavanje.
Interakcija s C&C
Bez obzira na metodu koja se koristi, mrežna komunikacija počinje dobivanjem vanjskog IP-a žrtve koja koristi resurs
Sljedeće opisuje metode mrežne interakcije predstavljene u softveru.
web panel
Interakcija se odvija putem 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 poslužitelja određena je vrijednošću %PostURL%. Šifrirana poruka šalje se u parametru «P». Mehanizam šifriranja opisan je 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 vrsta označava vrstu poruke:
hwid — MD5 hash se bilježi iz vrijednosti serijskog broja matične ploče i ID-a procesora. Najvjerojatnije se koristi kao korisnički ID.
vrijeme — služi za prijenos trenutnog vremena i datuma.
pcname - definirano kao /.
logpodaci — podaci iz 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}nusername[]={2}npassword[]={3}.
smtp
Interakcija se odvija putem SMTP protokola. Poslano pismo je u HTML formatu. Parametar TIJELO izgleda kao:
Zaglavlje pisma ima opći oblik: / . Sadržaj pisma, kao i njegovi prilozi, nisu šifrirani.
Interakcija se odvija putem FTP protokola. Datoteka s imenom prenosi se na navedeni poslužitelj _-_.html. Sadržaj datoteke nije šifriran.
Algoritmi šifriranja
Ovaj slučaj koristi sljedeće metode šifriranja:
Metoda 1
Ova se metoda koristi za šifriranje nizova u glavnom modulu. Algoritam koji se koristi za šifriranje je AES.
Ulaz je šesteroznamenkasti 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 dobiva se niz bajtova: prva 32 bajta su ključ za šifriranje, zatim slijedi 16 bajtova inicijalizacijskog vektora, a preostali bajtovi su šifrirani podaci.
Metoda 2
Korišteni algoritam 3DES u načinu rada ECB s punjenjem u cijelim bajtovima (PKCS7).
Ključ je određen 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 PostaviWindowsHookEx dodjeljuje vlastiti rukovatelj događajima pritiskanja tipki na tipkovnici. Funkcija rukovatelja počinje dobivanjem naslova aktivnog prozora.
Ako je postavljena zastavica za filtriranje aplikacije, filtriranje se provodi ovisno o navedenoj vrsti:
- naziv programa se traži u naslovima prozora
- naziv programa se traži u nazivu procesa prozora
Zatim se u zapisnik dodaje zapis s informacijama o aktivnom prozoru u formatu:
Zatim se bilježi informacija o pritisnutoj tipki:
ključ | Rekord |
povratnik | Ovisno o zastavici obrade tipke Backspace: False – {BACK} Istina – briše prethodni ključ |
CAPSLOCK | {CAPSLOCK} |
ESC | {ESC} |
PageUp | {PageUp} |
dolje | ↓ |
DELETE | {DEL} |
" | " |
F5 | {F5} |
& | & |
F10 | {F10} |
TAB | {TAB} |
< | < |
> | > |
Prostor | |
F8 | {F8} |
F12 | {F12} |
F9 | {F9} |
ALT + TAB | {ALT+TAB} |
KRAJ | {KRAJ} |
F4 | {F4} |
F2 | {F2} |
CTRL | {CTRL} |
F6 | {F6} |
Desno | → |
Up | ↑ |
F1 | {F1} |
Lijevo | ← |
PageDown | {Stranica niže} |
umetak | {Umetnuti} |
Pobijediti | {Pobijediti} |
NumLock | {NumLock} |
F11 | {F11} |
F3 | {F3} |
POČETNA | {DOM} |
ENTER | {UNESI} |
ALT + F4 | {ALT+F4} |
F7 | {F7} |
Drugi ključ | Znak je u velikim ili malim slovima, ovisno o položaju tipki CapsLock i Shift |
U određenoj učestalosti, prikupljeni dnevnik se šalje na poslužitelj. Ako je prijenos neuspješan, zapisnik se sprema u datoteku %TEMP%log.tmp u formatu:
Kada se mjerač vremena uključi, datoteka će se prenijeti na poslužitelj.
ScreenLogger
U određenoj učestalosti zlonamjerni softver stvara snimku zaslona u formatu Jpeg s vrijednošću Kvalitet jednako 50 i sprema ga u datoteku %APPDATA %.jpg. Nakon prijenosa datoteka se briše.
ClipboardLogger
Ako je odgovarajuća zastavica postavljena, zamjene se vrše u presretnutom tekstu prema donjoj tablici.
Nakon toga, tekst se ubacuje u dnevnik:
PasswordStealer
Zlonamjerni softver može preuzeti lozinke iz sljedećih aplikacija:
preglednici | Mail klijenti | FTP klijenti |
krom | pogled | FileZilla |
Firefox | velika ptica nalik orlu | WS_FTP |
IE/Edge | Foxmail | WinSCP |
safari | Opera Mail | CoreFTP |
Opera Browser | IncrediMail | FTP navigator |
Yandex | Pocomail | FlashFXP |
Comodo | Eudora | SmartFTP |
ChromePlus | Šišmiš | FTPCommander |
Krom | Poštanski sandučić | |
Baklja | ClawsMail | |
7Star | ||
Prijatelj | ||
BraveSoftware | Jabber klijenti | VPN klijenti |
CentBrowser | Psi/Psi+ | Otvorite VPN |
Čedot | ||
CocCoc | ||
Elements Browser | Upravitelji preuzimanja | |
Epski preglednik privatnosti | Internet Download Manager | |
Kometa | JDownloader | |
orbitum | ||
Sputnjik | ||
uCozMedia | ||
Vivaldi | ||
SeaMonkey | ||
Flock preglednik | ||
UC preglednik | ||
BlackHawk | ||
Cyber Fox | ||
K-Meleon | ||
ledena mačka | ||
Icedragon | ||
Blijedi Mjesec | ||
Vodena lisica | ||
Falkon preglednik |
Suprotnost dinamičkoj analizi
- Korištenje funkcije san. Omogućuje vam da zaobiđete neke sandboxove prema isteku vremena
- Uništavanje niti Zona.Identifikator. Omogućuje vam skrivanje činjenice preuzimanja datoteke s interneta
- U parametru %filter_list% navodi popis procesa koje će zlonamjerni softver prekinuti u intervalima od jedne sekunde
- razjedinjenost UAC
- Onemogućivanje upravitelja zadataka
- razjedinjenost CMD
- Onemogućavanje prozora «Vypolnitʹ»
- Onemogućivanje upravljačke ploče
- Onemogućavanje alata Regedit
- Onemogućivanje točaka vraćanja sustava
- Onemogućite kontekstni izbornik u Exploreru
- razjedinjenost MSCONFIG
- Zaobići UAC:
Neaktivne značajke glavnog modula
Tijekom analize glavnog modula identificirane su funkcije koje su bile odgovorne za širenje mrežom i praćenje položaja miša.
Crv
Događaji za povezivanje prijenosnih medija prate se u zasebnoj niti. Kada je povezan, zlonamjerni softver s imenom kopira se u korijen datotečnog sustava scr.exe, nakon čega traži datoteke s ekstenzijom vez. Svačiji tim vez promjene u cmd.exe /c start scr.exe&start & izlaz.
Svaki direktorij u korijenu medija dobiva atribut "Skriven" i kreira se datoteka s ekstenzijom vez s nazivom skrivenog imenika i naredbom cmd.exe /c start scr.exe&explorer /root,"%CD%" & izađi.
MouseTracker
Metoda izvođenja presretanja slična je onoj koja se koristi za tipkovnicu. Ova je funkcionalnost još uvijek u razvoju.
Aktivnost datoteke
Put | Opis |
%Temp%temp.tmp | Sadrži brojač za pokušaje UAC zaobilaženja |
%startupfolder%%insfolder%%insname% | Put koji će se dodijeliti HPE sustavu |
%Temp%tmpG{Trenutno vrijeme u milisekundama}.tmp | Staza za backup glavnog modula |
%Temp%log.tmp | Log datoteka |
%AppData%{Proizvoljan niz od 10 znakova}.jpeg | Slike |
C:UsersPublic{Proizvoljan niz od 10 znakova}.vbs | Put do vbs datoteke koju bootloader može koristiti za spajanje na sustav |
%Temp%{Naziv prilagođene mape}{Naziv datoteke} | Staza koju koristi bootloader za spajanje na sustav |
Profil napadača
Zahvaljujući tvrdo kodiranim podacima za provjeru autentičnosti, uspjeli smo dobiti pristup zapovjednom centru.
To nam je omogućilo da identificiramo konačnu e-poštu napadača:
junaid[.]u***@gmail[.]com.
Naziv domene zapovjednog centra registriran je na poštu sg***@gmail[.]com.
Zaključak
Tijekom detaljne analize zlonamjernog softvera korištenog u napadu, uspjeli smo utvrditi njegovu funkcionalnost i dobiti najcjelovitiju listu indikatora kompromitacije relevantnih za ovaj slučaj. Razumijevanje mehanizama mrežne interakcije između malwarea omogućilo je davanje preporuka za prilagodbu rada alata za informacijsku sigurnost, kao i pisanje stabilnih IDS pravila.
Glavna opasnost Agent Tesla poput DataStealera po tome što se ne treba vezati za sustav niti čekati kontrolnu naredbu da izvrši svoje zadatke. Kada se nađe na stroju, odmah počinje prikupljati privatne informacije i prenosi ih u CnC. Ovo agresivno ponašanje na neki je način slično ponašanju ransomwarea, s jedinom razlikom što potonji ne zahtijeva niti mrežnu vezu. Ako naiđete na ovu obitelj, nakon čišćenja zaraženog sustava od samog zlonamjernog softvera, svakako biste trebali promijeniti sve lozinke koje bi se, barem teoretski, mogle spremiti u neku od gore navedenih aplikacija.
Gledajući unaprijed, recimo da napadači šalju Agent Tesla, početni program za podizanje sustava mijenja se vrlo često. To vam omogućuje da u trenutku napada ostanete neprimijećeni od strane statičkih skenera i heurističkih analizatora. A tendencija ove obitelji da odmah započne svoje aktivnosti čini sistemske monitore beskorisnim. Najbolji način borbe protiv AgentTesle je preliminarna analiza u sandboxu.
U trećem članku ove serije pogledat ćemo druge korištene bootloadere Agent Tesla, a također proučite proces njihovog poluautomatskog raspakiranja. Ne propustite!
Smjesa
SHA1 |
A8C2765B3D655BA23886D663D22BDD8EF6E8E894 |
8010CC2AF398F9F951555F7D481CE13DF60BBECF |
79B445DE923C92BF378B19D12A309C0E9C5851BF |
15839B7AB0417FA35F2858722F0BD47BDF840D62 |
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
C&C
URL |
sina-c0m[.]icu |
smtp[.]sina-c0m[.]icu |
RegKey
registra |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun{Naziv skripte} |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun%insregname% |
HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun%insregname% |
muteksi
Nema indikatora.
Slika
Aktivnost datoteke |
%Temp%temp.tmp |
%startupfolder%%insfolder%%insname% |
%Temp%tmpG{Trenutno vrijeme u milisekundama}.tmp |
%Temp%log.tmp |
%AppData%{Proizvoljan niz od 10 znakova}.jpeg |
C:UsersPublic{Proizvoljan niz od 10 znakova}.vbs |
%Temp%{Naziv prilagođene mape}{Naziv datoteke} |
Informacije o uzorcima
Ime i Prezime | 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 i Prezime | 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