Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг

Энэ нийтлэлээр бид хортой програм хангамжийн шинжилгээнд зориулсан цуврал нийтлэлийг дуусгаж байна. IN эхний хэсэг Бид Европын компани шуудангаар хүлээн авсан халдвартай файлд нарийвчилсан дүн шинжилгээ хийж, тэндээс AgentTesla тагнуулын програмыг илрүүлсэн. онд хоёрдугаар хэсэг үндсэн AgentTesla модулийн алхам алхмаар шинжилгээний үр дүнг тайлбарлав.

Өнөөдөр CERT Group-IB-ийн хортой програмын шинжилгээний мэргэжилтэн Илья Померанцев хортой програмын шинжилгээний эхний үе шат болох CERT Group-IB-ийн мэргэжилтнүүдийн дадлагаас авсан гурван мини хэргийн жишээн дээр AgentTesla дээжийг хагас автоматаар задлах талаар ярих болно.

Ер нь хорлонтой программын шинжилгээний эхний үе шат нь савлагч, криптор, хамгаалагч эсвэл ачигч хэлбэрээр хамгаалалтыг арилгах явдал юм. Ихэнх тохиолдолд энэ асуудал нь хортой програмыг ажиллуулж, дамп хийх замаар шийдэгддэг боловч энэ арга нь тохиромжгүй нөхцөл байдал байдаг. Жишээлбэл, хэрэв хортой програм нь шифрлэгч бол, хэрэв энэ нь санах ойн бүс нутгийг хаягдлаас хамгаалдаг бол, хэрэв код нь виртуал машин илрүүлэх механизмыг агуулж байвал, эсвэл вирус ажиллаж эхэлсний дараа шууд дахин ачаална. Ийм тохиолдолд "хагас автомат" задлах аргыг ашигладаг, өөрөөр хэлбэл судлаач үйл явцыг бүрэн хянаж, хүссэн үедээ хөндлөнгөөс оролцох боломжтой. AgentTesla гэр бүлийн гурван дээжийг жишээ болгон ашиглан энэ процедурыг авч үзье. Хэрэв та сүлжээний хандалтыг идэвхгүй болговол энэ нь харьцангуй хор хөнөөлгүй хортой програм юм.

Дээж №1

Эх файл нь CVE-2017-11882 эмзэг байдлыг ашигладаг MS Word баримт бичиг юм.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Үүний үр дүнд ачааг татаж аваад ажиллуулдаг.

Процессын мод ба зан үйлийн тэмдэглэгээнд хийсэн дүн шинжилгээ нь процесст тарилга хийж байгааг харуулж байна RegAsm.exe.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
AgentTesla-ийн зан үйлийн шинж тэмдгүүд байдаг.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Татаж авсан загвар нь гүйцэтгэгдэх боломжтой .NET- файлыг хамгаалагчаар хамгаална .NET реактор.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Үүнийг хэрэгсэлд нээцгээе dnSpy x86 болон нэвтрэх цэг рүү шилжинэ.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Функц руу очих замаар DateTimeOffset, бид шинийг эхлүүлэх кодыг олох болно .NET- модуль. тавья завсарлага бидний сонирхож буй мөрөнд файлыг ажиллуул.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Буферын аль нэгэнд та MZ гарын үсгийг харж болно (0x4D 0x5A). Хадгалж авцгаая.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Хогдсон гүйцэтгэгдэх файл нь дуудагч болох динамик номын сан, i.e. нөөцийн хэсгээс ачааг гаргаж аваад ажиллуулна.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Үүний зэрэгцээ шаардлагатай нөөц нь өөрөө хогийн цэгт байдаггүй. Тэд эцэг эхийн түүвэрт байдаг.

Хэрэгсэл dnSpy Энэ нь бидэнд хоёр холбоотой файлаас "Франкенштейн" үүсгэхэд туслах хоёр маш ашигтай функцтэй.

  1. Эхнийх нь динамик номын санг эх загварт "наах" боломжийг олгодог.

    Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг

  2. Хоёр дахь нь оруулсан динамик номын сангийн хүссэн аргыг дуудахын тулд нэвтрэх цэг дээр функцийн кодыг дахин бичих явдал юм.

    Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг

Бид "Франкенштейн" багцаа хадгалдаг завсарлага кодыг тайлсан нөөц бүхий буферийг буцаах шугам дээр өмнөх үе шаттай адилтган дамп үүсгэнэ.

Хоёр дахь хогийн цэг нь бичигдсэн байна VB.NET бидэнд танил хамгаалагчаар хамгаалагдсан гүйцэтгэх файл ConfuserEx.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Хамгаалагчийг устгасны дараа бид өмнө нь бичсэн YARA дүрмийг ашиглаж, задалсан хортой програм нь үнэхээр AgentTesla эсэхийг шалгана.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг

