From f548287d4ee651f9271bb7f6b1665e51869973a9 Mon Sep 17 00:00:00 2001 From: aman566 Date: Wed, 19 Aug 2020 16:38:36 +0530 Subject: [PATCH 1/2] fixed smtp starttls issue --- lib/brute/smtp/engine.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/brute/smtp/engine.py b/lib/brute/smtp/engine.py index e67099da8..046943f83 100644 --- a/lib/brute/smtp/engine.py +++ b/lib/brute/smtp/engine.py @@ -59,7 +59,9 @@ def login(user, passwd, target, port, timeout_sec, log_in_file, language, retrie server = smtplib.SMTP(target, int(port), timeout=timeout_sec) else: server = smtplib.SMTP(target, int(port)) - server.starttls() + output = server.ehlo(name="test") + if starttls in output[1].lower(): + server.starttls() exit = 0 break except: @@ -119,7 +121,9 @@ def __connect_to_port(port, timeout_sec, target, retries, language, num, total, server = smtplib.SMTP(target, int(port), timeout=timeout_sec) else: server = smtplib.SMTP(target, int(port)) - server.starttls() + output = server.ehlo(name="test") + if starttls in output[1].lower(): + server.starttls() server.quit() exit = 0 break From 13c0912d8ef6bdc1c02e23b4d4d60fc5818afddb Mon Sep 17 00:00:00 2001 From: aman566 Date: Wed, 19 Aug 2020 16:46:47 +0530 Subject: [PATCH 2/2] flake8 errors --- lib/brute/smtp/engine.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/brute/smtp/engine.py b/lib/brute/smtp/engine.py index 046943f83..59a30a3ce 100644 --- a/lib/brute/smtp/engine.py +++ b/lib/brute/smtp/engine.py @@ -77,7 +77,7 @@ def login(user, passwd, target, port, timeout_sec, log_in_file, language, retrie flag = 0 except smtplib.SMTPException as err: pass - if flag is 0: + if flag == 0: info(messages(language, "user_pass_found").format( user, passwd, target, port)) data = json.dumps({'HOST': target, 'USERNAME': user, 'PASSWORD': passwd, 'PORT': port, 'TYPE': 'smtp_brute', @@ -284,17 +284,17 @@ def start(target, users, passwds, ports, timeout_sec, thread_number, num, total, # wait for threads kill_switch = 0 kill_time = int( - timeout_sec / 0.1) if int(timeout_sec / 0.1) is not 0 else 1 + timeout_sec / 0.1) if int(timeout_sec / 0.1) != 0 else 1 while 1: time.sleep(0.1) kill_switch += 1 try: - if threading.activeCount() is 1 or kill_switch is kill_time: + if threading.activeCount() == 1 or kill_switch == kill_time: break except KeyboardInterrupt: break thread_write = int(open(thread_tmp_filename).read().rsplit()[0]) - if thread_write is 1 and verbose_level is not 0: + if thread_write == 1 and verbose_level != 0: data = json.dumps({'HOST': target, 'USERNAME': '', 'PASSWORD': '', 'PORT': '', 'TYPE': 'smtp_brute', 'DESCRIPTION': messages(language, "no_user_passwords"), 'TIME': now(), 'CATEGORY': "brute", 'SCAN_ID': scan_id, 'SCAN_CMD': scan_cmd}) + "\n"