Introduction
This is the client side to a Time Memory Trade Off database for NTLM Hashes. The program generates two files, one just the clear text and another one with the clear text and hash. Then it uploads the two files to an FTP server that you setup. After the files have been uploaded, they get deleted from the local drive. There are two programs, one to create the first set, then another one to do the rest.
Background
There are many websites that store login hashes using rainbow tables. That is not very effective. A friend of mine created TMTO.org. Which got me thinking, how can thousands of clients help with generating the hashes? I was going to use the BOINC system, but that was too bulky for what I wanted to do. That is why I created this program. Once you upload the files to the FTP server, you can then insert them into a database, then search the database via a webpage. I hope someone can finish what I have started. My hosting company won't let me.
Using the Code
The first program to use is ntlm, which will generate all of the one-character files. Then upload them to your FTP server. Then configure the code in the ntml program to connect to that FTP server. That program will download the file and create every combination of two characters to whatever you set the max to.
Points of Interest
Creating a program when you have a minute here and a minute there will cause a lot of debugging. Make sure that your hosting company will let you upload thousands of files. Bluehost says you can have unlimited storage, but not files.
History
As of now, the only thing that doesn't work is deleting the source file (inFIle
). It gives me an error, the file is being used by another process. I know there are many of you out there that could figure it out.
Update
Attached is the updated code for the main program. I fixed the above bug and now the program will delete the files that it has used. Now when you add multiple computers, they will not start at the beginning and not duplicate the work load.