Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1
Վերջերս էլեկտրական տեղադրման սարքավորումների եվրոպական արտադրողը կապ է հաստատել Group-IB-ի հետ. նրա աշխատակիցը փոստով ստացել է կասկածելի նամակ՝ վնասակար հավելվածով: Իլյա ՊոմերանցևCERT Group-IB-ի չարամիտ ծրագրերի վերլուծության մասնագետը, այս ֆայլի մանրամասն վերլուծություն է անցկացրել, այնտեղ հայտնաբերել AgentTesla լրտեսող ծրագիրը և պատմել, թե ինչ սպասել նման չարամիտ ծրագրերից և որքանով է այն վտանգավոր:

Այս գրառմամբ մենք բացում ենք հոդվածների շարք այն մասին, թե ինչպես կարելի է վերլուծել նման պոտենցիալ վտանգավոր ֆայլերը, և սպասում ենք ամենահետաքրքրասերներին դեկտեմբերի 5-ին թեմայի վերաբերյալ անվճար ինտերակտիվ վեբինարին: «Չարամիտ ծրագրերի վերլուծություն. իրական դեպքերի վերլուծություն». Բոլոր դետալները կտրվածքի տակ են։

Բաշխման մեխանիզմ

Մենք գիտենք, որ չարամիտ ծրագիրը հասել է տուժողի ապարատին ֆիշինգի նամակների միջոցով: Նամակի ստացողին, հավանաբար, եղել է BCC:

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1
Վերնագրերի վերլուծությունը ցույց է տալիս, որ նամակ ուղարկողը կեղծվել է: Փաստորեն, նամակը թողել է vps56[.]oneworldhosting[.]com.

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1
Էլփոստի հավելվածը պարունակում է WinRar արխիվ qoute_jpeg56a.r15 վնասակար գործարկվող ֆայլով QOUTE_JPEG56A.exe ներսում:

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

Չարամիտ էկոհամակարգ

Այժմ տեսնենք, թե ինչպիսի տեսք ունի ուսումնասիրվող չարամիտ ծրագրի էկոհամակարգը։ Ստորև բերված դիագրամը ցույց է տալիս դրա կառուցվածքը և բաղադրիչների փոխազդեցության ուղղությունները:

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1
Այժմ եկեք ավելի մանրամասն նայենք չարամիտ ծրագրերից յուրաքանչյուրին:

Բեռնիչ

Բնօրինակ ֆայլ QOUTE_JPEG56A.exe կազմված է AutoIt v3 սցենար.

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1
Բնօրինակի սցենարը խճճելու համար, նմանակով բծախնդիր PELock AutoIT-Obfuscator բնութագրերը.
Դեբֆուսիկացիան իրականացվում է երեք փուլով.

  1. Խճճվածության վերացում Համար-Եթե

    Առաջին քայլը սցենարի կառավարման հոսքի վերականգնումն է: Control Flow Flattening-ը հավելվածի երկուական կոդը վերլուծությունից պաշտպանելու ամենատարածված միջոցներից մեկն է: Շփոթեցնող փոխակերպումները կտրուկ մեծացնում են ալգորիթմների և տվյալների կառուցվածքների արդյունահանման և ճանաչման բարդությունը:

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

  2. Շարքի վերականգնում

    Տողերի գաղտնագրման համար օգտագործվում են երկու գործառույթ.

    • gdorizabegkvfca - Կատարում է Base64-ի նման վերծանում

      Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

    • xgacyukcyzxz - առաջին տողի պարզ բայթ-բայթ XOR երկրորդի երկարությամբ

      Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

  3. Խճճվածության վերացում BinaryToString и Կատարել

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

Հիմնական բեռը պահվում է բաժանված ձևով գրացուցակում Fonts ֆայլի ռեսուրսների բաժինները:

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1
Սոսնձման կարգը հետևյալն է. TIEQHCXWFG, ԵՍ ԻՆՁ, SPDGUHIMPV, KQJMWQQAQTKTFXTUOSW, AOCHKRWWSKWO, JSHMSJPS, NHHWXJBMTTSPXVN, BFUTIFWWXVE, HWJHO, AVZOUMVFRDWFLWU.

WinAPI ֆունկցիան օգտագործվում է արդյունահանված տվյալները վերծանելու համար CryptDecrypt, և արժեքի հիման վրա ստեղծված նստաշրջանի բանալին օգտագործվում է որպես բանալի fZgFiZlJDxvuWatFRgRXZqmNCIyQgMYc.

Ապակոդավորված գործարկվող ֆայլն ուղարկվում է ֆունկցիայի մուտքագրմանը RunPE, որն իրականացնում է ProcessInject в RegAsm.exe օգտագործելով ներկառուցված ShellCode (հայտնի է նաեւ որպես RunPE ShellCode) Հեղինակությունը պատկանում է իսպանական ֆորումի օգտագործողին indetectables[.]net Wardow մականունով:

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1
Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1
Հարկ է նաև նշել, որ այս ֆորումի թեմաներից մեկում տեղադրվել է խաբեբա Տանիքում նմուշների վերլուծության ժամանակ հայտնաբերված նմանատիպ հատկություններով:

Իրեն ShellCode բավականին պարզ և ուշադրություն է գրավում միայն AnunakCarbanak հաքերային խմբից փոխառված: API զանգերի հեշավորման գործառույթ:

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1
Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

Մենք նաև տեղյակ ենք օգտագործման դեպքերի մասին Frenchy Shellcode տարբեր տարբերակներ։
Բացի նկարագրված ֆունկցիոնալությունից, մենք նաև հայտնաբերեցինք ոչ ակտիվ գործառույթներ.

  • Գործընթացի ձեռքով դադարեցման արգելափակում առաջադրանքների կառավարիչում

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

  • Երեխայի գործընթացի վերսկսում, երբ այն ավարտվում է

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

  • Շրջանցել UAC-ը

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

  • Պահպանելով օգտակար բեռը ֆայլում

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

  • Մոդալ պատուհանների ցուցադրություն

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

  • Սպասում է, որ մկնիկի կուրսորի դիրքը փոխվի

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

  • AntiVM և AntiSandbox

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

  • Ինքնաոչնչացում

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

  • Ցանցից օգտակար բեռների մղում

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

Մենք գիտենք, որ նման ֆունկցիոնալությունը բնորոշ է պաշտպանին CypherIT, որը, ըստ երևույթին, բեռնախցիկի մասին է:

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

Ծրագրային ապահովման հիմնական մոդուլ

Հաջորդը, մենք համառոտ նկարագրելու ենք չարամիտ ծրագրի հիմնական մոդուլը և այն ավելի մանրամասն կդիտարկենք երկրորդ հոդվածում: Այս դեպքում դա դիմում է : NET.

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1
Վերլուծության ընթացքում մենք հայտնաբերեցինք, որ օգտագործվել է խաբեբա ConfuserEX.

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

IELibrary.dll

Գրադարանը պահվում է որպես հիմնական մոդուլի ռեսուրս և հայտնի հավելված է ԳործակալՏեսլա, որն ապահովում է Internet Explorer-ի և Edge բրաուզերներից տարբեր տեղեկություններ հանելու գործառույթ։

Agent Tesla-ն մոդուլային լրտեսական ծրագրաշար է, որը տարածվում է չարամիտ-որպես ծառայություն մոդելի միջոցով՝ օրինական keylogger արտադրանքի քողի տակ: Գործակալ Tesla-ն ի վիճակի է բրաուզերներից, էլփոստի հաճախորդներից և FTP հաճախորդներից օգտատիրոջ հավատարմագրերը հանել և փոխանցել սերվերին հարձակվողներին, ձայնագրել clipboard-ի տվյալները և գրավել սարքի էկրանը: Վերլուծության պահին մշակողների պաշտոնական կայքը անհասանելի էր:

