Indonesian Back|Track Team
Share Kombinasi Wordlist dengan Gen2k - Printable Version

+- Indonesian Back|Track Team (https://www.indonesianbacktrack.or.id/forum)
+-- Forum: General Zone (https://www.indonesianbacktrack.or.id/forum/forum-172.html)
+--- Forum: Programming (https://www.indonesianbacktrack.or.id/forum/forum-95.html)
+---- Forum: Python (https://www.indonesianbacktrack.or.id/forum/forum-111.html)
+---- Thread: Share Kombinasi Wordlist dengan Gen2k (/thread-5859.html)

Pages: 1 2


Kombinasi Wordlist dengan Gen2k - Arief.Kresna - 06-07-2014

Saya akan share cara kombinasi wordlist menggunakan Gen2k. Maksud nya kombinasi?
Contoh : brobuat Wordlist seperti ini :

Quote:123456
654321
abcdef
fedcba
ABCDEF
FEDCBA
123abc
321bca

nah nanti sama Gen2k akan di kombinasi menjadi banyak lagi
seperti :

Quote:79123ABC
1975Fedcba
1917123abc
15fedcba
1909123456
32abcdef
1953123456
1939abcdef
1912FEDCBA
2016321bca

Langsung aja :
1. ini Gen2k nya : https://github.com/irenicus/gen2k
2. brobuat wordlist dulu, ngga usah banyak" cukup 5 baris saja nanti dapat 5000 lebih wordlist
3. ketik "python Gen2k.py" <- Nanti akan muncul help
4. Terus langsung kita buat deh wordlist nya ketik "python Gen2k.py -n -y -z -e -w wordbuatan.txt -o wordlist.txt"
5. Sukses bro [*] Total words generated: 5850
:-bd

Edited Link by iKONs


RE: Kombinasi Wordlist dengan Gen2k - kh4sh4 - 06-08-2014

404 :/
tolong kaka upload lg, thank's


RE: Kombinasi Wordlist dengan Gen2k - Arief.Kresna - 06-08-2014

Nih bro Gen2k.py nya, tinggal save trs kasih nama Gen2k.py Smile

Code:
#!/usr/bin/env python

__author__ = 'irenicus09'
__email__ = 'irenicus09[at]gmail[dot]com'
__license__ = 'BSD'
__version__ = 'BETA'
__date__ = '18/05/2013'

import sys


"""
############################## GEN2K ####################################

Automated Word List Generator

> Generates passwords combinations by combining words from wordlist.
> Covers frequently used number patterns used along with words.
> Generates passwords combinations using year/date combo.
> Generates custom user defined value(s) combination with word list.
> Option to auto convert words to upper/lowercase & capitalisation.
> WPA/WPA2 password validation check.
> No external dependencies.

---------------------------------------------------------------------------

HINTS:

* DO NOT USE A GENERAL PURPOSE WORDLIST
* SUPPLIED WORDLIST MUST ONLY CONTAIN KNOWN FACTS ABOUT TARGET
E.G NAMES, ADDRESS, FAVORITE ARTIST, PLACE, EVENT, ETC.
* TRY TO KEEP WORDLIST AT A MINIMUM, DON'T INCLUDE TOO MUCH DETAILS
* THE FINAL GENERATED WORD LIST CAN GET EXTREMELY LARGE!

###########################################################################
"""


def help():
    print """


###### ######## ## ## ####### ## ##
## ## ## ### ## ## ## ## ##
## ## #### ## ## ## ##
## #### ###### ## ## ## ####### #####
## ## ## ## #### ## ## ##
## ## ## ## ### ## ## ##
###### ######## ## ## ######### ## ## %s

======= Automated Word List Generator =======

Copyright (C) irenicus09 2013


USAGE: ./gen2k.py -w <wordlist> -o <output> [options]

[ -c ] Enable word combination among the words in wordlist.

[ -d ] Custom comma separated values to combine with wordlist.

[ -e ] Enable wpa/wpa2 fitness check for generated passwords.

[ -h ] Prints this help.

[ -n ] Enable frequently used number combination with wordlist.

[ -o ] Output filename.

[ -w ] Path to word list file.
Wordlist must contain info related to Target.

[ -y ] Enable year combination with wordlist.

[ -z ] Enable conversion of words to upper & lower case letters.

Note: Conversion to upper/lowercase & capitalisation
takes place before other modes are applied to the original list.

""" % __version__




def main():

    if exist('-h'):
        help()
        sys.exit(0)

    if not (exist('-w') or exist('-o')):
        help()
        sys.exit(1)

    master_list = load_words(find('-w')) # List supplied by user

    data = [] # Final wordlist
    temp = [] # Temporary wordlist

    if exist('-z'):
        master_list = gen_case(master_list)
        data = master_list

    if exist('-c'):
        temp = gen_word_combo(master_list)
        data = list(set(temp+data))

    if exist('-n'):
        temp = gen_numbers(master_list)
        data = list(set(temp+data))

    if exist('-y'):
        temp = gen_year(master_list)
        data = list(set(temp+data))

    if exist('-d'):
        try:
            custom_values = find('-d').split(',')
        except (AttributeError):
            print '[!] Are you kidding me with no values?'
            sys.exit(1)

        temp = gen_custom(master_list, custom_values)
        data = list(set(temp+data))

    if exist('-e'):
        data = wpa_validation_check(data)

    write_file(find('-o'), data)

    print '[*] Total words generated: %d' % (len(data))

    sys.exit(0)


def merge_list(temp_list=[], final_list=[]):
    """
Merges contents from temp_list (1st param) with final_list (2nd param)
"""
    for word in temp_list:
        if word not in final_list:
            final_list.append(word)


def load_words(path_to_file):
    """
Function to fetch all possible words.
"""
    data = []

    try:
        handle = open(path_to_file, 'r')
        temp_list = handle.readlines()
        handle.close()

    except(BaseException):
        print '[!] Error occured while reading wordlist.'
        sys.exit(1)

    for word in temp_list:
        word = word.strip()
        if word != '':
            data.append(word)

    return data



def write_file(path_to_file, data=[]):
    """
Writing to specified file.
"""
    try:
        handle = open(path_to_file, 'wb+')

        for word in data:
            handle.write(word+'\n')

        handle.close()
    except(BaseException):
        print '[!] Error occured while writing to file.'
        sys.exit(1)



def gen_case(words=[]):
    """
Function to change words to Upper & Lower case.
"""
    custom_list = []

    for x in words:
        custom_list.append(x.lower())
        custom_list.append(x.capitalize())
        custom_list.append(x.upper())

    return list(set(custom_list))



def gen_numbers(words=[]):
    """
Function to mix words with commonly used numbers patterns.
"""
    word_list = []

    if len(words) <= 0:
        return word_list

    num_list = ['0', '01', '012', '0123', '01234', '012345', '0123456', '01234567', '012345678', '0123456789',
    '1', '12', '123', '1234','12345', '123456','1234567','12345678','123456789', '1234567890', '9876543210',
    '987654321', '87654321', '7654321', '654321', '54321', '4321', '321', '21']

    for word in words:
        for num in num_list:
            word_list.append((word+num))
            word_list.append((num+word))

    return word_list




def gen_year(words=[]):
    """
Function to mix auto generated year with words from wordlist.

Hint: Date of birth & special dates are often
combined with certain words to form
passwords.
"""
    word_list = []

    if len(words) <= 0:
        return word_list

    # Double digit dates
    start = 1
    while(start <= 99):
        for word in words:
            word_list.append(word + str("%02d") % (start))
            word_list.append(str("%02d") % start + word)
        start += 1

    # Four digit dates
    start = 1900
    while (start <= 2020):
        for word in words:
            word_list.append(word+str(start))
            word_list.append(str(start)+word)
        start += 1

    return word_list




def gen_word_combo(words=[]):
    """
Function to mix multiple words from given list.
"""
    word_list = []

    if len(words) <= 1:
        return word_list

    for word in words:
        for second_word in words:
            if word != second_word:
                word_list.append(second_word+word)

    return word_list




def gen_custom(words=[], data=[]):
    """
Funtion to combine user defined input with wordlist.

> Takes a comma separated list via cmdline as values.
"""
    word_list = []

    if (len(words) <= 0 or len(data) <= 0):
        return word_list

    for item in data:
        for word in words:
            word_list.append(item+word)
            word_list.append(word+item)

    return word_list



def wpa_validation_check(words=[]):
    """
Function to optimise wordlist for wpa cracking

> Removes Duplicates.
> Removes passwords < 8 or > 63 characters in length.
"""
    custom_list = list(set(words))
    custom_list = [x for x in custom_list if not (len(x) < 8 or len(x) > 63)]

    return custom_list


# S3my0n's argument parsers, thx brah :)
def find(flag):
    try:
        a = sys.argv[sys.argv.index(flag)+1]
    except (IndexError, ValueError):
        return None
    else:
        return a

def exist(flag):
    if flag in sys.argv[1:]:
        return True
    else:
        return False








if __name__ == '__main__':
    main()



RE: Kombinasi Wordlist dengan Gen2k - dimascyber4rt - 06-08-2014

thanks bro ilmunya lumanya buat brute force ap wkwkwk


RE: Kombinasi Wordlist dengan Gen2k - xditx32 - 06-08-2014

Thanks bro share ilmu izin di coba hehe Big Grin


RE: Kombinasi Wordlist dengan Gen2k - Rvz_Venom - 06-08-2014

nice share bro, ini yang ane cari-cari
keep share


RE: Kombinasi Wordlist dengan Gen2k - iKONspirasi - 06-10-2014

udah di update linknya ke https://github.com/irenicus/gen2k
btw ini toolsnya keren juga ya buat targeted attack, kita enumerasi dulu targetnya kemudian kumpulkan kata2 yang mungkin digunakan sebagai password, lalu gunakan gen2k utk membuat wordlist sesuai dengan informasi yg kita dapatkan.

tks udh share disini bro Big Grin


RE: Kombinasi Wordlist dengan Gen2k - Arief.Kresna - 06-16-2014

(06-10-2014, 01:53 AM)iKONspirasi Wrote: udah di update linknya ke https://github.com/irenicus/gen2k
btw ini toolsnya keren juga ya buat targeted attack, kita enumerasi dulu targetnya kemudian kumpulkan kata2 yang mungkin digunakan sebagai password, lalu gunakan gen2k utk membuat wordlist sesuai dengan informasi yg kita dapatkan.

tks udh share disini bro Big Grin

Ok bro sama", Thanks tambahan nya


RE: Kombinasi Wordlist dengan Gen2k - RobotBernyawa - 06-17-2014

hmmm kayaknya lumayan penasaran saya
ijin nyoba mas Big Grin


RE: Kombinasi Wordlist dengan Gen2k - Arief.Kresna - 06-19-2014

(06-17-2014, 02:11 AM)RobotBernyawa Wrote: hmmm kayaknya lumayan penasaran saya
ijin nyoba mas Big Grin

Ok silahkan dicoba bro :-bd