mirror of
https://github.com/lgandx/Responder.git
synced 2025-07-16 10:02:53 -07:00
added support for plain auth
This commit is contained in:
parent
679cf65cff
commit
207b0d455c
1 changed files with 36 additions and 19 deletions
|
@ -26,28 +26,16 @@ class ESMTP(BaseRequestHandler):
|
||||||
self.request.send(str(SMTPGreeting()))
|
self.request.send(str(SMTPGreeting()))
|
||||||
data = self.request.recv(1024)
|
data = self.request.recv(1024)
|
||||||
|
|
||||||
if data[0:4] == "EHLO":
|
if data[0:4] == "EHLO" or data[0:4] == "ehlo":
|
||||||
self.request.send(str(SMTPAUTH()))
|
self.request.send(str(SMTPAUTH()))
|
||||||
data = self.request.recv(1024)
|
data = self.request.recv(1024)
|
||||||
|
|
||||||
if data[0:4] == "AUTH":
|
if data[0:4] == "AUTH":
|
||||||
self.request.send(str(SMTPAUTH1()))
|
AuthPlain = re.findall(r'(?<=AUTH PLAIN )[^\r]*', data)
|
||||||
data = self.request.recv(1024)
|
if AuthPlain:
|
||||||
|
User = filter(None, b64decode(AuthPlain[0]).split('\x00'))
|
||||||
if data:
|
Username = User[0]
|
||||||
try:
|
Password = User[1]
|
||||||
User = filter(None, b64decode(data).split('\x00'))
|
|
||||||
Username = User[0]
|
|
||||||
Password = User[1]
|
|
||||||
except:
|
|
||||||
Username = b64decode(data)
|
|
||||||
|
|
||||||
self.request.send(str(SMTPAUTH2()))
|
|
||||||
data = self.request.recv(1024)
|
|
||||||
|
|
||||||
if data:
|
|
||||||
try: Password = b64decode(data)
|
|
||||||
except: Password = data
|
|
||||||
|
|
||||||
SaveToDb({
|
SaveToDb({
|
||||||
'module': 'SMTP',
|
'module': 'SMTP',
|
||||||
|
@ -56,7 +44,36 @@ class ESMTP(BaseRequestHandler):
|
||||||
'user': Username,
|
'user': Username,
|
||||||
'cleartext': Password,
|
'cleartext': Password,
|
||||||
'fullhash': Username+":"+Password,
|
'fullhash': Username+":"+Password,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
else:
|
||||||
|
self.request.send(str(SMTPAUTH1()))
|
||||||
|
data = self.request.recv(1024)
|
||||||
|
|
||||||
|
if data:
|
||||||
|
try:
|
||||||
|
User = filter(None, b64decode(data).split('\x00'))
|
||||||
|
Username = User[0]
|
||||||
|
Password = User[1]
|
||||||
|
except:
|
||||||
|
Username = b64decode(data)
|
||||||
|
|
||||||
|
self.request.send(str(SMTPAUTH2()))
|
||||||
|
data = self.request.recv(1024)
|
||||||
|
|
||||||
|
if data:
|
||||||
|
try: Password = b64decode(data)
|
||||||
|
except: Password = data
|
||||||
|
|
||||||
|
SaveToDb({
|
||||||
|
'module': 'SMTP',
|
||||||
|
'type': 'Cleartext',
|
||||||
|
'client': self.client_address[0],
|
||||||
|
'user': Username,
|
||||||
|
'cleartext': Password,
|
||||||
|
'fullhash': Username+":"+Password,
|
||||||
|
})
|
||||||
|
|
||||||
except Exception:
|
except Exception:
|
||||||
|
raise
|
||||||
pass
|
pass
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue