Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3

Bi vê gotarê re em rêze weşanên ku ji bo analîzkirina nermalava xerab hatine veqetandin temam dikin. LI beşa yekem Me analîzek berfireh a dosyayek vegirtî ku pargîdaniyek Ewropî bi nameyê wergirtibû kir û li wir sîxuriya AgentTesla keşf kir. Li beşa duyemîn encamên analîzek gav-bi-gav a modula sereke ya AgentTesla diyar kir.

Îro Ilya Pomerantsev, pisporê analîza malware li CERT Group-IB, dê li ser qonaxa yekem a analîza malware-ê biaxive - vekêşana nîv-otomatîkî ya nimûneyên AgentTesla bi karanîna nimûneya sê mini-dozên ji pratîka pisporên CERT Group-IB.

Bi gelemperî, qonaxa yekem di analîza malware de rakirina parastinê di forma pakker, krîpto, parastin an barker de ye. Di pir rewşan de, ev pirsgirêk dikare bi xebitandina malware û pêkanîna avêtinê were çareser kirin, lê rewş hene ku ev rêbaz ne guncaw e. Mînakî, heke malware şîfrekerek be, heke ew herêmên bîranîna xwe ji avêtinê diparêze, heke kod mekanîzmayên tespîtkirina makîneya virtual dihewîne, an heke malware tavilê piştî destpêkirinê ji nû ve were destpêkirin. Di rewşên weha de, bi navê vekirina "nîv-otomatîk" tê bikar anîn, ango lêkolîner li ser pêvajoyê bi tevahî kontrola xwe heye û dikare di her kêliyê de mudaxele bike. Werin em vê prosedûrê wekî mînakek sê nimûneyên malbata AgentTesla bikar bînin. Ger hûn gihîştina torê ya wê neçalak bikin ev malwareyek bi nisbet bê zirar e.

Nimûneya Nimûne 1

Pelê çavkanî belgeyek MS Word e ku qelsiya CVE-2017-11882 bikar tîne.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Wekî encamek, payload tê dakêşandin û destpêkirin.

Analîzkirina dara pêvajoyê û nîşankerên behrê derzîlêdanê di pêvajoyê de nîşan dide RegAsm.exe.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Nîşaneyên behrê yên taybetmendiya AgentTesla hene.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Nimûneya dakêşandî ya îcrakar e .TOR-Pel ji hêla parêzvanek ve hatî parastin .NET Reactor.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Ka em wê di navgîniyê de vekin dnSpy x86 û derbasî cihê têketinê bibin.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Bi çûna fonksiyonê DateTimeOffset, em ê koda destpêkê ya nû bibînin .TOR-module. Ka em deynin noqteya şikestinê li ser xeta ku em eleqedar in û pelê bimeşînin.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Di yek ji tamponên vegerî de hûn dikarin îmzeya MZ bibînin (0x4D 0x5A). Werin em wê xilas bikin.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Pelê darvekirî yê ku hatî avêtin pirtûkxaneyek dînamîkî ye ku barkerek e, ango. bargiraniyê ji beşa çavkaniyê derdixe û dest pê dike.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Di heman demê de, çavkaniyên pêwîst bi xwe jî di çolê de tune ne. Ew di nimûneya dêûbavê de ne.

Utility dnSpy du fonksiyonên zehf bikêr hene ku dê ji me re bibin alîkar ku bi lez "Frankenstein" ji du pelên têkildar biafirînin.

  1. Ya yekem destûrê dide te ku hûn pirtûkxaneyek dînamîkî di nimûneya dêûbavê de "pêç bikin".

    Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3

  2. Ya duyemîn ev e ku hûn koda fonksiyonê li nuqteya têketinê ji nû ve binivîsin da ku rêbaza xwestî ya pirtûkxaneya dînamîkî ya têxistî bang bikin.

    Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3

Em set "Frankenstein" xwe rizgar dikin noqteya şikestinê li ser xetê tamponek bi çavkaniyên deşîfrekirî vedigerîne, û li gorî qonaxa berê depoyek çêdike.

Xala duyemîn tê de tê nivîsandin VB.NET pelek îcrakar ku ji hêla parêzvanek ji me re naskirî ve tê parastin ConfuserEx.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Piştî rakirina parastinê, em qaîdeyên YARA yên ku berê hatine nivîsandin bikar tînin û pê ewle dibin ku malwareya nepakkirî bi rastî AgentTesla ye.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3

