Merging byt3bl33d3r fixes

This commit is contained in:
lgandx 2016-06-05 17:56:54 -05:00
parent 448db124cb
commit a66322a307
2 changed files with 37 additions and 49 deletions

View file

@ -17,11 +17,12 @@
import sys import sys
import optparse import optparse
import socket import socket
import thread
import time import time
import settings import settings
import ssl
from SocketServer import TCPServer, UDPServer, ThreadingMixIn, StreamRequestHandler, BaseRequestHandler, BaseServer from SocketServer import TCPServer, UDPServer, ThreadingMixIn, StreamRequestHandler, BaseRequestHandler, BaseServer
from threading import Thread
from utils import * from utils import *
banner() banner()
@ -163,87 +164,97 @@ def serve_thread_tcp(host, port, handler):
def serve_thread_SSL(host, port, handler): def serve_thread_SSL(host, port, handler):
try: try:
from servers.HTTP import SSLSock
cert = os.path.join(settings.Config.ResponderPATH, settings.Config.SSLCert)
key = os.path.join(settings.Config.ResponderPATH, settings.Config.SSLKey)
if OsInterfaceIsSupported(): if OsInterfaceIsSupported():
server = SSLSock((settings.Config.Bind_To, port), handler) server = ThreadingTCPServer((settings.Config.Bind_To, port), handler)
server.socket = ssl.wrap_socket(server.socket, certfile=cert, keyfile=key, server_side=True)
server.serve_forever() server.serve_forever()
else: else:
server = SSLSock((host, port), handler) server = ThreadingTCPServer((host, port), handler)
server.socket = ssl.wrap_socket(server.socket, certfile=cert, keyfile=key, server_side=True)
server.serve_forever() server.serve_forever()
except: except:
print color("[!] ", 1, 1) + "Error starting SSL server on port " + str(port) + ", check permissions or other servers running." print color("[!] ", 1, 1) + "Error starting SSL server on port " + str(port) + ", check permissions or other servers running."
def main(): def main():
try: try:
threads = []
# Load (M)DNS, NBNS and LLMNR Poisoners # Load (M)DNS, NBNS and LLMNR Poisoners
from poisoners.LLMNR import LLMNR from poisoners.LLMNR import LLMNR
from poisoners.NBTNS import NBTNS from poisoners.NBTNS import NBTNS
from poisoners.MDNS import MDNS from poisoners.MDNS import MDNS
thread.start_new(serve_LLMNR_poisoner, ('', 5355, LLMNR)) threads.append(Thread(target=serve_LLMNR_poisoner, args=('', 5355, LLMNR,)))
thread.start_new(serve_MDNS_poisoner, ('', 5353, MDNS)) threads.append(Thread(target=serve_MDNS_poisoner, args=('', 5353, MDNS,)))
thread.start_new(serve_NBTNS_poisoner, ('', 137, NBTNS)) threads.append(Thread(target=serve_NBTNS_poisoner, args=('', 137, NBTNS,)))
# Load Browser Listener # Load Browser Listener
from servers.Browser import Browser from servers.Browser import Browser
thread.start_new(serve_thread_udp_broadcast,('', 138, Browser)) threads.append(Thread(target=serve_thread_udp_broadcast, args=('', 138, Browser,)))
if settings.Config.HTTP_On_Off: if settings.Config.HTTP_On_Off:
from servers.HTTP import HTTP from servers.HTTP import HTTP
thread.start_new(serve_thread_tcp,('', 80, HTTP)) threads.append(Thread(target=serve_thread_tcp, args=('', 80, HTTP,)))
if settings.Config.SSL_On_Off: if settings.Config.SSL_On_Off:
from servers.HTTP import HTTPS from servers.HTTP import HTTPS
thread.start_new(serve_thread_SSL,('', 443, HTTPS)) threads.append(Thread(target=serve_thread_SSL, args=('', 443, HTTPS,)))
if settings.Config.WPAD_On_Off: if settings.Config.WPAD_On_Off:
from servers.HTTP_Proxy import HTTP_Proxy from servers.HTTP_Proxy import HTTP_Proxy
thread.start_new(serve_thread_tcp,('', 3141, HTTP_Proxy)) threads.append(Thread(target=serve_thread_tcp, args=('', 3141, HTTP_Proxy,)))
if settings.Config.SMB_On_Off: if settings.Config.SMB_On_Off:
if settings.Config.LM_On_Off: if settings.Config.LM_On_Off:
from servers.SMB import SMB1LM from servers.SMB import SMB1LM
thread.start_new(serve_thread_tcp,('', 445, SMB1LM)) threads.append(Thread(target=serve_thread_tcp, args=('', 445, SMB1LM,)))
thread.start_new(serve_thread_tcp,('', 139, SMB1LM)) threads.append(Thread(target=serve_thread_tcp, args=('', 139, SMB1LM,)))
else: else:
from servers.SMB import SMB1 from servers.SMB import SMB1
thread.start_new(serve_thread_tcp,('', 445, SMB1)) threads.append(Thread(target=serve_thread_tcp, args=('', 445, SMB1,)))
thread.start_new(serve_thread_tcp,('', 139, SMB1)) threads.append(Thread(target=serve_thread_tcp, args=('', 139, SMB1,)))
if settings.Config.Krb_On_Off: if settings.Config.Krb_On_Off:
from servers.Kerberos import KerbTCP, KerbUDP from servers.Kerberos import KerbTCP, KerbUDP
thread.start_new(serve_thread_udp,('', 88, KerbUDP)) threads.append(Thread(target=serve_thread_udp, args=('', 88, KerbUDP,)))
thread.start_new(serve_thread_tcp,('', 88, KerbTCP)) threads.append(Thread(target=serve_thread_tcp, args=('', 88, KerbTCP,)))
if settings.Config.SQL_On_Off: if settings.Config.SQL_On_Off:
from servers.MSSQL import MSSQL from servers.MSSQL import MSSQL
thread.start_new(serve_thread_tcp,('', 1433, MSSQL)) threads.append(Thread(target=serve_thread_tcp, args=('', 1433, MSSQL,)))
if settings.Config.FTP_On_Off: if settings.Config.FTP_On_Off:
from servers.FTP import FTP from servers.FTP import FTP
thread.start_new(serve_thread_tcp,('', 21, FTP)) threads.append(Thread(target=serve_thread_tcp, args=('', 21, FTP,)))
if settings.Config.POP_On_Off: if settings.Config.POP_On_Off:
from servers.POP3 import POP3 from servers.POP3 import POP3
thread.start_new(serve_thread_tcp,('', 110, POP3)) threads.append(Thread(target=serve_thread_tcp, args=('', 110, POP3,)))
if settings.Config.LDAP_On_Off: if settings.Config.LDAP_On_Off:
from servers.LDAP import LDAP from servers.LDAP import LDAP
thread.start_new(serve_thread_tcp,('', 389, LDAP)) threads.append(Thread(target=serve_thread_tcp, args=('', 389, LDAP,)))
if settings.Config.SMTP_On_Off: if settings.Config.SMTP_On_Off:
from servers.SMTP import ESMTP from servers.SMTP import ESMTP
thread.start_new(serve_thread_tcp,('', 25, ESMTP)) threads.append(Thread(target=serve_thread_tcp, args=('', 25, ESMTP,)))
thread.start_new(serve_thread_tcp,('', 587, ESMTP)) threads.append(Thread(target=serve_thread_tcp, args=('', 587, ESMTP,)))
if settings.Config.IMAP_On_Off: if settings.Config.IMAP_On_Off:
from servers.IMAP import IMAP from servers.IMAP import IMAP
thread.start_new(serve_thread_tcp,('', 143, IMAP)) threads.append(Thread(target=serve_thread_tcp, args=('', 143, IMAP,)))
if settings.Config.DNS_On_Off: if settings.Config.DNS_On_Off:
from servers.DNS import DNS, DNSTCP from servers.DNS import DNS, DNSTCP
thread.start_new(serve_thread_udp,('', 53, DNS)) threads.append(Thread(target=serve_thread_udp, args=('', 53, DNS,)))
thread.start_new(serve_thread_tcp,('', 53, DNSTCP)) threads.append(Thread(target=serve_thread_tcp, args=('', 53, DNSTCP,)))
for thread in threads:
thread.setDaemon(True)
thread.start()
print color('[+]', 2, 1) + " Listening for events..." print color('[+]', 2, 1) + " Listening for events..."

View file

@ -280,26 +280,3 @@ class HTTPS(StreamRequestHandler):
except: except:
pass pass
# SSL context handler
class SSLSock(ThreadingMixIn, TCPServer):
def __init__(self, server_address, RequestHandlerClass):
from OpenSSL import SSL
BaseServer.__init__(self, server_address, RequestHandlerClass)
ctx = SSL.Context(SSL.TLSv1_METHOD)
cert = os.path.join(settings.Config.ResponderPATH, settings.Config.SSLCert)
key = os.path.join(settings.Config.ResponderPATH, settings.Config.SSLKey)
ctx.use_privatekey_file(key)
ctx.use_certificate_file(cert)
self.socket = SSL.Connection(ctx, socket.socket(self.address_family, self.socket_type))
self.server_bind()
self.server_activate()
def shutdown_request(self,request):
try:
request.shutdown()
except:
pass