Обръщане на зловреден софтуер за начинаещи

зловреден

Съдържанието на статията

Сагата за протектори и опаковчици

Създателите на злонамерен софтуер успешно започнаха да ги използват, за да усложнят антивирусния и евристичния анализ, за ​​да защитят своето потомство от работа във виртуална среда, отстраняване на грешки, разглобяване и последващ анализ. Следователно оттогава уменията и способностите за разопаковане на изпълними файлове се превърнаха в задължителни изисквания както за начинаещ, така и за опитен обратен инженеринг. Най-популярните пакети днес саUPX,ASPack,FSG,PeShield,VMProtect. Това е, така да се каже, джентълменски комплект, с който анализаторът трябва да се справя всеки ден.

Протекторите, за разлика от опаковчиците, са предназначени да защитават изходния файл от обратно развитие, съответно, докато използват по-сложни методи от обикновените опаковчици: обфускация, криптиране с помощта на самонаписан или популярен крипто алгоритъм, като RSA-1024, вграждане на функции за отстраняване на грешки.

Както разбираме, за да стигнем до необходимия ни код, който ще анализираме, първо трябва да разопаковате файла, тоест да премахнете всички прикачени файлове, да възстановите оригиналния OEP и таблицата за импортиране, това е поне. Често разопаковането е задача, която се вписва в стандартен набор от действия, но понякога става креативна и води до цяло хакерско изследване – с каси бира, блокове цигари и сантиметри изгорели нервни влакна :).

Ликбез на теория

софтуер
Схема за пакетиране на изпълним файл

Компресирането (опаковането) на данни се основава на свойството информационна ентропия и алгоритмите по своята същност са много подобни на тези, използвани в архиваторите, само вза разлика от първия, опаковчиците за изпълними файлове разопаковат данните в RAM.

Ръчно и автоматично разопаковане

С голяма степен на вероятност всички работещи екземпляри на злонамерен софтуер ще бъдат опаковани от един или друг опаковчик / защитник. Но за да се уверите, че файлът е пакетиран,изпълнете PEiD или който и да е друг PE анализатор. В 90% от случаите това ще бъде достатъчно, PEiD има голяма база данни от подписи и добавки, което ви позволява да правите без излишни караници.

Вторият вариант е да използвате универсални програми за разопаковане, като QuickUnpack, RL!dePacker или Dr.Web FLY-CODE Unpacker, базирани на FLY-CODE двигателя на антивирусната програма Dr.Web. Характеристиката на програмите е, че те самите автоматично анализират файла и търсят OEP в него, след което изхвърлят програмата (включително възстановяване на импортирането). Въпреки това има чести случаи, когато изхвърленият файл се оказва неработоспособен поради неправилна обработка от универсалния разопаковчик или поради промяна в алгоритъма на пакера, който е несъвместим с това, което използва универсалният разопаковач. Но има плюс: понякога, ако файлът не може да бъде разопакован до работно състояние, секцията с код се оказва така или иначе разопакована и това е напълно достатъчно за анализ.

И третият сценарий, който е по-дълъг, но по-успешен в бъдеще, е ръчноразопаковане стъпка по стъпка с помощта на OllyDbg. Ако даден файл е опакован с нещо неизвестно, това може лесно да се определи чрез наличието в таблицата за импортиране на защитеното приложение на WinAPI функции от библиотеката на ядрото, като GetProcAddressA, LoadLibraryA или GetModuleHandle.

Продължава достъпно само за абонати