Дээж №2

Эх файл нь MS Excel баримт бичиг юм. Суулгасан макро нь хортой кодыг ажиллуулахад хүргэдэг.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Үүний үр дүнд PowerShell скрипт ажиллаж байна.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Скрипт нь C# кодыг тайлж, түүнд хяналтыг шилжүүлдэг. Код нь өөрөө ачаалагч бөгөөд хамгаалагдсан хязгаарлагдмал орчны тайлангаас ч харж болно.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Ачаалал нь гүйцэтгэгдэх боломжтой .NET-файл.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Файлыг нээж байна dnSpy x86, та үүнийг ойлгомжгүй байгааг харж болно. Хэрэгслийг ашиглан будлианыг арилгах de4dot мөн дүн шинжилгээ рүү буцах.

Кодыг шалгахдаа та дараах функцийг олж мэдэх боломжтой.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Шифрлэгдсэн мөрүүд нь гайхалтай харагдаж байна Орох цэг и Дуудах. Бид тавих завсарлага эхний мөрөнд ажиллуулаад буферийн утгыг хадгална байт_0.

Энэ хогийн цэг нь дахин програм юм .NET ба хамгаалагдсан ConfuserEx.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Бид будлианыг ашиглан арилгадаг de4dot болон байршуулах dnSpy. Файлын тайлбараас бид тулгараад байгааг ойлгож байна CyaX-Sharp ачигч.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Энэхүү ачигч нь шинжилгээний эсрэг өргөн функцтэй.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Энэхүү функц нь Windows-ийн суулгасан хамгаалалтын системийг алгасах, Windows Defender-ийг идэвхгүй болгох, мөн хамгаалагдсан хязгаарлагдмал орчин, виртуал машин илрүүлэх механизмуудыг багтаана. Ачаа ачааллыг сүлжээнээс ачаалах эсвэл нөөцийн хэсэгт хадгалах боломжтой. Эхлүүлэх нь өөрийн процесс, өөрийн процессын хуулбар эсвэл процесс руу шахах замаар хийгддэг. MSBuild.exe, vbc.exe и RegSvcs.exe халдагчийн сонгосон параметрээс хамаарна.

Гэсэн хэдий ч бидний хувьд тэдгээр нь хамаагүй бага ач холбогдолтой юм AntiDump- нэмдэг функц ConfuserEx. Түүний эх кодыг эндээс олж болно GitHub.

Хамгаалалтаа идэвхгүй болгохын тулд бид боломжийг ашиглах болно dnSpy, энэ нь танд засварлах боломжийг олгоно IL- код.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Хадгалж суулгана уу завсарлага ачааллын кодыг тайлах функцийг дуудах мөрөнд. Энэ нь үндсэн ангийн бүтээгчид байрладаг.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Бид ачааг хөөргөж, хаядаг. Өмнө нь бичсэн YARA дүрмийг ашиглан бид энэ нь AgentTesla мөн эсэхийг шалгана.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг

Дээж №3

Эх файл нь гүйцэтгэх боломжтой VB Native PE32-файл.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Энтропийн шинжилгээ нь их хэмжээний шифрлэгдсэн өгөгдөл байгааг харуулж байна.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Өргөдлийн маягтанд дүн шинжилгээ хийхдээ VB Decompiler та хачирхалтай пикселийн дэвсгэрийг анзаарч магадгүй юм.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Энтропийн график bmp-зураг нь анхны файлын энтропи графиктай ижил бөгөөд хэмжээ нь файлын хэмжээнээс 85% байна.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Зургийн ерөнхий дүр төрх нь стеганографийн хэрэглээг харуулж байна.

Процессын модны дүр төрх, түүнчлэн тарилгын тэмдэглэгээ байгаа эсэхийг анхаарч үзье.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Энэ нь задлах ажиллагаа явагдаж байгааг харуулж байна. Visual Basic ачаалагчийн хувьд (өөрөөр хэлбэл VBKrypt буюу VBInjector) ердийн хэрэглээ бүрхүүлийн код ачааллыг эхлүүлэх, түүнчлэн тарилгыг өөрөө хийх.

Шинжилгээ VB Decompiler үйл явдал байгааг харуулсан Load маягт дээр FegatassocAirballoon2.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Руу явцгаая IDA pro заасан хаяг руу очиж функцийг судлах. Код нь маш их ойлгомжгүй байдаг. Бидний сонирхож буй хэсгийг доор үзүүлэв.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Энд үйл явцын хаягийн зайг сканнердаж гарын үсэг зурна. Энэ арга нь маш эргэлзээтэй юм.

