Hivi karibuni, Seqrite Lab iliona kampeni ya ulaghai ikitoa wizi wa vitabu vya fomu kupitia viambatisho vya barua pepe. Formbook, kama inavyoonekana tangu 2016, imebadilika kwa njia nyingi kutoka kwa vipengele vya siri hadi mbinu za ukwepaji. Kwa kuwa inauzwa kwenye mijadala ya udukuzi kama Programu Hasidi kama Huduma, tunaweza kuona aina kadhaa za chaguo. Ingawa mbinu ya ukwepaji inabaki ile ile, tabaka nyingi hutumika kabla ya kusambaza mzigo, na hupakiwa kwenye kumbukumbu pekee ili kuepuka kutambuliwa. Kama ilivyo kwa aina zingine, hii pia hutumia steganografia kuficha faili hasidi ndani ya picha, kuziondoa kwenye usimbaji fiche ili kupakia na kuziita kwenye kumbukumbu.
Lahaja hii ina hatua tatu kabla ya malipo ya mwisho
- Nunua Order.exe/XXXI.exe
- Arthur.dll
- Montero.dll
- MASM (Mzigo wa Mwisho)

Uchambuzi wa Kiufundi:
Huanza na barua pepe ya ulaghai iliyo na agizo la ununuzi pamoja na kiambatisho cha faili ya zip. Baada ya uchimbaji huwa na faili moja tu ya PurchaseOrder.exe ambayo ni nukta nundu iliyokusanywa.

Hatua ya 1 (Ununuzi Order.exe):
Kibadala hiki huficha programu hasidi ya hatua ya 2 na 3 kwenye nyenzo ya Purchase Order.exe. Jina la rasilimali "Hkyl” kama inavyoonyeshwa kwenye Kielelezo 2 ni hatua ya 3 ya jozi.
Hapo awali, programu hasidi hulala kwa sekunde tisa kabla ya kuendelea kusimbua upakiaji wa hatua ya 2. Kama inavyoonyeshwa kwenye Mchoro 3 hupata data iliyosimbwa kwa hatua ya 2 kutoka App rasilimali iliyopo katika rasilimali ya Purchase Order.exe na kuihifadhi katika safu ya baiti. Pia huhifadhi baiti 16 za ufunguo wa usimbuaji kwa upakiaji wa hatua ya 2 ambayo ni "AP7H9H5OI4478F8CH05FGA".


Kabla ya kufuta usimbaji fiche wa awamu ya 2, kama inavyoonyeshwa kwenye Mchoro 4, huunda safu ya 3 ya ukubwa wa baiti 256 na kuianzisha kwa thamani kuanzia 0 hadi 255.

Baada ya hapo huanzisha array3 kwa kunakili ufunguo wa ka 16 katika nafasi za nasibu.

Mara tu inapoweka thamani ya array3, hufanya xoring ya data iliyosimbwa na array3 na kuihifadhi katika array2 ambayo sasa ina faili ya Stage 2 PE arthur.dll,
Ili kutekeleza faili ya dll ya hatua ya 2, hutumia InvokeMember() kupakia mkusanyiko uliofutwa (Arthur.dll) kwenye kumbukumbu kwa kutumia mbinu ya Load. Kama inavyoonyeshwa kwenye Mchoro 5, haitumii kitendakazi cha Load moja kwa moja lakini hupata thamani kutoka kwa kitu, thamani ya HJ ni Load.

Hatua ya 2 (Arthur.dll):
Mara tu inapopakiwa kwenye kumbukumbu, huita MainForm.Justy() kutoka faili ya PE ya hatua ya 2 yenye hoja tatu. Inatumia hoja hizi katika faili ya PE ya hatua ya 2 ili kupata faili ya PE ya hatua ya 3.


- WA = “486B796C”=Hkyl (Nyenzo-rejea katika PurchaseOrder.exe, Mchoro 2)
- WZ = “62616F”=bao (Ufunguo wa Usimbuaji kwa hatua ya 3)
- @namespace = "AssessExampleCombatForm"[Jina la Mradi wa PurchaseOrder.exe]
Hapo awali, hatua hii ya 2 hulala kwa sekunde kumi na nne kabla ya kuendelea kusimbua hatua yake ya 3.
Chaguo hili la kukokotoa husimbua picha kwa kutumia ufunguo uliopitishwa kama hoja kisha hutoa thamani nyekundu, kijani kibichi na samawati kutoka kwa kila pikseli isiyo na uwazi katika picha na kuunda safu.

Safu hii inapotumiwa kwa kutumia thamani[ bao ] iliyopitishwa wakati wa hatua ya 2 huleta hatua ya 3 montero.dll ambayo pia imepakiwa kwenye kumbukumbu kwa kutumia Assembly.Load methd. Baada ya kupata mbinu kuu gnWmyvSdDoAS8VNPBy.ukHjJHqoK1 ( ) ya moduli ya hatua ya 3, huitaka.

