As a security consultant, job functions include Penetration Testing  and Vulnerability Assessments. The aim of these types of engagements is  to demonstrate risk to the customer. One of the steps involved in  demonstrating risk is password auditing (“cracking”) in order to assess  the strength and quality of passwords in use in the environment.
On a Windows network this invariably means dumping and cracking the  Windows SAM file. The SAM file holds username, user ID (SID) and hashed  passwords for all users. There are already many tools in existence to  crack the SAM file such as L0phtCrack and Cain & Abel amongst  others.
These tools, as brilliant as they are, require a set amount of time  to effectively audit a SAM file, often 8 hours or more for programs such  as L0pht. While this is extremely fast given the amount of processing  involved, for someone in my position limited by the commerciality of  time constraints, this can often be too slow. It is for this reason that  I decided to write LMCrack.
The design goal of LMCrack was to walk a large key space based on a  dictionary style attack rather than on a comprehensive brute force  attack and to complete the task in under 5 minutes. The result is a  program that utilises a database of pre-computed hashes, which can  search an effective key space of 3 trillion passwords in less than 60  seconds with an average success rate of 50+%.
As stated previously the design goal of LMCrack was to identify weak  passwords in the shortest time possible. Where weak passwords are  defined as any dictionary word or lame permutation of a dictionary word  (e.g. password5).
LMCrack works by searching for a password hash against a database of  pre-computed hashes. The pre-computed hashes are derived from multiple  dictionaries of real words rather than random character sequences. The  pre-computed hashes are indexed to speed up the hash searching against  the database.
The current version of LMCrack parses a SAM file extracted using  PWDump (although future versions may crack LanMan hashes sniffed off the  wire). Each 32-byte hash is split into two 16-byte halves and each half  is searched for against the database of pre-computed hashes  independently of the other half . As the hash is composed of two halves,  cracking the password will often result in a partial password being  found where one 16-byte hash exists in the database and the other  16-byte hash does not.
LMCrack is not intended to replace any existing password cracking  tools and the output files are compatible as input for other cracking  tools. LMCrack outputs 5 files at the completion of a cracking run:
- cracked.txt – a file containing the successfully cracked username and passwords delimited by a colon,
 - cracked.dic – a file contaning all of the dictionary words found,
 - partial.dic – a file containging the partial password fragments,
 - newpwdump.txt – a rewritten PWDump file with the successfully cracked accounts removed,
 - stats.txt – the cumalative statistics for all cracking runs.
 
You can download LMCrack here:
LMCrack v0.2.1 (35MB)
More info about LMCrack here.



0 comments:
Post a Comment