Саяхан Европын цахилгаан угсралтын тоног төхөөрөмж үйлдвэрлэгч Group-IB-тэй холбоо барив - түүний ажилтан шуудангаар хортой хавсралт бүхий сэжигтэй захидал хүлээн авсан. Илья ПомеранцевCERT Group-IB-ийн хортой программ хангамжийн шинжилгээний мэргэжилтэн энэ файлд нарийвчилсан дүн шинжилгээ хийж, тэндээс AgentTesla тагнуулч програмыг олж илрүүлж, ийм хортой програмаас юу хүлээж болох, энэ нь ямар аюултай болохыг хэлжээ.
Энэхүү нийтлэлээр бид ийм аюултай байж болзошгүй файлуудыг хэрхэн шинжлэх талаар цуврал нийтлэлүүдийг нээж байгаа бөгөөд 5-р сарын XNUMX-нд энэ сэдвээр үнэгүй интерактив вэбинар хийхээр хамгийн сониуч зүйлийг хүлээж байна. "Хоролтой програмын шинжилгээ: Бодит тохиолдлын шинжилгээ". Бүх нарийн ширийн зүйл нь зүсэлтийн доор байна.
Түгээх механизм
Хортой програм нь фишинг имэйлээр хохирогчийн машинд хүрсэн гэдгийг бид мэднэ. Захидал хүлээн авагч нь BCC-тэй байж магадгүй.
Гарчигны дүн шинжилгээ нь захидал илгээгчийг хуурамчаар үйлдсэн болохыг харуулж байна. Үнэн хэрэгтээ захидал үлдсэн vps56[.]oneworldhosting[.]com.
Имэйлийн хавсралт нь WinRar архивтай qoute_jpeg56a.r15 хортой гүйцэтгэгдэх файлтай QOUTE_JPEG56A.exe дотор
Хортой програмын экосистем
Одоо судалж буй хортой програмын экосистем ямар байхыг харцгаая. Доорх диаграммд түүний бүтэц, бүрэлдэхүүн хэсгүүдийн харилцан үйлчлэлийн чиглэлийг харуулав.
Одоо хортой програмын бүрэлдэхүүн хэсэг бүрийг илүү нарийвчлан авч үзье.
Ачаалагч
Эх файл QOUTE_JPEG56A.exe эмхэтгэсэн юм AutoIt v3 скрипт.
Анхны скриптийг бүдгэрүүлэхийн тулд үүнтэй төстэй бүдүүвч PELock AutoIT-Obfuscator шинж чанарууд.
Бусдыг арилгах ажлыг гурван үе шаттайгаар явуулдаг.
- Төөрөгдөл арилгах For-If
Эхний алхам бол скриптийн хяналтын урсгалыг сэргээх явдал юм. Хяналтын урсгалыг тэгшлэх нь програмын хоёртын кодыг шинжилгээнээс хамгаалах хамгийн түгээмэл аргуудын нэг юм. Төөрөгдөлтэй хувиргалт нь алгоритм болон өгөгдлийн бүтцийг задлах, таних нарийн төвөгтэй байдлыг эрс нэмэгдүүлдэг.
- Мөр сэргээх
Мөрүүдийг шифрлэхийн тулд хоёр функцийг ашигладаг:
- gdorizabegkvfca - Base64 шиг код тайлах ажлыг гүйцэтгэдэг
- xgacyukcyzxz - хоёр дахь мөрийн урттай эхний мөрийн энгийн байт-байт XOR
- Төөрөгдөл арилгах BinaryToString и Гүйцэтгэх
Үндсэн ачаалал нь лавлахад хуваагдсан хэлбэрээр хадгалагддаг Фонт файлын нөөцийн хэсгүүд.
Цавуулах дараалал дараах байдалтай байна. TIEQHCXWFG, EMI, SPDGUHIMPV, KQJMWQQAQTKTFXTUOSW, AOCHKRWWSKWO, JSHMSJPS, NHHWXJBMTTSPXVN, BFUTIFWWXVE, HWJHO, AVZOUMVFRDWFLWU.
WinAPI функцийг задалсан өгөгдлийн кодыг тайлахад ашигладаг CryptDecrypt, мөн утгыг үндэслэн үүсгэсэн сессийн түлхүүрийг түлхүүр болгон ашигладаг fZgFiZlJDxvuWatFRgRXZqmNCIyQgMYc.
Шифрийг тайлсан гүйцэтгэх файлыг функцийн оролт руу илгээдэг RunPE, гүйцэтгэдэг ProcessInject в RegAsm.exe суулгасан ашиглах ShellCode (мөн гэж нэрлэдэг PE ShellCode-г ажиллуул). Зохиогчийн эрх нь Испанийн форумын хэрэглэгчдэд хамаарна илрүүлэх боломжгүй [.]нет Wardow хочтой.
Энэ форумын сэдвүүдийн нэгд нь төөрөгдүүлэгч байгааг тэмдэглэх нь зүйтэй Дээвэр дээр дээжийн шинжилгээний явцад тодорхойлсон ижил төстэй шинж чанартай.
Өөрөө ShellCode Энэ нь маш энгийн бөгөөд зөвхөн AnunakCarbanak хакерын бүлгээс зээлсэн хүмүүсийн анхаарлыг татдаг. API дуудлагын хэш функц.
Ашиглалтын тохиолдлуудыг бид бас мэддэг Францын Shell код өөр өөр хувилбарууд.
Тодорхойлсон функцээс гадна бид идэвхгүй функцүүдийг тодорхойлсон:
- Даалгаврын менежер дэх процессыг гараар зогсоохыг хориглох
- Хүүхдийн процесс дуусах үед дахин эхлүүлэх
- UAC-г тойрч гарах
- Ачааллыг файлд хадгалж байна
- Модал цонхны үзүүлэн
- Хулганы курсорын байрлал өөрчлөгдөхийг хүлээж байна
- AntiVM болон AntiSandbox
- Өөрийгөө устгах
- Сүлжээнээс ачааллыг шахаж байна
Ийм функц нь хамгаалагчийн хувьд ердийн зүйл гэдгийг бид мэднэ CypherIT, энэ нь тухайн ачаалагч нь бололтой.
Програм хангамжийн үндсэн модуль
Дараа нь бид хортой програмын үндсэн модулийг товч тайлбарлаж, хоёрдугаар нийтлэлд илүү дэлгэрэнгүй авч үзэх болно. Энэ тохиолдолд энэ нь програм юм .NET.
Шинжилгээний явцад бид бүдэгрүүлэгч ашигласан болохыг олж мэдсэн ConfuserEX.
IELibrary.dll
Номын сан нь үндсэн модулийн нөөц болгон хадгалагддаг бөгөөд алдартай залгаас юм Агент Тесла, энэ нь Internet Explorer болон Edge хөтөчөөс янз бүрийн мэдээллийг задлах функцээр хангадаг.
Agent Tesla бол хууль ёсны keylogger бүтээгдэхүүний нэрийн дор хорлонтой программыг үйлчилгээний загвар ашиглан түгээдэг модульчлагдсан тагнуулын программ юм. Агент Тесла нь хөтчүүд, имэйл клиентүүд болон FTP үйлчлүүлэгчдээс хэрэглэгчийн итгэмжлэлийг задлах, халдагчид руу дамжуулах, санах ойн мэдээллийг бүртгэх, төхөөрөмжийн дэлгэцийг авах чадвартай. Шинжилгээ хийх үед хөгжүүлэгчдийн албан ёсны вэбсайт боломжгүй байсан.
Нэвтрэх цэг нь функц юм GetSavedPasswords ангийн InternetExplorer.
Ерөнхийдөө кодын гүйцэтгэл нь шугаман бөгөөд шинжилгээнээс хамгаалах ямар ч хамгаалалтгүй байдаг. Зөвхөн биелэгдээгүй функц нь анхаарал хандуулах ёстой SavedCookies авах. Залгаасны функцийг өргөжүүлэх ёстой байсан бололтой, гэхдээ үүнийг хэзээ ч хийгээгүй.
Ачаалагчийг системд холбож байна
Ачаалагчийг системд хэрхэн холбож байгааг судалцгаая. Судалгаанд хамрагдаж буй сорьц нь бэхлэгддэггүй, гэхдээ үүнтэй төстэй тохиолдлуудад дараахь схемийн дагуу тохиолддог.
- Хавтсанд C: Хэрэглэгчид нийтийн скрипт үүсгэсэн Visual Basic
Скриптийн жишээ:
- Ачаалагч файлын агуулгыг хоосон тэмдэгтээр дүүргэж, хавтсанд хадгална %Temp%
- Скрипт файлын бүртгэлд автоматаар ажиллуулах түлхүүр үүсгэгддэг HKCUSoftwareMicrosoftWindowsCurrentVersionRun
Тиймээс, шинжилгээний эхний хэсгийн үр дүнд үндэслэн бид судалж буй хортой програмын бүх бүрэлдэхүүн хэсгүүдийн гэр бүлийн нэрийг тогтоож, халдварын хэлбэрт дүн шинжилгээ хийж, гарын үсэг зурах объектуудыг олж авч чадсан. Дараагийн өгүүллээр бид энэ объектын дүн шинжилгээг үргэлжлүүлэх бөгөөд үндсэн модулийг илүү нарийвчлан авч үзэх болно Агент Тесла. Битгий алдаарай!
Дашрамд дурдахад, 5-р сарын XNUMX-нд бид бүх уншигчдыг "Хортой програмын шинжилгээ: бодит тохиолдлын дүн шинжилгээ" сэдэвт үнэ төлбөргүй интерактив вебинарт урьж байна. Энэхүү нийтлэлийн зохиогч, CERT-GIB-ийн мэргэжилтэн онлайнаар эхний шатыг үзүүлэх болно. хортой програмын шинжилгээ - практикт гурван бодит мини тохиолдлын жишээг ашиглан дээжийг хагас автоматаар задлах ба та шинжилгээнд оролцох боломжтой. Энэхүү вебинар нь хортой файлд дүн шинжилгээ хийх туршлагатай мэргэжилтнүүдэд тохиромжтой. Бүртгэлийг зөвхөн байгууллагын имэйлээс авна:
бүртгүүлэх . Таныг хүлээж байна!
Яара
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 |
Холбогч | Microsoft Linker(12.0)[EXE32] |
MD5 | C2743AEDDADACC012EF4A632598C00C0 |
SHA1 | 79B445DE923C92BF378B19D12A309C0E9C5851BF |
SHA256 | 37A1961361073BEA6C6EACE6A8601F646C5B6ECD
9D625E049AD02075BA996918 |
Санал авах | ShellCode |
Хэмжээ | 1474 |
Эх сурвалж: www.habr.com