Nimûneya Nimûne 2

Pelê çavkanî belgeyek MS Excel e. Makroyek çêkirî dibe sedema darvekirina koda xirab.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Wekî encamek, skrîpta PowerShell tê destpêkirin.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Skrîpt koda C# deşîfre dike û kontrolê jê re vediguhezîne. Kodê bixwe bootloaderek e, wekî ku ji rapora sandboxê jî tê dîtin.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
The payload îcrakar e .TOR-dosî.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Vekirina pelê tê de dnSpy x86, hûn dikarin bibînin ku ew tevlihev e. Rakirina obfuscation bi karanîna karûbar de4dot û vegere analîzê.

Dema ku kodê lêkolîn bikin, hûn dikarin fonksiyona jêrîn bibînin:

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Rêzên kodkirî balkêş in EntryPoint и Okeixulandin. Me danî noqteya şikestinê di rêza yekem de, nirxa tamponê bimeşînin û hilînin byte_0.

Dump dîsa serîlêdanek e .TOR û parastin ConfuserEx.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Em bi karanînê xitimandinê jê dikin de4dot û barkirin li dnSpy. Ji danasîna pelê em fam dikin ku em pê re rû bi rû ne loader CyaX-Sharp.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Ev loader xwedan fonksiyonek antî-analîzê ya berfireh e.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Vê fonksiyonê derbaskirina pergalên parastinê yên çêkirî yên Windows-ê, neçalakkirina Windows Defender, û her weha sandbox û mekanîzmayên tespîtkirina makîneya virtual vedihewîne. Mimkûn e ku barkirina barkirinê ji torê bar bike an di beşa çavkaniyê de hilîne. Destpêkirin bi derzîlêdanê di pêvajoya xwe de, di dubarekirina pêvajoya xwe de, an jî di pêvajoyan de pêk tê MSBuild.exe, vbc.exe и RegSvcs.exe li gorî pîvana ku ji hêla êrîşkar ve hatî hilbijartin.

Lêbelê, ji bo me ew kêmtir girîng in AntiDump- fonksiyona ku lê zêde dike ConfuserEx. Koda çavkaniya wê dikare li vir were dîtin GitHub.

Ji bo astengkirina parastinê, em ê derfetê bikar bînin dnSpy, ku destûrê dide te ku hûn biguherînin IL-navê dizî.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Save û saz bike noqteya şikestinê ji bo rêza bangkirina fonksiyona deşîfrekirina barkirinê. Ew di çêkerê çîna sereke de cih digire.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Em bargiran diavêjin û diavêjin. Bi karanîna qaîdeyên YARA yên ku berê hatine nivîsandin, em piştrast dikin ku ev AgentTesla ye.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3

Nimûneya Nimûne 3

Dosya çavkaniyê pêkan e VB Native PE32-dosî.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Analîza entropî hebûna parçeyek mezin a daneya şîfrekirî nîşan dide.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Dema ku hûn forma serîlêdanê di nav de analîz bikin VB Decompiler hûn dikarin paşnavek pixelkirî ya xerîb bibînin.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Grafika entropiyê bmp-image bi grafiya entropiya pelê orjînal re yek e, û mezinahî %85 ji mezinahiya pelê ye.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Dîtina giştî ya wêneyê karanîna steganografiyê destnîşan dike.

Ka em bala xwe bidin xuyangiya dara pêvajoyê, û hem jî hebûna nîşankerek derzîlêdanê.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Ev nîşan dide ku vekirina pakkirinê di pêş de ye. Ji bo barkerên Visual Basic (aka VBKrypt an VBInjector) bikaranîna tîpîk shellcode ji bo destpêkirina bargiraniyê, û hem jî ji bo pêkanîna derziyê bixwe.

Analîz di VB Decompiler hebûna bûyerekê nîşan da Gazîname li formê FegatassocAirballoon2.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Ka em herin IDA pro li navnîşana diyarkirî û fonksiyonê bixwînin. Kod bi giranî tê qewirandin. Parçeya ku me eleqedar dike li jêr tê pêşkêş kirin.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Li vir cîhê navnîşana pêvajoyê ji bo îmzayekê tê şopandin. Ev nêzîkatî pir bi guman e.