Մուտքի կետը գործառույթն է GetSavedPasswords դասի InternetExplorer.

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1
Ընդհանուր առմամբ, կոդի կատարումը գծային է և չի պարունակում որևէ պաշտպանություն վերլուծությունից: Միայն չիրականացված ֆունկցիան է արժանի ուշադրության GetSavedCookies. Ըստ երևույթին, պլագինի ֆունկցիոնալությունը պետք է ընդլայնվեր, բայց դա երբեք չի արվել:

Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

Բեռնիչի միացում համակարգին

Եկեք ուսումնասիրենք, թե ինչպես է bootloader-ը կցվում համակարգին: Ուսումնասիրվող նմուշը չի խարսխվում, բայց նմանատիպ իրադարձությունների դեպքում այն ​​տեղի է ունենում հետևյալ սխեմայի համաձայն.

  1. Թղթապանակում C:UsersPublic ստեղծվում է սցենար Visual Basic

    Սցենարի օրինակ.

    Մասնակցությունը ձախողվեց. եկեք AgentTesla-ին ենթարկենք մաքուր ջրի: Մաս 1

  2. Bootloader ֆայլի բովանդակությունը լրացվում է զրոյական նիշով և պահվում թղթապանակում %Temp%<Պատկերացված թղթապանակի անուն>Ֆայլի անուն>
  3. Սցենարի ֆայլի ռեեստրում ստեղծվում է autorun բանալի HKCUSoftwareMicrosoftWindowsCurrentVersionRun<Script name>

Այսպիսով, վերլուծության առաջին մասի արդյունքների հիման վրա մենք կարողացանք հաստատել ուսումնասիրվող չարամիտ ծրագրի բոլոր բաղադրիչների ընտանիքների անունները, վերլուծել վարակի ձևը, ինչպես նաև ձեռք բերել օբյեկտներ ստորագրություններ գրելու համար: Այս օբյեկտի մեր վերլուծությունը կշարունակենք հաջորդ հոդվածում, որտեղ ավելի մանրամասն կանդրադառնանք հիմնական մոդուլին ԳործակալՏեսլա. Բաց մի թողեք!

Ի դեպ, դեկտեմբերի 5-ին բոլոր ընթերցողներին հրավիրում ենք անվճար ինտերակտիվ վեբինարի՝ «Վնասակար ծրագրերի վերլուծություն. իրական դեպքերի վերլուծություն» թեմայով, որտեղ այս հոդվածի հեղինակը՝ CERT-GIB մասնագետը, առցանց կցուցադրի ծրագրի առաջին փուլը։ չարամիտ ծրագրերի վերլուծություն - նմուշների կիսաավտոմատ ապափաթեթավորում՝ օգտագործելով պրակտիկայի երեք իրական մինի դեպքերի օրինակը, և դուք կարող եք մասնակցել վերլուծությանը: Վեբինարը հարմար է այն մասնագետների համար, ովքեր արդեն ունեն վնասակար ֆայլերի վերլուծության փորձ: Գրանցումը բացառապես կորպորատիվ էլ. գրանցվել. Սպասում եմ քեզ!

Yara

rule AgentTesla_clean{
meta:
    author = "Group-IB"
    file = "78566E3FC49C291CB117C3D955FA34B9A9F3EEFEFAE3DE3D0212432EB18D2EAD"
    scoring = 5
    family = "AgentTesla"
strings:
    $string_format_AT = {74 00 79 00 70 00 65 00 3D 00 7B 00 30 00 7D 00 0D 00 0A 00 68 00 77 00 69 00 64 00 3D 00 7B 00 31 00 7D 00 0D 00 0A 00 74 00 69 00 6D 00 65 00 3D 00 7B 00 32 00 7D 00 0D 00 0A 00 70 00 63 00 6E 00 61 00 6D 00 65 00 3D 00 7B 00 33 00 7D 00 0D 00 0A 00 6C 00 6F 00 67 00 64 00 61 00 74 00 61 00 3D 00 7B 00 34 00 7D 00 0D 00 0A 00 73 00 63 00 72 00 65 00 65 00 6E 00 3D 00 7B 00 35 00 7D 00 0D 00 0A 00 69 00 70 00 61 00 64 00 64 00 3D 00 7B 00 36 00 7D 00 0D 00 0A 00 77 00 65 00 62 00 63 00 61 00 6D 00 5F 00 6C 00 69 00 6E 00 6B 00 3D 00 7B 00 37 00 7D 00 0D 00 0A 00 73 00 63 00 72 00 65 00 65 00 6E 00 5F 00 6C 00 69 00 6E 00 6B 00 3D 00 7B 00 38 00 7D 00 0D 00 0A 00 5B 00 70 00 61 00 73 00 73 00 77 00 6F 00 72 00 64 00 73 00 5D 00}
    $web_panel_format_string = {63 00 6C 00 69 00 65 00 6E 00 74 00 5B 00 5D 00 3D 00 7B 00 30 00 7D 00 0D 00 0A 00 6C 00 69 00 6E 00 6B 00 5B 00 5D 00 3D 00 7B 00 31 00 7D 00 0D 00 0A 00 75 00 73 00 65 00 72 00 6E 00 61 00 6D 00 65 00 5B 00 5D 00 3D 00 7B 00 32 00 7D 00 0D 00 0A 00 70 00 61 00 73 00 73 00 77 00 6F 00 72 00 64 00 5B 00 5D 00 3D 00 7B 00 33 00 7D 00 00 15 55 00 52 00 4C 00 3A 00 20 00 20 00 20 00 20 00 20 00 20 00 00 15 55 00 73 00 65 00 72 00 6E 00 61 00 6D 00 65 00 3A 00 20 00 00 15 50 00 61 00 73 00 73 00 77 00 6F 00 72 00 64 00 3A 00}
condition:
     all of them
}

rule  AgentTesla_obfuscated {
meta:
    author = "Group-IB"
    file = "41DC0D5459F25E2FDCF8797948A7B315D3CB075398D808D1772CACCC726AF6E9"
    scoring = 5
    family = "AgentTesla"
strings:
    $first_names = {61 66 6B 00 61 66 6D 00 61 66 6F 00 61 66 76 00 61 66 79 00 61 66 78 00 61 66 77 00 61 67 6A 00 61 67 6B 00 61 67 6C 00 61 67 70 00 61 67 72 00 61 67 73 00 61 67 75 00}
    $second_names = "IELibrary.resources"
condition:
     all of them
}

rule AgentTesla_module_for_IE{
meta:
    author = "Group-IB"
    file = "D55800A825792F55999ABDAD199DFA54F3184417215A298910F2C12CD9CC31EE"
    scoring = 5
    family = "AgentTesla_module_for_IE"
strings:
    $s0 = "ByteArrayToStructure" 
    $s1 = "CryptAcquireContext" 
    $s2 = "CryptCreateHash" 
    $s3 = "CryptDestroyHash" 
    $s4 = "CryptGetHashParam" 
    $s5 = "CryptHashData"
    $s6 = "CryptReleaseContext" 
    $s7 = "DecryptIePassword" 
    $s8 = "DoesURLMatchWithHash" 
    $s9 = "GetSavedCookies" 
    $s10 = "GetSavedPasswords" 
    $s11 = "GetURLHashString"  
condition:
     all of them
}

rule RunPE_shellcode {
meta:
    author = "Group-IB"
    file = "37A1961361073BEA6C6EACE6A8601F646C5B6ECD9D625E049AD02075BA996918"
    scoring = 5
    family = "RunPE_shellcode"
strings:
    $malcode = {
      C7 [2-5] EE 38 83 0C // mov     dword ptr [ebp-0A0h], 0C8338EEh
      C7 [2-5] 57 64 E1 01 // mov     dword ptr [ebp-9Ch], 1E16457h
      C7 [2-5] 18 E4 CA 08 // mov     dword ptr [ebp-98h], 8CAE418h
      C7 [2-5] E3 CA D8 03 // mov     dword ptr [ebp-94h], 3D8CAE3h
      C7 [2-5] 99 B0 48 06 // mov     dword ptr [ebp-90h], 648B099h
      C7 [2-5] 93 BA 94 03 // mov     dword ptr [ebp-8Ch], 394BA93h
      C7 [2-5] E4 C7 B9 04 // mov     dword ptr [ebp-88h], 4B9C7E4h
      C7 [2-5] E4 87 B8 04 // mov     dword ptr [ebp-84h], 4B887E4h
      C7 [2-5] A9 2D D7 01 // mov     dword ptr [ebp-80h], 1D72DA9h
      C7 [2-5] 05 D1 3D 0B // mov     dword ptr [ebp-7Ch], 0B3DD105h
      C7 [2-5] 44 27 23 0F // mov     dword ptr [ebp-78h], 0F232744h
      C7 [2-5] E8 6F 18 0D // mov     dword ptr [ebp-74h], 0D186FE8h
      }
condition:
    $malcode 
}

rule AgentTesla_AutoIT_module{
meta:
    author = "Group-IB"
    file = "49F94293F2EBD8CEFF180EDDD58FA50B30DC0F08C05B5E3BD36FD52668D196AF"
    scoring = 5
    family = "AgentTesla"
strings:                                    
    $packedexeau = {55 ED F5 9F 92 03 04 44 7E 16 6D 1F 8C D7 38 E6 29 E4 C8 CF DA 2C C4 E1 F3 65 48 25 B8 93 9D 66 A4 AD 3C 39 50 00 B9 60 66 19 8D FC 20 0A A0 56 52 8B 9F 15 D7 62 30 0D 5C C3 24 FE F8 FC 39 08 DF 87 2A B2 1C E9 F7 06 A8 53 B2 69 C3 3C D4 5E D4 74 91 6E 9D 9A A0 96 FD DB 1F 5E 09 D7 0F 25 FB 46 4E 74 15 BB AB DB 17 EE E7 64 33 D6 79 02 E4 85 79 14 6B 59 F9 43 3C 81 68 A8 B5 32 BC E6}
condition:
     all of them
}

Կուտակումներ

Անուն qoute_jpeg56a.r15
MD5 53BE8F9B978062D4411F71010F49209E
SHA1 A8C2765B3D655BA23886D663D22BDD8EF6E8E894
SHA256 2641DAFB452562A0A92631C2849B8B9CE880F0F8F

890E643316E9276156EDC8A

Տիպ Արխիվ WinRAR
չափ 823014
Անուն QOUTE_JPEG56A.exe
MD5 329F6769CF21B660D5C3F5048CE30F17
SHA1 8010CC2AF398F9F951555F7D481CE13DF60BBECF
SHA256 49F94293F2EBD8CEFF180EDDD58FA50B30DC0F08

C05B5E3BD36FD52668D196AF

Տիպ PE (կազմված AutoIt սցենար)
չափ 1327616
Բնօրինակի անունը Անհայտ
Ամսաթիվ դրոշմ 15.07.2019
Linker Microsoft Linker (12.0)[EXE32]
MD5 C2743AEDDADACC012EF4A632598C00C0
SHA1 79B445DE923C92BF378B19D12A309C0E9C5851BF
SHA256 37A1961361073BEA6C6EACE6A8601F646C5B6ECD

9D625E049AD02075BA996918

Տիպ ShellCode
չափ 1474

Source: www.habr.com

Добавить комментарий