Need some direction with combining dictionaries
#2
You can use combinator.exe or combinator.bin from the hashcat utils package to combine your two wordlists together into a single new wordlist. Then you can use the hybrid attack (-a 6) to append the digits or you could just use a rule file to append digits to the end ($1, $2, etc).

Here is some python code if the utils tools dont do it for you for some reason:
Code:
def combinator(infile1, infile2, outfile):
  """
     This reads input file1 and combines all entries with all entries from file2

    $ cat demo.out
        c
        ss123
        $$w0r
        min!1

    $ cat demo.txt
        abc
        pass123
        P@$$w0rd1
        @dmin!123

     Example: combinator('demo.txt', 'demo.out', 'demo.combinator')
    $ cat demo.combinator
        abc
        abcc
        cabc
        abcss123
        ss123abc
        abc$$w0r
        $$w0rabc
        abcmin!1
        min!1abc
        pass123
        pass123c
        cpass123
        pass123ss123
        ss123pass123
        pass123$$w0r
        $$w0rpass123
        pass123min!1
        min!1pass123
        P@$$w0rd1
        P@$$w0rd1c
        cP@$$w0rd1
        P@$$w0rd1ss123
        ss123P@$$w0rd1
        P@$$w0rd1$$w0r
        $$w0rP@$$w0rd1
        P@$$w0rd1min!1
        min!1P@$$w0rd1
        @dmin!123
        @dmin!123c
        c@dmin!123
        @dmin!123ss123
        ss123@dmin!123
        @dmin!123$$w0r
        $$w0r@dmin!123
        @dmin!123min!1
        min!1@dmin!123

  """
  try:
    f1=open(infile1)
    f2=open(infile2)
    fw=open(outfile, 'w+')
    for line in f1:
      fw.write(line.strip().encode('utf8', 'ignore') + "\n")
      f2.seek(0)
      for word in f2:
        fw.write(line.strip().encode('utf8', 'ignore') + word.strip().encode('utf8', 'ignore') + "\n")
        fw.write(word.strip().encode('utf8', 'ignore') + line.strip().encode('utf8', 'ignore') + "\n")
        # Uncomment to add numbers to the end if you like, currently just merges the two lists (word1 + word2 and word2 + word1)
        # for i in range(0,10):
        #   fw.write(line.strip().encode('utf8', 'ignore') + word.strip().encode('utf8', 'ignore') + str(i) + "\n")
    fw.close()
    f2.close()
    f1.close()
    return True
  except:
    return False


Messages In This Thread
RE: Need some direction with combining dictionaries - by iRuser - 12-28-2014, 05:26 PM