DESBreak 0.9.1 Here is the first working version of DESBreak, small bruteforcer written in Perl. This is only sample, educational version of DESBreaker which will be ported to C. This version is meant to be a tutorial-program for all of you that want to see how bruteforcer works. Main disability of this code, besides the fact that is pretty slow (but it's faster than other Perl bruteforcers), is the fact that it's using Perl's crypt() function, and not the system's crypt() function, so it will break only DES cyphers created with perl (standard 64 bit DES encryption, slightly modified, can be found on passes that are used for wwwboard's admins, etc.). What is the use of this program? Well you have really nice password generator that I've managed to put in about 10 lines as recursion (ha, I've did it after all, thanks to ElfQrin). You have the sample how to use Perl with command line, basics on how to use patterns, an not so basic recursion sample. Why I'm pointing that damn recursion so much? Well recursions are something like programmers broadsword: they can be very small, fast, elegant tool for developing algorithms, but on the other side, are very hard to control (believe me, for example, I've killed small bug that my recursion had with one if statement, for your practice find that detail, and make conclusion where is the bug), can be resource killers (this one has been restricted to maximum 8 self-calls), and can slow down all algorithm if it's made lousy. Why porting it to C? Well I'll port it to C and make it pure linux C code, with addressing to kernel libraries, because there can be found system's crypt function. Where? Well do a little homework, go to the linux documentation project (it can be found at www.linuxberg.com for instance) and read that great documentation (you wanted to learn kernel hacking, modules programming, and join unknown world of Open-Source community, well that is your chance, read!!!!). I've accepted Ghost_Rider's help for porting that code to C, so next release that will be commercial... pardon, useful and much FASTER (I hope that I'll manage to make it faster than John The Ripper, but we'll see, this version has about 6000 tries/sec, comparing to John the Rippers 11000 tries/sec on my Celleron300, 64Mb/66Mhz, LX chipset), and it will be able to use dictionary as well. I'll see will I make those transmutations with dictionary that John The Ripper uses, but in later version I certainly will. Well it would be nice of me if I would tell how set this perl bruteforcer to work. You need a DES cypher first. You can generate one with this code, for instance: #! /usr/bin/perl $inputline = ; $salt = "22"; chomp ($inputline); $crypty = crypt( $inputline, $salt ); open (OUTFILE, ">code"); print OUTFILE ( $crypty, "\n" ); this program will generate cypher from the password that you've typed when you've activated this program (don't forget! if you're in linux, or some other *nix, first you have to change permissions for that program, use some editor, like joe or emacs, type this code, save it under some name like `cypgenerator' for instance, do a `chmod 755 cypgenerator', to change file permissions to executable. and then type ./cypgenerator (if you've save it in the directory that has no PATH, if that's not true statement => cypgenerator). When you have your file with cypher (in this name of that file is `code'), you can use DESbreak. To set desbreak to work, you have to give him following parameters: 1) -file= this parameter tells DESbreak which file to use 2) -chset= this parameter gives information to DESbreak which characters to use, and it take following switches a - lowercase letters A - uppercase letters 1 - numbers ! - special characters you can use combinations of that letters as well, string like a1A will use combination of lowercase, uppercase, and numbers. The order in string is not important. 3) -maxch= this gives information to DESbreak which is the greatest length of generated pass. If it not set it'll use a default maximum value of 8, and if it's greater it won't work. Here is the example: ./desbr -file=code -chset=a1 -maxch=5 Only thing that is left is to thank to all the beautiful ppl that I've met at Blacksun. I won't write here their names because it would be a long list, and I'm sure that I'd forgot someone. They know who they are, and my apologies to them all for such a delay between announcements of DESbreak, and finishing it. In that direction, one special thanks goes to Psy_Eye, because his first question every time I'd meet him, would be `is that script over yet'. He'd made me feel really ashamed couple of times. Other special thanx goes to Branford Marsalis, Mikail Pletnev for extraordinary performance of Chopin, and Alice in Chains, for making dull job of writing this text less boring, and to Coltrane and Pearl Jam making my brain-waves more focused during coding. Peace and knowledge to you all! Caboom, 26.03.2000 http://blacksun.box.sk myonlyemail1@yahoo.com