Pêşîn, navnîşana destpêkirina şopandinê 0x400100. Ev nirx statîk e û dema ku bingeh tê guheztin nayê sererast kirin. Di şert û mercên serayê yên îdeal de ew ê dawiyê nîşan bide PE-seroka pelê îcrakar. Lêbelê, databas ne statîk e, nirxa wê dikare biguhezîne, û lêgerîna navnîşana rastîn a îmzeya pêdivî ye, her çend ew ê nebe sedema zêdebûnek guhêrbar, dikare demek pir dirêj bigire.

Ya duyemîn, wateya îmzeyê iWGK. Ez difikirim ku eşkere ye ku 4 bytes pir piçûk e ku yekta garantî bike. Û heke hûn xala yekem bihesibînin, îhtîmala kirina xeletiyek pir zêde ye.

Bi rastî, perçeya pêwîst bi dawiya ya ku berê hatî dîtin ve girêdayî ye bmp-wêneyên bi offset 0xA1D0D.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Têrbûn Shellcode di du qonaxan de pêk tê. Ya yekem laşê sereke deşîfre dike. Di vê rewşê de, kilît bi hêza hov tê destnîşankirin.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Ya deşîfrekirî biavêjin Shellcode û li rêzan binêre.

Pêşîn, em naha fonksiyona afirandina pêvajoyek zarokê dizanin: CreateProcessInternalW.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Ya duyemîn jî, em ji mekanîzmaya rastkirina pergalê hay bûn.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Ka em vegerin ser pêvajoya eslî. Ka em deynin noqteya şikestinê li ser CreateProcessInternalW û îdamê bidomînin. Piştre em girêdanê dibînin NtGetContextThread/NtSetContextThread, ku navnîşana destpêka darvekirinê li navnîşanê diguherîne ShellCode.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Em bi pêvajoyek çêkirî bi debugger ve girêdidin û bûyerê çalak dikin Li ser barkirin/dakêşana pirtûkxaneyê rawestînin, pêvajoyê ji nû ve bidin destpêkirin û li benda barkirinê bisekinin .TOR-pirtûkxane.

Zêdetir bikar anîn ProcessHacker herêmên ku nepakkirî tê de biavêjin .TOR-bikaranînî.

Em hemî pêvajoyan rawestînin û kopiya malwareya ku di pergalê de cîh girtiye jêbirin.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Pelê ku hatî avêtin ji hêla parêzvanek ve tê parastin .NET Reactor, ku bi hêsanî dikare bi karanîna karûbarek jêbirin de4dot.

Tevlihevî têk çû: Ka em AgentTesla bi ava paqij vekin. Beş 3
Bi karanîna qaîdeyên YARA ku berê hatine nivîsandin, em piştrast dikin ku ev AgentTesla ye.

Let's summarize

Ji ber vê yekê, me bi hûrgulî pêvajoya vekêşana nimûneya nîv-otomatîk bi karanîna sê mînî-dozên wekî mînak nîşan da, û her weha malware li ser bingeha dozek tam analîz kir, me dît ku nimûneya lêkolînê AgentTesla ye, fonksiyona wê saz dike û navnîşa bêkêmasî ya nîşaneyên lihevhatinê.

Analîzkirina tişta xerab a ku me pêk aniye gelek dem û hewldan hewce dike, û divê ev kar ji hêla karmendek taybetî yê pargîdaniyê ve were kirin, lê ne hemî pargîdan amade ne ku analîstek bixebitin.

Yek ji karûbarên ku ji hêla Group-IB Laboratory of Computer Forensics and Malicious Code Analysis ve hatî peyda kirin bersivdana bûyerên sîber e. Û ji bo ku xerîdar wextê xwe di erêkirina belgeyan û nîqaşkirina wan de di nav êrîşa sîber de winda nekin, Group-IB dest pê kir Bûyer Response Retainer, karûbarek bersivdana bûyera pêş-abonetiyê ku di heman demê de pêngavek analîzkirina malware jî vedihewîne. Agahiyên bêtir li ser vê dikare were dîtin vir.

Heke hûn dixwazin careke din bixwînin ka nimûneyên AgentTesla çawa têne pakkirin û bibînin ka pisporek CERT Group-IB çawa wiya dike, hûn dikarin li ser vê mijarê tomara webinar dakêşin. vir.

Source: www.habr.com

Add a comment