Passwords 
	
	A password is typically stored, not in clear text, in a database and and
	verification is applied by means of a one-way function, sometimes in
	combination with other data. If the one-way function does not incorporate a
	secret key, as does Kerberos or RSA, it's referred to as a "hash." This is
	the case of the legacy /etc/password file.
	
	
	Possession of a password hash greatly facilitates "cracking" it since the
	cracking program can work on it off-line and evade what a system might have
	in effect (i.e.: limit on the number of login attempts) to prevent
	unauthorized access.
	
 Obtaining passwords 
	
	The ways of obtaining passwords illicitly include:
	
	
	-  social engineering (tricking someone into revealing a password including
				calling a help desk under an assumed identity to have the password
				reset)
	
 -  wiretapping (sniffing out a clear-text or hashed password)
	
 -  keystroke logging (causing a computer to run a program that records
				keystrokes and then makes them available to the hacker)
	
 -  login spoofing (using a program that induces a user to think he or she
				is logging in when in fact, the password used is harvested by the
				hacker)
	
 -  dumpster diving (looking for passwords noted on scraps of paper)
	
 -  phishing (similar to spoofing, but over the Internet via e-mail and/or
				browser)
	
 -  shoulder surfing (looking over the shoulder of a person when he or she
				types a password)
	
 -  timing attack (use of a program to analyze the time it takes for a
				password to be analyzed and inuiting the password through subsequent
				attempts on its own based on remembering the outcome of earlier
				attempts)
	
 -  acoustic cryptanalysis (listening to the clatter of keys or tone of a
				touch pad to ascertain the password)
	
 -  identity management attacks
	
 -  compromise of host security (breaking into the computer and stealing
				passwords or hashes from known locations)
	
 
 Attack methods 
	
	Methods of attack include:
	
	
	-  weak encryption (reversing a weak hashing or cryptographical function)
	
 -  guessing (trying words related to what is known about the user; family
				names, birthdates, alma mater, etc.)
	
 -  dictionary attack (exploit the tendancy of people to choose weak
				passwords including common words, popular fantasy character names, etc.)
	
 -  brute-force attack (trying every possible combination of characters)
	
 -  precomputation (hashing dictionary words ahead of time to diminish the
				amount of time needed to try more words)
	
 
 Shadow passwords 
	
	Shadowing passwords means to increase its security level by hiding even its
	encrypted form from ordinary users. The best example of this is solving the
	problem of /etc/passwd, which is readable by all users including the
	hashed password for any given user, a knowledge of which can greatly reduce
	the time it takes to mount a successful attack.
	
	
	On Linux systems, /etc/shadow stores the real hash for users and is
	not viewable by them. Password fields in /etc/passwd are then filled
	with x. Root access is required to see these hashes.
	
 Links 
Much of the contents of this document were plagierized from
			http://www.en.wikipedia.org/wiki/Password_cracking.