Пожалуйста, обратите внимание, что пользователь заблокирован
Python:
Скопировать в буфер обмена
def is_listening(ip, port):
try:
port = int(port)
socket_type = socket.AF_INET6 if ':' in ip else socket.AF_INET
s = socket.socket(socket_type, socket.SOCK_STREAM)
s.settimeout(3)
s = ssl.wrap_socket(s, server_hostname=ip, do_handshake_on_connect=False) if port == 465 else s
s.connect((ip, port))
s.close()
return True
except:
return False
def guess_smtp_server(domain):
global default_login_template, resolver_obj, domain_configs_cache, dangerous_domains
domains_arr = [domain, 'smtp-qa.'+domain, 'smtp.'+domain, 'mail.'+domain, 'webmail.'+domain, 'mx.'+domain]
try:
mx_domain = str(resolver_obj.resolve(domain, 'mx')[0].exchange)[0:-1]
domains_arr += [mx_domain]
except:
raise Exception('no MX records found for: '+domain)
if is_ignored_host(mx_domain) or re.search(dangerous_domains, mx_domain) and not re.search(r'\.outlook\.com$', mx_domain):
raise Exception(white('skipping domain: '+mx_domain+' (for '+domain+')',2))
if re.search(r'protection\.outlook\.com$', mx_domain):
return domain_configs_cache['outlook.com']
for host in domains_arr:
try:
ip = get_rand_ip_of_host(host)
except:
continue
for port in [2525, 587, 465, 25]:
debug(f'trying {host}, {ip}:{port}')
if is_listening(ip, port):
return ([host+':'+str(port)], default_login_template)
raise Exception('no connection details found for '+domain)
Без проблем переделаешь для IMAP (домены и порт). И вот в атаче стаааарые (нужно перечекать) конфиги для доменов из какого-то говночекера.
Вложения
imapdatabase.txt