{"id":2518,"date":"2017-06-03T14:26:12","date_gmt":"2017-06-03T14:26:12","guid":{"rendered":"https:\/\/www.hackmethod.com\/?p=2518"},"modified":"2018-12-12T20:56:54","modified_gmt":"2018-12-12T20:56:54","slug":"passwords-cracking-hashes","status":"publish","type":"post","link":"https:\/\/hackmethod.com\/passwords-cracking-hashes\/","title":{"rendered":"Passwords &#8211; Cracking Hashes"},"content":{"rendered":"<h1>Password Safeguards<\/h1>\n<h2>Password Strength<\/h2>\n<p>Password strength or complexity is the goal of having a good password and making it strong against brute-force attacks.\u00a0<em>a<sup>b<\/sup><\/em> where <em>a<\/em> is the possible symbols and <em>b<\/em> is the length. If you have a 4 letter password containing only [0-9] then it might take 10<sup>4 <\/sup>= 10,000 attempts, a computer with a decent graphics card can calculate billions of guesses per second.<\/p>\n<h2>Key Stretching<\/h2>\n<p>Key stretching, also known as key strengthening, is the act of increasing the complexity enough that it wouldn\u2019t be worth the hacker\u2019s time to be able to crack it. This is done by taking a password (its salted version), hashing it, then hashing the output again an x amount of times, increasing the time it takes to crack the original password exponentially by hashing each iteration\u2019s output.<\/p>\n<h2>Salting<\/h2>\n<p>Salting is the process of adding random data (a salt) at the end of a password before hashing it. It is a method commonly used to defend against dictionary and rainbow table attacks. See Fig 1.<\/p>\n<div id=\"attachment_2524\" style=\"width: 501px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.hackmethod.com\/wp-content\/uploads\/2017\/05\/Salting.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2524\" data-attachment-id=\"2524\" data-permalink=\"https:\/\/hackmethod.com\/passwords-cracking-hashes\/salting\/\" data-orig-file=\"https:\/\/i0.wp.com\/hackmethod.com\/wp-content\/uploads\/2017\/05\/Salting.png?fit=491%2C344&amp;ssl=1\" data-orig-size=\"491,344\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Salting\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;How to salt a password&lt;\/p&gt;\n\" data-medium-file=\"https:\/\/i0.wp.com\/hackmethod.com\/wp-content\/uploads\/2017\/05\/Salting.png?fit=300%2C210&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/hackmethod.com\/wp-content\/uploads\/2017\/05\/Salting.png?fit=491%2C344&amp;ssl=1\" class=\"size-full wp-image-2524\" src=\"https:\/\/i0.wp.com\/www.hackmethod.com\/wp-content\/uploads\/2017\/05\/Salting.png?resize=491%2C344&#038;ssl=1\" alt=\"Salting a password\" scale=\"0\" width=\"491\" height=\"344\" srcset=\"https:\/\/i0.wp.com\/hackmethod.com\/wp-content\/uploads\/2017\/05\/Salting.png?w=491&amp;ssl=1 491w, https:\/\/i0.wp.com\/hackmethod.com\/wp-content\/uploads\/2017\/05\/Salting.png?resize=300%2C210&amp;ssl=1 300w\" sizes=\"(max-width: 491px) 100vw, 491px\" \/><\/a><p id=\"caption-attachment-2524\" class=\"wp-caption-text\">Fig 1. Process of salting &#8216;hello&#8217;<\/p><\/div>\n<h1>Cracking Methods<\/h1>\n<h2>Brute-force Attack<\/h2>\n<p>A brute-force attack involves checking every bit until it matches the password\u2019s hash. This is a very inefficient way of password cracking, because if a password is complex enough then it may take an absurdly large amount of time or power before it can be cracked. See Fig 2.<\/p>\n<div id=\"attachment_2522\" style=\"width: 941px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.hackmethod.com\/wp-content\/uploads\/2017\/05\/Brute-force.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2522\" data-attachment-id=\"2522\" data-permalink=\"https:\/\/hackmethod.com\/passwords-cracking-hashes\/brute-force\/\" data-orig-file=\"https:\/\/i0.wp.com\/hackmethod.com\/wp-content\/uploads\/2017\/05\/Brute-force.jpg?fit=931%2C185&amp;ssl=1\" data-orig-size=\"931,185\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Brute-force\" data-image-description=\"&lt;p&gt;Fig 2. Brute-force process 0000 &amp;#8211; 1111&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Fig 2. Brute-force process 0000 &amp;#8211; 1111&lt;\/p&gt;\n\" data-medium-file=\"https:\/\/i0.wp.com\/hackmethod.com\/wp-content\/uploads\/2017\/05\/Brute-force.jpg?fit=300%2C60&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/hackmethod.com\/wp-content\/uploads\/2017\/05\/Brute-force.jpg?fit=931%2C185&amp;ssl=1\" class=\"size-full wp-image-2522\" title=\"\" src=\"https:\/\/i0.wp.com\/www.hackmethod.com\/wp-content\/uploads\/2017\/05\/Brute-force.jpg?resize=931%2C185&#038;ssl=1\" alt=\"\" scale=\"0\" width=\"931\" height=\"185\" srcset=\"https:\/\/i0.wp.com\/hackmethod.com\/wp-content\/uploads\/2017\/05\/Brute-force.jpg?w=931&amp;ssl=1 931w, https:\/\/i0.wp.com\/hackmethod.com\/wp-content\/uploads\/2017\/05\/Brute-force.jpg?resize=600%2C119&amp;ssl=1 600w, https:\/\/i0.wp.com\/hackmethod.com\/wp-content\/uploads\/2017\/05\/Brute-force.jpg?resize=300%2C60&amp;ssl=1 300w, https:\/\/i0.wp.com\/hackmethod.com\/wp-content\/uploads\/2017\/05\/Brute-force.jpg?resize=768%2C153&amp;ssl=1 768w\" sizes=\"(max-width: 931px) 100vw, 931px\" \/><\/a><p id=\"caption-attachment-2522\" class=\"wp-caption-text\">Fig 2. Brute-force process 0000 &#8211; 1111<\/p><\/div>\n<h2>Dictionary Attack<\/h2>\n<p>A dictionary attack is a common first resort against a password hash. People are predictable and make very commonly used passwords. Using a wordlist, a pre-compiled text file list of the most common passwords, the password cracker will go through each password on the list and check if the hash matches the original passwords.<\/p>\n<h2>Rainbow Table Attack<\/h2>\n<p>A rainbow table attack is similar to a dictionary attack except instead of a wordlist just containing plaintext passwords, a rainbow table contains plaintext passwords and their corresponding hash. This saves the hacker plenty of time in exchange for loss of space as these files can be very large.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Password Safeguards Password Strength Password strength or complexity is the goal of having a good password and making it strong against brute-force attacks.\u00a0ab where a is the possible symbols and b is the length. If you have a 4 letter password containing only [0-9] then it might take 104 = 10,000 attempts, a computer with [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[52,86],"tags":[87],"class_list":["post-2518","post","type-post","status-publish","format-standard","hentry","category-hacking","category-roadmap","tag-roadmap"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5zY4D-EC","_links":{"self":[{"href":"https:\/\/hackmethod.com\/wp-json\/wp\/v2\/posts\/2518","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hackmethod.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hackmethod.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hackmethod.com\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/hackmethod.com\/wp-json\/wp\/v2\/comments?post=2518"}],"version-history":[{"count":7,"href":"https:\/\/hackmethod.com\/wp-json\/wp\/v2\/posts\/2518\/revisions"}],"predecessor-version":[{"id":5240,"href":"https:\/\/hackmethod.com\/wp-json\/wp\/v2\/posts\/2518\/revisions\/5240"}],"wp:attachment":[{"href":"https:\/\/hackmethod.com\/wp-json\/wp\/v2\/media?parent=2518"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hackmethod.com\/wp-json\/wp\/v2\/categories?post=2518"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hackmethod.com\/wp-json\/wp\/v2\/tags?post=2518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}