分类: 网络与安全
2009-03-30 06:46:10
Most people are clueless as to how accounts are hacked and their passwords reflect that. If you find anything in common with the most common passwords below you have a weak password. This is to help people choose a strong password and possibly help site admins understand the risks.
Some sites force you to have passwords with both numbers and letters. For example bob's password is football, and the site asks him to add some numbers to it to make it valid. Here's what people usually add.
Years are usually added in different ways: football85, football1985, football04 instead of football4. There's also the possibility of sub-connections like football_04 and football-84. Many sites require both numbers and letters so these are a more likely occurance since people tend to want to have the same pass for everything.
Mixed numbers and letters over 8 characters long. Memorize it once, use it forever.
If they have hacked and downloaded the entire database it's 10000 times faster than if they send requests guessing your passwords on certain websites. Most decent comps can check easily thousands possibilities per second. Most decent sites have captchas now which prevent brute force guesses.
If they steal a sites database you can get hacked fast, even if you use foreign words. The open office english spellcheck has around 70,000 words. Apps like passwordspro on my 2 Ghz cpu can check around 4,000,000 md5 possibilities a second, allowing to to breeze through several dictionaries, including possible variations like all uppercase/lowercase and backwards words. The latest nvidia cards with a coda gpu brute forcer can easily exceed 200 million md5s a second.
If you have an all numbers password it's much faster to crack than if it were mixed. Instead of having a massive array of words in memory and selecting an index from it, or even worse reading from disk every few seconds in a buffer, having a number just requires the computer to do what computers do fastest, count. At 2 Ghz my comp can check every number up to 14 million in 2 minute for salted md5s, making it possible to have a weak 8 character password. Adding 0s to the front of the number can help, but not really. A second pass with any number of 0s can be done afterwards. Maybe if you made it your zipcode+your best friends number or something VERY long it would be strong enough.
Every possible combination of 3 letter words is only around 17000 while every possible 4 letter word combination is 456976. It grows exponentially every time you increase just one letter. Most sites recommend 8 characters or more for a strong password. Adding just 1 character to your password helps expontentially. No dictionary words!
Contrary to popular belief most malicious hackers do not give a damn about giving you trojans or making your stupid windows computer crash. Then why are there so many trojans in p2p networks? Because of retarted script kiddy teenagers and nigerians that fancy themselves hackers using prebuilt trojan software. Hackers target servers. Why?
They can get a lot of credit card numbers or bank account information email bombing thousands of emails on a hijacked server rather than waiting to find a credit card number amongst all the instant messages and random typing you / your kids type throughout the month.
Sure there's been a lot of home PCs infected, but usually this is the result of very efficient viruses that replicate and spread in-mass. Most people have decent antivirus software for hackers to want to waste their time flooding trojans. Some hackers use hijacked home PCs as DDoS zombies, but other than that you're more likely just to get spyware that floods you with ads.
Most malicious hackers just wait for security update news. Whenever some forum or cms software like drupal, vbulletin, phpbb or invision board releases a security update, they try and find what the discovered exploit was. They google search for forums that may have the affected system and use the exploit. Forums can give tons of emails / passwords.
The ones who are skilled enough and actively attempt to discover the exploits are more rare.
Even worse is when the skilled programmers make simple automated exploit programs for script kiddies to use without even understanding the code. This is where the majority of the attacks come from, losers that use programs made by hacker and call themselves hackers.
It's super rare that you would be targeted or your password has been hacked from large sites like google, hotmail or myspace. Most of the big sites have capchas and DDoS protection, which cripples speed, It's more likely they hacked some other site that you long forgot about and found you conveniently use the same password for all your accounts including your email. From there they find even more passwords.. Most people get hacked from or other forms of social engineering rather than real hackers, although they can use XSS vulnerabilities to help trick people. People also get trojans from opening email extensions and downloading pirate stuff off p2p without a decent antivirus. Hackers with skills enough to find open ports / exploit them and get shell access are much more rare than people claim.
Most are stored as md5 hashes. If your password is stored without encryption you are screwed if the site gets hacked. It doesn't matter how long your password is. Sites like thepiratebay and stage6 have gotten their passwords stolen, don't think it can't happen to big sites. You can tell if a site encrypts your password by using their password recovery form. If it gives you your password your password is not encrypted. If it asks you to enter a new one or it generates a password for you, it has your password encrypted. You should never purchase anything from sites that don't encrypt your password, they may keep your credit card information or other sensitive data without encryption following their php for dummies guide
Sites like milw0rm and plain-text have millions, maybe billions of precomputed hash values in what are called . People can enter hashes in limited quantities to put on queue for cracking. md5 is a one-way hash, meaning it can't be decrypted. Instead, they try every possible combination in a limited range. Encrypting many possibilities and comparing them to the original hash is extremely slow. Rainbow tables make it so that the possibilities are encrypted only once and the resulting hashes are saved into massive files called a Rainbow table. From there the real hashes are compared to all the possibility hashes in the rainbow table. This avoids recalculating the hashes for every possibility for every user but in exchange costs a lot of overhead loading the file into memory and comparing from memory. The time-memory trade off is worth it. Other sites are just searchable databases of hashes. You still should be ok if your pass is over 8 characters long. Some sites do double md5s or concatenate md5 encrypted passwords with an encrypted "salted" value, then encrypt the whole thing again. Because the salted value is different for each user, precalculating millions of hashes in rainbow tables would have to be done one user at a time, making it a worse option that brute forcing it. Brute force attacks use word lists separated by line breaks which are widely available around the net and can be easily created, they can also check all possible combinations for certain ranges and character sets.
Making your password case sensitive helps exponentially, specifically ^+26 lol, but it makes typing a pass a bit more inconvenient and not all sites support it. I'm sure my prog isn't the most efficient possible and there are way faster comps out there so be careful.
People who exploit website vulnerabilities are not always the same as those who crack and keygen commercial software and games. The two require a few different skill sets. Web hacking requires mastery knowledge of the http protocol, cookies, php, asp, SQL, and the methods user input is usually validated. The skill is gained from a lot of practice writing safe web-apps and observing the exploits found often in others. Program crackers on the other hand usually have very intimate knowledge of assembly and non-JIT compilers. They use a debuggers to find exactly where in the program a certain procedure is executed in order to modify it. They are also apt in modifying and exploiting unvalidated user input in the memory with buffer overflows. Browser plugins are often the target to buffer overflow exploits. I'm not saying some people don't have both skill sets.
Contrary to popular belief and the Hollywood culture, hackers are just people that can manipulate things on a bits and bytes level. They're excellent programmers and the majority do not engage in illegal activity. Making something do what it wasn't intended to is exploiting, not hacking.