Загрузка...

How to choose the right crypto

Thread in Virology created by qdqdwfqwf May 5, 2018. 483 views

  1. qdqdwfqwf
    qdqdwfqwf Topic starter May 5, 2018 Banned 80 Apr 18, 2017
    День добрый. Ввиду неугасающей популярности *******ов, троянов и прочей малвари, а также необъяснимой тяги форумчан к покупке инсталлов и заливов (load'ов), решил написать небольшую статейку о том, как правильно выбрать криптор и не упасть лицом в грязь и в кредиты.

    Для начала немножко поясню, что такое криптор, для тех, кто не знает.

    Криптор - специальный софт, который шифрует код исполняемого файла малвари и расшифровывает при запуске в момент выгрузки файла из памяти, что позволяет запустить троян, не боясь антивирусов. Не путать с криптолокерами и шифровальщиками, эти программы предназначены для иных целей.

    Криптор состоит из двух (иногда больше, если есть библиотеки) компонентов - билдер и стаб.

    Билдер - графическая оболочка, в которую человек вносит нужные ему настройки (тип шифрования, наличие/отсутствие автозагрузки, задержка запуска, искусственное увеличение (памп) размера файла, кража сертификата у файла, тип инжекта (вклинивание в процесс) склейка с другим файлом). Эти настройки, в свою очередь, передаются в стаб.

    Стаб - специальный контейнер, который хранит в себе код шифрования файла, настройки, которые юзер передал ему через билдер, а также код для дешифровки во время выгрузки с памяти.

    Крипторы обычно пишут на следующих языках: C++, ASM и его вариации, C#, VB.NET, VB, AutoIT, сейчас ещё к ним потихоньку прибавляется Питон. Детально разъясню каждый из них.

    C++ - крипторы на этом языке считаются самыми стабильными и надёжными ввиду того, что данный ЯП не поддаётся декомпиляции, детекты на него вешаются главным образом по сигнатуре (подписи) и путём определения вызова RunPE. Минусами таких крипторов является скудная совместимость с файлами, написанными на .NET-языках (С# и VB), а также высокая цена (нормальный криптор на плюсах стоит от 150-400$ в месяц).

    ASM - крипторы данного типа долгое время считались святым Граалем, ибо их декомпиляция так же является чем-то из области фантастики. Кроме того, размер их стаба может составлять всего 3КБ. Но, к сожалению, крипторы на ассемблере абсолютно несовместими с файлами на .NET (напомню, некоторые крипторы на плюсах совместимы частично). Спалить такой криптор можно по сигнатуре и вызову RunPE. Однако сейчас такой софт почти никто не пишет из-за его узконаправленности. Примерная цена составляет 1000-1200$ в месяц.

    C#/VB.NET - самый распространённый вид крипторов. Стоят сравнительно дёшево (10-50$ в месяц), работают довольно стабильно, однако очень быстро палятся (NOD32 и его механизм автодекомпиляции, привет) и требуют наличие .NET Framework на компьютере жертвы даже в том случае, если вы криптуете файл, написанный на плюсах или ассемблере. Их стаб достаточно легко чистить, но кодер должен на время продаж попрощаться с личной жизнью и сном, ибо чистить его приходится нон-стопом.

    AutoIT - скриптовый язык программирования. Сам по себе зависимостей не имеет, однако его код без водки лучше не смотреть, ввиду очень громоздкой структуры и очень большого размера. Крайне не советую такие крипторы. Во-первых, при выгрузке из памяти они могут напрочь сломать .NET Framework, так как зачастую пытаются вклинить файл в процесс vbc.exe, который является частью зависимости. Во-вторых, нагрузка процессора в этот момент может достичь 80-100%. В-третьих, нередки утечки оперативной памяти. В общем, полный шлак.


    Таким образом, исходя из вышеизложенного могу дать вам ряд советов.

    1. НИКОГДА не покупайте криптор на AutoIT. Даже если вы стеснены в средствах, лучше изворотиться и накопить на софт на сишарпе.
    2. Если вы криптуете .NET-файл, обязательно обработайте его обфускатором (упаковщиком) до и после крипта. Это ненадолго отсрочит сигнатурные детекты.
    3. Обязательно интересуйтесь языком программирования той программы, которую собираетесь криптовать, и выбирайте криптор, исходя из этой информации.
    4. Не ведитесь на так называемый "уникальный стаб". Кодер один, а вас у него много, поэтому в любом случае полностью уникального кода у вас не будет. Лучше обфусцируйте файл до и после крипта.

    На этом всё.
     
Top
Loading...