create account

How Hackers Are Cracking Your Passwords by lucabarbera

View this thread on: hive.blogpeakd.comecency.com
· @lucabarbera · (edited)
$5.84
How Hackers Are Cracking Your Passwords
The [previous article in this series](https://peakd.com/hive-175254/@lucabarbera/15-years-of-mistakes-why-everybody-created-insecure-passwords) has described why passwords which were fully compliant with the NIST recommendations from 2003 turned out to be insecure. 

This article, which is the third part of the series, will describe how computers are working and what methods are used to actually crack passwords.

###### How computers will sort things out better than you can scramble

From the previous article it is already known that the recommendations published in Appendix A of *[NIST Special Publication 800-63](http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-63ver1.0.2.pdf)* contained two fatal conceptual flaws.
First, they assumed that an attacker would simply brute-force his way through the password.
Second and most crucially, they did not consider that the attacker could use a method smarter than brute-force.

While there is specialized hardware that allows for extremely fast brute-force execution, that attack is very seldom used because it's stupid, and rarely effective. It is a known fact that, while additional CPU power (provided by [Moore's law](https://en.wikipedia.org/wiki/Moore%27s_law)) can speed up computation, a much larger performance increase - sometimes of several orders of magnitude - can always be achieved with a better algorithm. Therefore, many methods are used by hackers to crack passwords, in increasing order of complexity and effectiveness.

A **dictionary attack**, as seen before, is already a smarter way: every word in the dictionary is a potential password, and password-cracking oriented dictionaries already include common substitutions (for example "*antid0te*" for "*antidote*") and numeric entries. It has a very low computation cost as it only requires a table look-up, and can therefore be performed at extremely high speed. 

A **toggle-case attack** creates every possible case combination for each word in a dictionary. For example the password candidate "*antidote*" would also generate "*Antidote*", "*aNtidote*", "*anTidote*" and so on. This has a very low computation cost and completely neutralizes Burr's requirement of having both uppercase and lowercase letters in a password.

A **hybrid attack** is a blend of a dictionary and a brute-force attack that makes a dictionary attack stronger by placing a string of brute-force characters to the beginning or the end of the dictionary entries. For example the algorithm will quickly find "*password1*", as well as "*password001*" and "*password 002*" and all the progressive combinations (including "*001password*" and all its variants). 

A **combinator attack** appends dictionary entries to other dictionary entries. It is an effective method because users often choose passwords that combine a few common, easy-to-remember keywords, for instance "*12345qwert*" (where *12345* and *qwert* result from the top two rows of a standard QWERTY keyboard). In this case, the combinator would try "*12345qwert*" and "*qwert12345*" as possible passwords. About the effectiveness of this attack, suffice to remember that "*123qwe*" ranked #25 in the [Most Common Passwords List](https://web.archive.org/web/20200521130815/https://www.teamsid.com/1-50-worst-passwords-2019/) in 2019, and "*abc123*" ranked #11.

In a **table-lookup attack** each word in a dictionary generates masks for a mask attack while creating new words by consulting a table. It is effective for guessing passwords when the user replaced one or more characters with numbers or symbols (for example "*antid0t&*" instead of "*antidote*") and it is augmented with dictionaries that already include the most common substitutions. This attack neutralizes Burr's requirement to have numbers and special characters in a password when they are used to replace letters.

The most effective and sophisticated password attack method normally implemented is, at the time of writing, the **rule-based attack**. It’s one of the more complex types of attacks, but the possibilities are effectively endless. The rule-based attack is like a programming language designed for password candidate generation, and it uses optimizations to eliminate possibilities. It has functions to modify, cut or extend words and has conditional operators to skip some. That makes it - according to the [HashCat documentation](https://hashcat.net/wiki/doku.php?id=rule_based_attack) - the most flexible, accurate and efficient attack. 

###### Going beyond rules: the PRINCE attack

A very promising method for password cracking has recently emerged: the **PRINCE attack** (β€œ*PRobability INfinite Chained Elements*”). [Presented by author Jens Steube](https://hashcat.net/events/p14-trondheim/prince-attack.pdf) at the 7th International Conference on Passwords (Passwords14, held in Trondheim in 2014), the PRINCE attack uses an algorithm to try the most likely password candidates with a refined combinator attack. However, rather than taking as input two different dictionaries and then outputting all the possible two word combinations, PRINCE only has one input dictionary and builds "chains" of combined words; these chains can have 1 to N words from the input dictionary concatenated together.

The real power of PRINCE is that it can run essentially autonomous for a near infinite amount of time, limited only by the provided dictionary, generating in the process password candidates, patterns and rule sets that password cracking frameworks like HashCat can use to attack a keyword. In other words, PRINCE is a tool that generates high quality input, patterns and rules to feed and optimize the (already very efficient) process of keyword cracking performed by the HashCat framework. This results in a very powerful attack that can defeat more passwords in less time: 

> When left on it's own, supplied with a simple dictionary, PRINCE could easily crack 75% of the LinkedIn dataset in 24 hours.

(source: [NetMux](https://www.netmux.com/blog/purple-rain-attack))

Matt Weir of ReusableSec has written a [very detailed analysis](https://reusablesec.blogspot.com/2014/12/tool-deep-dive-prince.html) of *princeprocessor*, the standalone password candidate generator implementation ([available on GitHub](https://github.com/hashcat/princeprocessor)).

###### How long can a password resist?

By using a combination of two or more of the methods listed above, an attacker can quickly crack most passwords obtained in a data breach in a matter of hours, and the vast majority of them within days: that is fast enough to use them and compromise the accounts they belong to. 

At this point it should be obvious that a strategy based on *at least one upper case letter, one lower case letter, one number, and one special character* is not, on its own, providing any real security and will not last very long against an determined opponent. How long exactly, can be seen in the table below:

![timeItTakesToCrackYourPassword.jpg](https://files.peakd.com/file/peakd-hive/lucabarbera/rXqZuMx1-timeItTakesToCrackYourPassword.jpg)



(source: [Hive Systems](https://www.hivesystems.io/blog/are-your-passwords-in-the-green) and [Mike Halsey](https://twitter.com/MikeHalsey))

Note how the table above is referred to the time it takes a hacker to crack a password by brute-force alone: any real world scenario will make use of the other advanced attacks, which bring down the time required to a matter of few hours for the vast majority of password. 
Now that Burr's rules have been demonstrated to be flawed, it is necessary to reconsider what actually constitutes a strong password, and what best practices can be implemented to create them.  

(to be continued in part 4)
πŸ‘  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 155 others
properties (23)
authorlucabarbera
permlinkhow-hackers-are-cracking-your-passwords
categoryhive-175254
json_metadata"{"app":"peakd/2020.09.5","format":"markdown","description":"Computers will sort things out better than you can scramble.","tags":["security","encryption","passwords"],"users":["lucabarbera"],"links":["/hive-175254/@lucabarbera/15-years-of-mistakes-why-everybody-created-insecure-passwords","http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-63ver1.0.2.pdf","https://en.wikipedia.org/wiki/Moore%27s_law","https://web.archive.org/web/20200521130815/https://www.teamsid.com/1-50-worst-passwords-2019/","https://hashcat.net/wiki/doku.php?id=rule_based_attack","https://hashcat.net/events/p14-trondheim/prince-attack.pdf","https://www.netmux.com/blog/purple-rain-attack","https://reusablesec.blogspot.com/2014/12/tool-deep-dive-prince.html","https://github.com/hashcat/princeprocessor","https://www.hivesystems.io/blog/are-your-passwords-in-the-green"],"image":["https://files.peakd.com/file/peakd-hive/lucabarbera/rXqZuMx1-timeItTakesToCrackYourPassword.jpg"]}"
created2020-09-30 14:16:45
last_update2020-09-30 14:19:30
depth0
children3
last_payout2020-10-07 14:16:45
cashout_time1969-12-31 23:59:59
total_payout_value2.540 HBD
curator_payout_value3.300 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length7,740
author_reputation8,068,318,645,553
root_title"How Hackers Are Cracking Your Passwords"
beneficiaries
0.
accounthiveonboard
weight100
1.
accountoracle-d
weight100
2.
accountpeakd
weight300
3.
accountph-fund
weight2,000
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id99,894,109
net_rshares26,719,436,069,663
author_curate_reward""
vote details (219)
@amestyj ·
Greetings, the methods hackers use are impressive, it's a thorough job, thanks for sharing some of the ways they do it.

See you later, have a great week !
properties (22)
authoramestyj
permlinkqhk134
categoryhive-175254
json_metadata{"app":"hiveblog/0.1"}
created2020-10-02 03:16:18
last_update2020-10-02 03:16:18
depth1
children0
last_payout2020-10-09 03:16:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length155
author_reputation208,819,680,189,382
root_title"How Hackers Are Cracking Your Passwords"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id99,920,246
net_rshares0
@crypto.piotr ·
Dear @lucabarbera

Finally - I've managed to find few minutes to catch up with reading. I bookmarked your post a while ago but I only had a chance now to check it out. 

Thank you for sharing your knowledge in area of IT security and safety. It's easy to be ignorant as long as we do not end up victims of any scam/hack.

Solid read. Have a great week ahead :)
Yours, Piotr
properties (22)
authorcrypto.piotr
permlinkqhq4c1
categoryhive-175254
json_metadata{"users":["lucabarbera"],"app":"hiveblog/0.1"}
created2020-10-05 10:12:03
last_update2020-10-05 10:12:03
depth1
children0
last_payout2020-10-12 10:12:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length373
author_reputation27,396,789,428,606
root_title"How Hackers Are Cracking Your Passwords"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id99,972,628
net_rshares0
@hivebuzz ·
Congratulations @lucabarbera! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :

<table><tr><td><img src="https://images.hive.blog/60x70/http://hivebuzz.me/@lucabarbera/upvoted.png?202010052044"></td><td>You received more than 2500 upvotes. Your next target is to reach 2750 upvotes.</td></tr>
</table>

<sub>_You can view your badges on [your board](https://hivebuzz.me/@lucabarbera) and compare yourself to others in the [Ranking](https://hivebuzz.me/ranking)_</sub>
<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>



**Do not miss the last post from @hivebuzz:**
<table><tr><td><a href="/hivebuzz/@hivebuzz/feedback-from-the-october-1st-hive-power-up-day"><img src="https://images.hive.blog/64x128/https://i.imgur.com/lZQYVmN.png"></a></td><td><a href="/hivebuzz/@hivebuzz/feedback-from-the-october-1st-hive-power-up-day">Feedback from the October 1st Hive Power Up Day</a></td></tr></table>
properties (22)
authorhivebuzz
permlinkhivebuzz-notify-lucabarbera-20201005t210405000z
categoryhive-175254
json_metadata{"image":["http://hivebuzz.me/notify.t6.png"]}
created2020-10-05 21:04:03
last_update2020-10-05 21:04:03
depth1
children0
last_payout2020-10-12 21:04:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,011
author_reputation370,036,323,107,293
root_title"How Hackers Are Cracking Your Passwords"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id99,981,521
net_rshares0