Exemple #1
0
 def login(self, ip, username, password, domain):
     try:
         ip = list({addr[-1][0] for addr in getaddrinfo(ip, 0, 0, 0, 0)})[0]
     except gaierror:
         raise Exception(
             "No DNS found to resolve %s.\n"
             "Please make sure that your DNS settings can resolve %s" %
             (ip, ip))
     conn = SMBConnection(ip, ip)
     username = username.split("@")[0]
     self._log.debug("Authenticating against {}".format(ip))
     try:
         if re.match(r"^[0-9a-f]{32}$", password, re.IGNORECASE):
             conn.login(username,
                        password,
                        domain=domain,
                        nthash=password,
                        ntlmFallback=True)
             self._log.success("Authenticated via NT hash")
         else:
             conn.login(username, password, domain)
             self._log.success("Authenticated via clear text password")
     except SessionError as e:
         self._log.error("Session Error")
         self._log.debug("Provided credentials : {}\\{}:{}".format(
             domain, username, password))
         raise SessionError(e)
     except Exception as e:
         raise Exception("Unknown error : {}".format(e))
     self.conn = conn
     return self
Exemple #2
0
 def __init__( self, error = 0, packet=0):
     SessionError.__init__(self)
     self.error = error
     self.packet = packet
     if packet != 0:
         self.error = self.packet['error-code']
Exemple #3
0
 def __init__(self, error=0, packet=0):
     SessionError.__init__(self)
     self.error = error
     self.packet = packet
     if packet != 0:
         self.error = self.packet['error-code']