Hatua ya 3 (Montero.dll):
Katika faili hii ya PE ya hatua ya 3, kabla ya kutumia mbinu kuu ukHjJHqoK1(), mtengenezaji wake huondoa usimbaji fiche unaohitajika katika mipangilio ya usanidi. Mipangilio hii ina ufunguo wa kuondoa usimbaji fiche wa mzigo wa mwisho, jina la mutex na bendera ya mutex iliyowezeshwa au la, eneo la kuachisha faili, tabia ya kupakua faili imewezeshwa au la, eneo la kupakua faili n.k. mipangilio hii ya usanidi imehifadhiwa katika safu[gnWmyvSdDoAS8VNPBy.YiEuqBAod0]

Baada ya kusimbua mipangilio ya usanidi, huangalia ikiwa bendera ya Mutex imewashwa katika eneo la 29 la safu YiEuqBAod0, ikiwa ni kweli, huunda mutex yenye jina " zpkpGXyWHvBpdzNULuLRtAzq ". Ikiwa mutex tayari ipo, itajiondoa yenyewe. Tabia hii kwa kawaida hutekelezwa ili kuepuka kugunduliwa na wachuuzi wa usalama na kuepuka kuendesha mfano wa pili wa programu hasidi hiyo hiyo. Kisha huthibitisha bendera ya Sleep, ikiwa imewashwa, ingelala ili kuchelewesha utekelezaji wake kwa sandboxs kutonasa tabia yake mbaya.

Kisha huangalia kama kisanduku cha ujumbe kinachoonyesha bendera kimewashwa katika eneo la 30 la safu YiEuqBAod0, ikiwa kimewashwa, hufungua kisanduku cha ujumbe ili kumdanganya mtumiaji.

Baada ya hapo inathibitisha eneo la 10 la safu YiEuqBAod0 ambayo hutumika kama uwezo wa njia ya vizuizi. Ikiwashwa, inaongeza njia ya programu hasidi katika vizuizi na kutekeleza cmdlet hii kwa LOL binary[powershel.exe] katika sifa za dirisha lililofichwa ili kuepuka kugunduliwa kwa muuzaji wa AV na pia kuficha tabia zao kutoka kwa mwathiriwa.

Eneo la 5 la safu YiEuqBAod0, eneo hili hutumika kama kupakua mzigo mwingine wa malipo au kusasisha kipengele cha kazi. Ikiwa alama hii imewezeshwa, hupakua familia nyingine ya programu hasidi au hupokea amri kutoka kwa kitendakazi cha vitisho C2 na kuingiza amri hiyo katika faili ya XML katika eneo la %temp% na kutekeleza faili hiyo kutoka eneo la %temp%. Xml hii imetolewa kama uingizaji katika jukumu la ratiba.

Eneo la pili la safu ya YiEuqBAod0, mhusika wa vitisho alitumia eneo hili kama faili inayoangushwa. Ikiwa alama hii imewezeshwa, programu hasidi huangalia kwanza "qwwnzxGmN.exe" ikiwa faili tayari ipo katika "C:\Users\username\AppData\Roaming" ya mwenyeji wa mwathiriwa. Ikiwa faili hiyo haipo katika eneo hilo, huunda faili yenye seti ya sifa zilizofichwa, nakala yenyewe ya faili mzazi. Sifa hii inaweza kutumika na washambuliaji kuficha uwepo wa programu hasidi hii ili kuzuia wasimamizi na watumiaji kuipata.

Mara tu faili kuu ikinakiliwa yenyewe katika eneo la "%appdata%Roaming" kama ilivyotajwa kwenye Mchoro 14, faili hii itaongezwa katika njia ya kutenga. Kisha husimbua data iliyosimbwa ya base64, ambayo ilisimbwa katika mjenzi wa mbinu kuu ya hatua ya 3, ili kuunganishwa ambayo ni faili ya XML. Faili hii ya XML ina thamani inayozalisha kazi. Thamani hizi ni sifa iliyofichwa ya faili hasidi , uvumilivu, kipengele kilichowezeshwa, utekelezaji wa amri ya njia ya faili n.k.


Faili hii ya XML imeundwa katika eneo la %temp% kama “*.tmp”, kisha inasasisha thamani zinazohitajika katika faili ya XML kama vile '”Location” na “USERID” n.k. Baada ya hapo itaunda kazi iliyoratibiwa yenye sifa ya mjane iliyofichwa ili kuficha mienendo yao kutoka kwa mwathiriwa kwa kuendelea kama vile “sasisho\qwwnzxGmN” na kuleta faili hiyo ya XML. Muigizaji tishio alifuta faili ya tmp ili kuepuka athari za mchambuzi wa usalama .

Mchoro 18 unaonyesha moduli ya hatua ya 3 inayoondoa usimbaji fiche kwenye mzigo wa mwisho. Kigezo gnWmyvSdDoAS8VNPBy.AtOuOF5iCk = “ 4kQLt8DIME ” ni jina la rasilimali (katika motero.dll). gnWmyvSdDoAS8VNPBy.NJMuDv6Sv6 = “ pqDVZxpXC ” ni ufunguo. Hupakia rasilimali na kuipitisha kwa mbinu ya kuondoa usimbaji fiche Pp62t2mj9p pamoja na UFUNGUO.
Mbinu ya usimbaji fiche huhifadhi mzigo wa mwisho katika gnWmyvSdDoAS8VNPBy. w9Yu0dnomp.


Upakiaji huu wa mwisho ni mfumo wa jozi wa 32-bit, MASM iliyokusanywa na sehemu ya ".text" pekee. Faili yake iliyofichwa sana ya kusimbua na kusimba msimbo kwa misingi ya mahitaji.

Mara tu ikiondoa usimbaji fiche wa mzigo wa mwisho kwenye bafa, huangalia eneo la 1 la safu YiEuqBAod0, kulingana na thamani hii huchagua mchakato lengwa wa kuweka wazi mchakato. Kitendaji cha vitisho kimetoa thamani ya 0 hadi 4. Ikiwa thamani ni 4, hupakia mzigo wa mwisho kwenye kumbukumbu kwa njia ya ujumuishaji wa mzigo na kutekeleza sehemu ya kuingia ya mzigo wa mwisho.

Ikiwa thamani ni " 1 " huchagua jina la mchakato lengwa kama MSBuild.exe kwa ajili ya kuweka wazi mchakato, ikiwa thamani ni " 2 " jina la mchakato lengwa ni vbc.exe, ikiwa thamani ni " 3 " jina la mchakato lengwa ni RegSvcs.exe. Ikiwa hakuna thamani yoyote kati ya zilizotajwa hapo juu, basi huchagua mchakato lengwa kama faili mzazi.

Katika Kijenzi cha Hatua ya 3 ilisimbua mlolongo wa API kwa upenyo wa Mchakato katika Mbinu ya bLmuzQDIA5() iliyohifadhiwa CreateProcessA, programu hasidi huunda mchakato unaolengwa kulingana na thamani iliyo hapo juu Mtini 17 na kuunda mchakato huo katika hali iliyosimamishwa.
![]()

Mbinu ya je3uFjEe5y() ilihifadhi AndikaProcessMemory, ilifuta sehemu ya ".text" ya malipo ya mwisho katika kumbukumbu ya mchakato unaolengwa .

IOCS:
6A9F890C529C410FA32793F496E7F200
0DA34A44EE4876DD5E35939AF02F1D32
D751816C3673935BF989716ABD0DAB21
F8EC1BE3F2BD8269DB033375ED1A841E
Ugunduzi:
Trojan.Formbook.S34651912
Sheria ya Yara:
agiza "pe"
kanuni Formbook_varainat
{
masharti:
$s1=”AP7H9H5OI4478F8CH05FGA” wide ascii
$s2 ={67 B7 76 87 0A C8 C4 5E 29 AC 76 8F 70 E8 6E 09 91 40 4A AE 28 D5 7F CE AB 90 4B D3 07 C1 A8 B2 A0 B3 88 9 C58 C3 A9}
$s3 ={78 33 66 C6 4D CD 82 2F B8 D6 10 8A B7 E9 D5 65 8B 45 1A B7 ED 08 2E B3 89 2F 0B 89 75 F5 08 5D}
hali:
wote
}
TTP za MITER ATTACK:
| Mbinu | Mbinu / Utaratibu |
| Ufikiaji wa Awali | T1566.001: Kiambatisho cha hadaa ya mkuki |
| Utekelezaji | T1059.001:Amri na Mkalimani wa Maandishi:PowerShell |
| T1053.005:Kazi/Kazi Iliyoratibiwa:Kazi Iliyoratibiwa | |
| Kuendelea | T1053.005:Kazi/Kazi Iliyoratibiwa:Kazi Iliyoratibiwa |
| Ukwepaji wa Ulinzi | T1027.003:Faili au Taarifa Zilizofichwa:Steganografia |
| T1036:Kujifanya | |
| T1497:Usanifu/Ukwepaji wa Kisanduku cha mchanga | |
| T1055.012:Sindano ya Mchakato: Mchakato wa Kutoa Mashimo | |
| Discovery | T1082:Ugunduzi wa Taarifa za Mfumo |
| T1083:Ugunduzi wa Faili na Saraka | |
| T1057:Ugunduzi wa Mchakato |
Hitimisho:
Kwa programu hasidi kama huduma, tunaweza kuona matoleo mengi ya fomula. Mara nyingi kanga huendelea kubadilika lakini upakiaji wa mwisho unabaki vile vile, hii ni kuzuia ugunduzi wa AV. Wahusika wa vitisho huwasilisha programu hasidi kupitia barua pepe ya ulaghai ambayo imeambatishwa ni hati hasidi au jozi zinazoweza kutekelezeka. Watumiaji wanashauriwa kuepuka kufungua barua pepe za kutiliwa shaka zilizo na viambatisho. Lahaja hii hutumia mbinu za ukwepaji ili kudumisha ustahimilivu. Kuepuka kukamatwa na msimamizi wa mfumo au mtumiaji kwa kuficha sifa ya faili. Kuhakikisha tukio moja tu la programu hasidi inaendeshwa kwenye mfumo kwa kuunda bubu.
Mwandishi: Rumana Siddiqui na Manoj Kumar Neelamegam



