Posted by Cynic | Posted in .NET, C#, Logic, Software, Solutions to Problems | Posted on 21-11-2012
“Brute Force FreeNAS” is a simple, quick utility to get back a forgotten user name and password.
It works very simply. You must enter a list of possible user names that you had for your FreeNAS and a list of possible passwords. The utility then combines them all (in a Cartesian product) and brute forces your FreeNAS web interface until you are logged in. Once you’re logged in, you then know which user name and password is correct.
Further instructions on how to use it are in the program. You can download it here:
Why did I write this?
Well, I had a problem where I couldn’t login. For some reason, there was an error in my FreeNAS box, and the proper login didn’t work. So, I started to write this utility, thinking that I’d forgotten the right login, and knowing that I knew or could guess the right user name, and the right password, but not the right combination of the two.
I then had further problems, and had to hard reset my FreeNAS box. And therein lies the key… Once I had reset it, I was able to login. However, I was already writing the utility, finished it, and tried the proper login then. However, since it works, and does what it is intended to do, I’m releasing it for others to use.
Make certain to read the instructions in the program.
The code in included in the download for anyone that wants to tweak it or whatever. There is no license – this is in the public domain. I have noted some code in there that I used from elsewhere to get some things done.
Notably, there’s a very cool bit of code that lets you do an N-ary Cartesian product, which is the core of this program as it combines the user names and passwords. You can find that here:
I first found that article and piece of code while creating some custom software to create a corpus for the Samsung S Voice artificial intelligence – the Samsung version of Siri. I needed an N-ary Cartesian product, and not just a simple cross join on 2 sets.
Anyways, hopefully that helps someone out there.