Нэгдүгээрт, сканнердаж эхлэх хаяг 0x400100. Энэ утга нь статик бөгөөд суурь шилжих үед тохируулагдахгүй. Хүлэмжийн хамгийн тохиромжтой нөхцөлд энэ нь төгсгөлийг илтгэнэ PE- гүйцэтгэх файлын толгой хэсэг. Гэсэн хэдий ч мэдээллийн сан нь статик биш, түүний үнэ цэнэ өөрчлөгдөж, шаардлагатай гарын үсгийн жинхэнэ хаягийг хайх нь хувьсагчийн хэт их ачаалал үүсгэхгүй ч гэсэн маш удаан хугацаа шаарддаг.

Хоёрдугаарт, гарын үсгийн утга iWGK. 4 байт нь давтагдашгүй байдлыг баталгаажуулахад хэтэрхий бага байгаа нь ойлгомжтой гэж би бодож байна. Хэрэв та эхний цэгийг анхаарч үзвэл алдаа гаргах магадлал нэлээд өндөр байна.

Үнэн хэрэгтээ шаардлагатай фрагментийг өмнө нь олдсон төгсгөлд хавсаргасан болно bmp-зураг офсетээр 0xA1D0D.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Гүйцэтгэл Бүрхүүлийн код хоёр үе шаттайгаар явагдана. Эхнийх нь үндсэн хэсгийг тайлдаг. Энэ тохиолдолд түлхүүр нь харгис хүчээр тодорхойлогддог.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Шифрлэгдсэнийг нь хая Бүрхүүлийн код мөн мөрүүдийг хар.

Нэгдүгээрт, бид одоо хүүхдийн процесс үүсгэх функцийг мэдэж байна: CreateProcessInternalW.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Хоёрдугаарт, бид систем дэх бэхэлгээний механизмыг мэддэг болсон.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Анхны үйл явц руугаа буцъя. тавья завсарлага тухай CreateProcessInternalW мөн гүйцэтгэлийг үргэлжлүүлнэ. Дараа нь бид холболтыг харж байна NtGetContextThread/NtSetContextThread, энэ нь гүйцэтгэлийн эхлэх хаягийг хаяг болгон өөрчилдөг ShellCode.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Бид үүсгэсэн процесст дибаг хийгчээр холбогдож үйл явдлыг идэвхжүүлдэг Номын сангийн ачааллыг түр зогсоох/буулгах, процессыг үргэлжлүүлж, ачаалахыг хүлээнэ үү .NET- номын сангууд.

Цаашид ашиглах ProcessHacker задалсан агуулсан овоолгын бүсүүд .NET- өргөдөл.

Бид бүх процессыг зогсоож, системд суулгасан хортой програмын хуулбарыг устгадаг.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Хогдсон файл нь хамгаалагчаар хамгаалагдсан .NET реактор, үүнийг хэрэгсэл ашиглан амархан арилгаж болно de4dot.

Ирц амжилтгүй боллоо: AgentTesla-г цэвэр усанд оруулцгаая. 3-р хэсэг
Өмнө нь бичсэн YARA дүрмийг ашигласнаар энэ нь AgentTesla мөн эсэхийг шалгана.

Дүгнэж хэлье

Тиймээс, бид жишээ болгон гурван мини кейс ашиглан дээжийг хагас автоматаар задлах үйл явцыг нарийвчлан үзүүлж, мөн бүрэн хэмжээний хэрэг дээр үндэслэн хортой програмыг шинжилж, судалж буй дээж нь AgentTesla болохыг олж мэдээд, түүний үйл ажиллагаа, буулт хийх үзүүлэлтүүдийн бүрэн жагсаалт.

Бидний хийсэн хортой объектын шинжилгээ нь маш их цаг хугацаа, хүчин чармайлт шаарддаг бөгөөд энэ ажлыг компанид тусгай ажилтан гүйцэтгэх ёстой боловч бүх компаниуд шинжээч ажиллуулахад бэлэн байдаггүй.

Групп-IB Компьютерийн криминалистик болон хортой кодын шинжилгээний лабораториас үзүүлж буй үйлчилгээнүүдийн нэг нь кибер гэмт хэргийн хариу арга хэмжээ юм. Үйлчлүүлэгчид кибер халдлагын дунд баримт бичгийг батлах, хэлэлцэх гэж цаг үрэхгүй байхын тулд Group-IB-ийг эхлүүлэв. Ослын хариу арга хэмжээ авагч, захиалгын өмнөх ослын хариу үйлчилгээ нь хортой програмын шинжилгээний алхамыг агуулдаг. Энэ талаар дэлгэрэнгүй мэдээлэл авах боломжтой энд.

Хэрэв та AgentTesla дээжийг хэрхэн задалдаг талаар дахин судалж, CERT Group-IB-ийн мэргэжилтэн үүнийг хэрхэн хийж байгааг харахыг хүсвэл энэ сэдвээр вэбинарын бичлэгийг татаж авах боломжтой. энд.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх