Bi vê gotarê re em rêze weşanên ku ji bo analîzkirina nermalava xerab hatine veqetandin temam dikin. LI
Î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.
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.
Nîşaneyên behrê yên taybetmendiya AgentTesla hene.
Nimûneya dakêşandî ya îcrakar e .TOR-Pel ji hêla parêzvanek ve hatî parastin .NET Reactor.
Ka em wê di navgîniyê de vekin dnSpy x86 û derbasî cihê têketinê bibin.
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.
Di yek ji tamponên vegerî de hûn dikarin îmzeya MZ bibînin (0x4D 0x5A). Werin em wê xilas bikin.
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.
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.
- Ya yekem destûrê dide te ku hûn pirtûkxaneyek dînamîkî di nimûneya dêûbavê de "pêç bikin".
- 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.
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.
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.
Nimûneya Nimûne 2
Pelê çavkanî belgeyek MS Excel e. Makroyek çêkirî dibe sedema darvekirina koda xirab.
Wekî encamek, skrîpta PowerShell tê destpêkirin.
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.
The payload îcrakar e .TOR-dosî.
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:
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.
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.
Ev loader xwedan fonksiyonek antî-analîzê ya berfireh e.
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
Ji bo astengkirina parastinê, em ê derfetê bikar bînin dnSpy, ku destûrê dide te ku hûn biguherînin IL-navê dizî.
Save û saz bike noqteya şikestinê ji bo rêza bangkirina fonksiyona deşîfrekirina barkirinê. Ew di çêkerê çîna sereke de cih digire.
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.
Nimûneya Nimûne 3
Dosya çavkaniyê pêkan e VB Native PE32-dosî.
Analîza entropî hebûna parçeyek mezin a daneya şîfrekirî nîşan dide.
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.
Grafika entropiyê bmp-image bi grafiya entropiya pelê orjînal re yek e, û mezinahî %85 ji mezinahiya pelê ye.
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ê.
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.
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.
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.
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.
Ya deşîfrekirî biavêjin Shellcode û li rêzan binêre.
Pêşîn, em naha fonksiyona afirandina pêvajoyek zarokê dizanin: CreateProcessInternalW.
Ya duyemîn jî, em ji mekanîzmaya rastkirina pergalê hay bûn.
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.
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.
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.
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
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.
Source: www.habr.com