How are passwords stolen from companies if they only store hashes?Why do some large companies still store passwords in plain text/decrypt-able format?I've heard that salt is not meant to be secret, but what if I made it secret?Email hacking mythHow to store passwords securely in my server?How secure are “pattern” passwords?Are bad passwords used to breach security in real life?What are the security implications of storing multiple hashes for similar passwords?How safe is it to store your passwords in web browsers?What are the security risks of logging the hash of rejected passwords?Trouble understanding how passwords are authenticated

A diagram about partial derivatives of f(x,y)

How to terminate ping <dest> &

Why does a Star of David appear at a rally with Francisco Franco?

Adventure Game (text based) in C++

Describing a chess game in a novel

Most cost effective thermostat setting: consistent temperature vs. lowest temperature possible

Why does energy conservation give me the wrong answer in this inelastic collision problem?

Recruiter wants very extensive technical details about all of my previous work

What is a ^ b and (a & b) << 1?

How to pronounce "I ♥ Huckabees"?

How difficult is it to simply disable/disengage the MCAS on Boeing 737 Max 8 & 9 Aircraft?

Why do passenger jet manufacturers design their planes with stall prevention systems?

Math equation in non italic font

This word with a lot of past tenses

Why did it take so long to abandon sail after steamships were demonstrated?

combinatorics floor summation

I am confused as to how the inverse of a certain function is found.

Tikz picture of two mathematical functions

What is the significance behind "40 days" that often appears in the Bible?

Have the tides ever turned twice on any open problem?

Why do newer 737s use two different styles of split winglets?

Can I use USB data pins as power source

Is there a hypothetical scenario that would make Earth uninhabitable for humans, but not for (the majority of) other animals?

Why no Iridium-level flares from other satellites?



How are passwords stolen from companies if they only store hashes?


Why do some large companies still store passwords in plain text/decrypt-able format?I've heard that salt is not meant to be secret, but what if I made it secret?Email hacking mythHow to store passwords securely in my server?How secure are “pattern” passwords?Are bad passwords used to breach security in real life?What are the security implications of storing multiple hashes for similar passwords?How safe is it to store your passwords in web browsers?What are the security risks of logging the hash of rejected passwords?Trouble understanding how passwords are authenticated













3















Everywhere I look it says servers store passwords in hashed form, but then you have those breaking news about hackers stealing passwords from large companies. What am I missing?










share|improve this question







New contributor




W2a is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 3





    Have you ever heard of password cracking?

    – kelalaka
    4 hours ago






  • 1





    Passwords could be stolen also by eavesdropping them on the points they pass unencrypted. And at least on a point they are unencrypted, namely on the keyboard of the user.

    – peterh
    3 hours ago
















3















Everywhere I look it says servers store passwords in hashed form, but then you have those breaking news about hackers stealing passwords from large companies. What am I missing?










share|improve this question







New contributor




W2a is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 3





    Have you ever heard of password cracking?

    – kelalaka
    4 hours ago






  • 1





    Passwords could be stolen also by eavesdropping them on the points they pass unencrypted. And at least on a point they are unencrypted, namely on the keyboard of the user.

    – peterh
    3 hours ago














3












3








3








Everywhere I look it says servers store passwords in hashed form, but then you have those breaking news about hackers stealing passwords from large companies. What am I missing?










share|improve this question







New contributor




W2a is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












Everywhere I look it says servers store passwords in hashed form, but then you have those breaking news about hackers stealing passwords from large companies. What am I missing?







passwords






share|improve this question







New contributor




W2a is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




W2a is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




W2a is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 4 hours ago









W2aW2a

161




161




New contributor




W2a is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





W2a is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






W2a is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 3





    Have you ever heard of password cracking?

    – kelalaka
    4 hours ago






  • 1





    Passwords could be stolen also by eavesdropping them on the points they pass unencrypted. And at least on a point they are unencrypted, namely on the keyboard of the user.

    – peterh
    3 hours ago













  • 3





    Have you ever heard of password cracking?

    – kelalaka
    4 hours ago






  • 1





    Passwords could be stolen also by eavesdropping them on the points they pass unencrypted. And at least on a point they are unencrypted, namely on the keyboard of the user.

    – peterh
    3 hours ago








3




3





Have you ever heard of password cracking?

– kelalaka
4 hours ago





Have you ever heard of password cracking?

– kelalaka
4 hours ago




1




1





Passwords could be stolen also by eavesdropping them on the points they pass unencrypted. And at least on a point they are unencrypted, namely on the keyboard of the user.

– peterh
3 hours ago






Passwords could be stolen also by eavesdropping them on the points they pass unencrypted. And at least on a point they are unencrypted, namely on the keyboard of the user.

– peterh
3 hours ago











4 Answers
4






active

oldest

votes


















3














When you here that passwords being stolen sometimes company's will report that and recommend action even if it's just that hashed passwords that were stolen. This is so you can take action in the case that they are broken. Unfortunately there are still company's that store there passwords incorrectly for example if you search for the rockyou password breach you'll find that they were storing there passwords in clear text witch ment that they were compromised as soon as they were stolen. Other cases such as Adobe password breach there was miss handling of storing the encrypted passwords in there database. Other times company's use hashing on there passwords but use insecure hashing algorithms or they don't salt there passwords properly. In short if a company follows recommended password storage methods the passwords in theory should be safe in there hashed form but a good company will still inform there customers of the breach. However, there are plenty of examples where company's do not store passwords correctly leading them to be cracked quite quickly.






share|edit






























    1














    Servers don't store passwords in hashed format, this is something that is implemented by us.



    As we are not discussing how the passwords have been stolen, and more so the aftermath, I'll avoid the many number of factors said companies should implement to help prevent these data breaches.



    If you make a website and manage the database, it's down to us to store that information efficiently. If we don't, when there is a data breach attackers can view passwords in what may as well be plain text, as often is the case (depending on the way in which these are stored).



    In short, you'd never want this to happen! -- Password cracking is a very common and real thing, just because passwords are hashed does not make them in anyway secure.



    Let's say a company has 1000 customer passwords, all of which are hashed.



    Let's say 600 of those customers had a password, 8 characters long, the likelihood of those passwords being cracked within the first 5 minutes (being generous) is very high.



    "5 minutes?! But they were hashed!"....



    Yeah, but the passwords of those 600 customers were still poor, along with an equally poor hashing algorithm.



    Without going into too much detail in the interest of simplifying the explanation; password cracking works by simply matching the hash to a dictionary file of words, running through each word to see if their hash matches the ones that have been obtained from those 600 customers, for example, your password might be:



    Password: Security



    MD5 Hashed: 2FAE32629D4EF4FC6341F1751B405E45



    I then just run some favorable hacking tools against those hashes to "crack" them.



    Should you ever want to store passwords yourself, MD5 should be avoided, above was purely for example purposes. Instead research the more stronger types of hashing algorithms, it makes it much harder for attackers to successfully make use of the passwords they have stolen.



    Edit



    After re-reading the title you do indeed specify "How are passwords stolen if they only store hashes"



    The short answer; hashing, or whatever format you store your passwords has no effect on the ability for hackers to steal these. They are stolen because of a variety of different vulnerabilities. There are a multitude of attacks in which help obtain passwords (hashed or not).






    share|improve this answer










    New contributor




    Tipping44 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.



























      1














      You hash a large number of passwords, then check if the output matches any of the stored hashes. Brute force cracking is feasible because people do not usually choose highly unpredictable passwords.



      When a password database is stolen, the stolen material includes all the information necessary to do offline cracking. (It's simply a guess and check process. Other methods may be available with less secure hashing or password storage methods.)




      Hashing passwords with a preimage resistant functions with a sufficiently unpredictable input is enough to make it impossible recover a password. (An inhumanly strong password.)



      However, most people don't do this in the real world, a stolen database of hashes is potentially as worrying as a list of unhashed passwords for a large subset of users on a typical website.



      If the password cracker finds candidate password whose hash matches the one stored in the database, then he will have recovered the original (weak) password.




      Alternatively, if a hash function is not preimage resistant (including when the output of the hash is too short) a guess-and-check procedure may produce false positives. (Alternative passwords not identical to the original.)



      The accounts of users from the company with the data breach are still vulnerable because these passwords will unlock a user's account, even if they aren't identical to the original password. (The server has no way to tell if it's the original password. The hash still matches the one in the stolen database in this case.)



      Don't intentionally use an insecure hash function, of course... It's still possible to infer the original password or narrow down the number of possibilities. Which would still make users that reuse passwords on other websites extra vulnerable.






      share|improve this answer
































        0














        There are two common failings, over an above letting the databases or files get stolen in the first place.



        Unfortunately, and against all security recommendations, many systems still store clear text passwords.



        Hashed passwords are technically not reversible, but as has been pointed out by others, it's possible to hash millions of password guesses then simply look for matches. In fact, what usually happens is that tables of precomputed passwords and hashes (Rainbow Tables) are available and used to look for matches. A good rainbow table can support a high percentage match in fractions of a second per password hash.



        Using a salt (an extra non-secret extension of the password) in the hash prevents the use of pre-computed rainbow tables.



        Most compromisers depend upon rainbow tables. Computing their own hash set is certainly possible, but it's extremely time consuming (as in months or longer), so it's generally the vanilla hash that's vulnerable.



        Using a salt stops rainbow tables, and a high round count of hashed hashes of hashes can make brute force transition from months to years or longer. Most institutions simply don't implement this level of security.






        share|improve this answer






















          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "162"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          W2a is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsecurity.stackexchange.com%2fquestions%2f205519%2fhow-are-passwords-stolen-from-companies-if-they-only-store-hashes%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          4 Answers
          4






          active

          oldest

          votes








          4 Answers
          4






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3














          When you here that passwords being stolen sometimes company's will report that and recommend action even if it's just that hashed passwords that were stolen. This is so you can take action in the case that they are broken. Unfortunately there are still company's that store there passwords incorrectly for example if you search for the rockyou password breach you'll find that they were storing there passwords in clear text witch ment that they were compromised as soon as they were stolen. Other cases such as Adobe password breach there was miss handling of storing the encrypted passwords in there database. Other times company's use hashing on there passwords but use insecure hashing algorithms or they don't salt there passwords properly. In short if a company follows recommended password storage methods the passwords in theory should be safe in there hashed form but a good company will still inform there customers of the breach. However, there are plenty of examples where company's do not store passwords correctly leading them to be cracked quite quickly.






          share|edit



























            3














            When you here that passwords being stolen sometimes company's will report that and recommend action even if it's just that hashed passwords that were stolen. This is so you can take action in the case that they are broken. Unfortunately there are still company's that store there passwords incorrectly for example if you search for the rockyou password breach you'll find that they were storing there passwords in clear text witch ment that they were compromised as soon as they were stolen. Other cases such as Adobe password breach there was miss handling of storing the encrypted passwords in there database. Other times company's use hashing on there passwords but use insecure hashing algorithms or they don't salt there passwords properly. In short if a company follows recommended password storage methods the passwords in theory should be safe in there hashed form but a good company will still inform there customers of the breach. However, there are plenty of examples where company's do not store passwords correctly leading them to be cracked quite quickly.






            share|edit

























              3












              3








              3







              When you here that passwords being stolen sometimes company's will report that and recommend action even if it's just that hashed passwords that were stolen. This is so you can take action in the case that they are broken. Unfortunately there are still company's that store there passwords incorrectly for example if you search for the rockyou password breach you'll find that they were storing there passwords in clear text witch ment that they were compromised as soon as they were stolen. Other cases such as Adobe password breach there was miss handling of storing the encrypted passwords in there database. Other times company's use hashing on there passwords but use insecure hashing algorithms or they don't salt there passwords properly. In short if a company follows recommended password storage methods the passwords in theory should be safe in there hashed form but a good company will still inform there customers of the breach. However, there are plenty of examples where company's do not store passwords correctly leading them to be cracked quite quickly.






              share|edit













              When you here that passwords being stolen sometimes company's will report that and recommend action even if it's just that hashed passwords that were stolen. This is so you can take action in the case that they are broken. Unfortunately there are still company's that store there passwords incorrectly for example if you search for the rockyou password breach you'll find that they were storing there passwords in clear text witch ment that they were compromised as soon as they were stolen. Other cases such as Adobe password breach there was miss handling of storing the encrypted passwords in there database. Other times company's use hashing on there passwords but use insecure hashing algorithms or they don't salt there passwords properly. In short if a company follows recommended password storage methods the passwords in theory should be safe in there hashed form but a good company will still inform there customers of the breach. However, there are plenty of examples where company's do not store passwords correctly leading them to be cracked quite quickly.







              share|edit












              share|edit



              share|edit










              answered 4 hours ago









              Dam30nDam30n

              411




              411























                  1














                  Servers don't store passwords in hashed format, this is something that is implemented by us.



                  As we are not discussing how the passwords have been stolen, and more so the aftermath, I'll avoid the many number of factors said companies should implement to help prevent these data breaches.



                  If you make a website and manage the database, it's down to us to store that information efficiently. If we don't, when there is a data breach attackers can view passwords in what may as well be plain text, as often is the case (depending on the way in which these are stored).



                  In short, you'd never want this to happen! -- Password cracking is a very common and real thing, just because passwords are hashed does not make them in anyway secure.



                  Let's say a company has 1000 customer passwords, all of which are hashed.



                  Let's say 600 of those customers had a password, 8 characters long, the likelihood of those passwords being cracked within the first 5 minutes (being generous) is very high.



                  "5 minutes?! But they were hashed!"....



                  Yeah, but the passwords of those 600 customers were still poor, along with an equally poor hashing algorithm.



                  Without going into too much detail in the interest of simplifying the explanation; password cracking works by simply matching the hash to a dictionary file of words, running through each word to see if their hash matches the ones that have been obtained from those 600 customers, for example, your password might be:



                  Password: Security



                  MD5 Hashed: 2FAE32629D4EF4FC6341F1751B405E45



                  I then just run some favorable hacking tools against those hashes to "crack" them.



                  Should you ever want to store passwords yourself, MD5 should be avoided, above was purely for example purposes. Instead research the more stronger types of hashing algorithms, it makes it much harder for attackers to successfully make use of the passwords they have stolen.



                  Edit



                  After re-reading the title you do indeed specify "How are passwords stolen if they only store hashes"



                  The short answer; hashing, or whatever format you store your passwords has no effect on the ability for hackers to steal these. They are stolen because of a variety of different vulnerabilities. There are a multitude of attacks in which help obtain passwords (hashed or not).






                  share|improve this answer










                  New contributor




                  Tipping44 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.
























                    1














                    Servers don't store passwords in hashed format, this is something that is implemented by us.



                    As we are not discussing how the passwords have been stolen, and more so the aftermath, I'll avoid the many number of factors said companies should implement to help prevent these data breaches.



                    If you make a website and manage the database, it's down to us to store that information efficiently. If we don't, when there is a data breach attackers can view passwords in what may as well be plain text, as often is the case (depending on the way in which these are stored).



                    In short, you'd never want this to happen! -- Password cracking is a very common and real thing, just because passwords are hashed does not make them in anyway secure.



                    Let's say a company has 1000 customer passwords, all of which are hashed.



                    Let's say 600 of those customers had a password, 8 characters long, the likelihood of those passwords being cracked within the first 5 minutes (being generous) is very high.



                    "5 minutes?! But they were hashed!"....



                    Yeah, but the passwords of those 600 customers were still poor, along with an equally poor hashing algorithm.



                    Without going into too much detail in the interest of simplifying the explanation; password cracking works by simply matching the hash to a dictionary file of words, running through each word to see if their hash matches the ones that have been obtained from those 600 customers, for example, your password might be:



                    Password: Security



                    MD5 Hashed: 2FAE32629D4EF4FC6341F1751B405E45



                    I then just run some favorable hacking tools against those hashes to "crack" them.



                    Should you ever want to store passwords yourself, MD5 should be avoided, above was purely for example purposes. Instead research the more stronger types of hashing algorithms, it makes it much harder for attackers to successfully make use of the passwords they have stolen.



                    Edit



                    After re-reading the title you do indeed specify "How are passwords stolen if they only store hashes"



                    The short answer; hashing, or whatever format you store your passwords has no effect on the ability for hackers to steal these. They are stolen because of a variety of different vulnerabilities. There are a multitude of attacks in which help obtain passwords (hashed or not).






                    share|improve this answer










                    New contributor




                    Tipping44 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.






















                      1












                      1








                      1







                      Servers don't store passwords in hashed format, this is something that is implemented by us.



                      As we are not discussing how the passwords have been stolen, and more so the aftermath, I'll avoid the many number of factors said companies should implement to help prevent these data breaches.



                      If you make a website and manage the database, it's down to us to store that information efficiently. If we don't, when there is a data breach attackers can view passwords in what may as well be plain text, as often is the case (depending on the way in which these are stored).



                      In short, you'd never want this to happen! -- Password cracking is a very common and real thing, just because passwords are hashed does not make them in anyway secure.



                      Let's say a company has 1000 customer passwords, all of which are hashed.



                      Let's say 600 of those customers had a password, 8 characters long, the likelihood of those passwords being cracked within the first 5 minutes (being generous) is very high.



                      "5 minutes?! But they were hashed!"....



                      Yeah, but the passwords of those 600 customers were still poor, along with an equally poor hashing algorithm.



                      Without going into too much detail in the interest of simplifying the explanation; password cracking works by simply matching the hash to a dictionary file of words, running through each word to see if their hash matches the ones that have been obtained from those 600 customers, for example, your password might be:



                      Password: Security



                      MD5 Hashed: 2FAE32629D4EF4FC6341F1751B405E45



                      I then just run some favorable hacking tools against those hashes to "crack" them.



                      Should you ever want to store passwords yourself, MD5 should be avoided, above was purely for example purposes. Instead research the more stronger types of hashing algorithms, it makes it much harder for attackers to successfully make use of the passwords they have stolen.



                      Edit



                      After re-reading the title you do indeed specify "How are passwords stolen if they only store hashes"



                      The short answer; hashing, or whatever format you store your passwords has no effect on the ability for hackers to steal these. They are stolen because of a variety of different vulnerabilities. There are a multitude of attacks in which help obtain passwords (hashed or not).






                      share|improve this answer










                      New contributor




                      Tipping44 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                      Check out our Code of Conduct.










                      Servers don't store passwords in hashed format, this is something that is implemented by us.



                      As we are not discussing how the passwords have been stolen, and more so the aftermath, I'll avoid the many number of factors said companies should implement to help prevent these data breaches.



                      If you make a website and manage the database, it's down to us to store that information efficiently. If we don't, when there is a data breach attackers can view passwords in what may as well be plain text, as often is the case (depending on the way in which these are stored).



                      In short, you'd never want this to happen! -- Password cracking is a very common and real thing, just because passwords are hashed does not make them in anyway secure.



                      Let's say a company has 1000 customer passwords, all of which are hashed.



                      Let's say 600 of those customers had a password, 8 characters long, the likelihood of those passwords being cracked within the first 5 minutes (being generous) is very high.



                      "5 minutes?! But they were hashed!"....



                      Yeah, but the passwords of those 600 customers were still poor, along with an equally poor hashing algorithm.



                      Without going into too much detail in the interest of simplifying the explanation; password cracking works by simply matching the hash to a dictionary file of words, running through each word to see if their hash matches the ones that have been obtained from those 600 customers, for example, your password might be:



                      Password: Security



                      MD5 Hashed: 2FAE32629D4EF4FC6341F1751B405E45



                      I then just run some favorable hacking tools against those hashes to "crack" them.



                      Should you ever want to store passwords yourself, MD5 should be avoided, above was purely for example purposes. Instead research the more stronger types of hashing algorithms, it makes it much harder for attackers to successfully make use of the passwords they have stolen.



                      Edit



                      After re-reading the title you do indeed specify "How are passwords stolen if they only store hashes"



                      The short answer; hashing, or whatever format you store your passwords has no effect on the ability for hackers to steal these. They are stolen because of a variety of different vulnerabilities. There are a multitude of attacks in which help obtain passwords (hashed or not).







                      share|improve this answer










                      New contributor




                      Tipping44 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                      Check out our Code of Conduct.









                      share|improve this answer



                      share|improve this answer








                      edited 3 hours ago





















                      New contributor




                      Tipping44 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                      Check out our Code of Conduct.









                      answered 3 hours ago









                      Tipping44Tipping44

                      412




                      412




                      New contributor




                      Tipping44 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                      Check out our Code of Conduct.





                      New contributor





                      Tipping44 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                      Check out our Code of Conduct.






                      Tipping44 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                      Check out our Code of Conduct.





















                          1














                          You hash a large number of passwords, then check if the output matches any of the stored hashes. Brute force cracking is feasible because people do not usually choose highly unpredictable passwords.



                          When a password database is stolen, the stolen material includes all the information necessary to do offline cracking. (It's simply a guess and check process. Other methods may be available with less secure hashing or password storage methods.)




                          Hashing passwords with a preimage resistant functions with a sufficiently unpredictable input is enough to make it impossible recover a password. (An inhumanly strong password.)



                          However, most people don't do this in the real world, a stolen database of hashes is potentially as worrying as a list of unhashed passwords for a large subset of users on a typical website.



                          If the password cracker finds candidate password whose hash matches the one stored in the database, then he will have recovered the original (weak) password.




                          Alternatively, if a hash function is not preimage resistant (including when the output of the hash is too short) a guess-and-check procedure may produce false positives. (Alternative passwords not identical to the original.)



                          The accounts of users from the company with the data breach are still vulnerable because these passwords will unlock a user's account, even if they aren't identical to the original password. (The server has no way to tell if it's the original password. The hash still matches the one in the stolen database in this case.)



                          Don't intentionally use an insecure hash function, of course... It's still possible to infer the original password or narrow down the number of possibilities. Which would still make users that reuse passwords on other websites extra vulnerable.






                          share|improve this answer





























                            1














                            You hash a large number of passwords, then check if the output matches any of the stored hashes. Brute force cracking is feasible because people do not usually choose highly unpredictable passwords.



                            When a password database is stolen, the stolen material includes all the information necessary to do offline cracking. (It's simply a guess and check process. Other methods may be available with less secure hashing or password storage methods.)




                            Hashing passwords with a preimage resistant functions with a sufficiently unpredictable input is enough to make it impossible recover a password. (An inhumanly strong password.)



                            However, most people don't do this in the real world, a stolen database of hashes is potentially as worrying as a list of unhashed passwords for a large subset of users on a typical website.



                            If the password cracker finds candidate password whose hash matches the one stored in the database, then he will have recovered the original (weak) password.




                            Alternatively, if a hash function is not preimage resistant (including when the output of the hash is too short) a guess-and-check procedure may produce false positives. (Alternative passwords not identical to the original.)



                            The accounts of users from the company with the data breach are still vulnerable because these passwords will unlock a user's account, even if they aren't identical to the original password. (The server has no way to tell if it's the original password. The hash still matches the one in the stolen database in this case.)



                            Don't intentionally use an insecure hash function, of course... It's still possible to infer the original password or narrow down the number of possibilities. Which would still make users that reuse passwords on other websites extra vulnerable.






                            share|improve this answer



























                              1












                              1








                              1







                              You hash a large number of passwords, then check if the output matches any of the stored hashes. Brute force cracking is feasible because people do not usually choose highly unpredictable passwords.



                              When a password database is stolen, the stolen material includes all the information necessary to do offline cracking. (It's simply a guess and check process. Other methods may be available with less secure hashing or password storage methods.)




                              Hashing passwords with a preimage resistant functions with a sufficiently unpredictable input is enough to make it impossible recover a password. (An inhumanly strong password.)



                              However, most people don't do this in the real world, a stolen database of hashes is potentially as worrying as a list of unhashed passwords for a large subset of users on a typical website.



                              If the password cracker finds candidate password whose hash matches the one stored in the database, then he will have recovered the original (weak) password.




                              Alternatively, if a hash function is not preimage resistant (including when the output of the hash is too short) a guess-and-check procedure may produce false positives. (Alternative passwords not identical to the original.)



                              The accounts of users from the company with the data breach are still vulnerable because these passwords will unlock a user's account, even if they aren't identical to the original password. (The server has no way to tell if it's the original password. The hash still matches the one in the stolen database in this case.)



                              Don't intentionally use an insecure hash function, of course... It's still possible to infer the original password or narrow down the number of possibilities. Which would still make users that reuse passwords on other websites extra vulnerable.






                              share|improve this answer















                              You hash a large number of passwords, then check if the output matches any of the stored hashes. Brute force cracking is feasible because people do not usually choose highly unpredictable passwords.



                              When a password database is stolen, the stolen material includes all the information necessary to do offline cracking. (It's simply a guess and check process. Other methods may be available with less secure hashing or password storage methods.)




                              Hashing passwords with a preimage resistant functions with a sufficiently unpredictable input is enough to make it impossible recover a password. (An inhumanly strong password.)



                              However, most people don't do this in the real world, a stolen database of hashes is potentially as worrying as a list of unhashed passwords for a large subset of users on a typical website.



                              If the password cracker finds candidate password whose hash matches the one stored in the database, then he will have recovered the original (weak) password.




                              Alternatively, if a hash function is not preimage resistant (including when the output of the hash is too short) a guess-and-check procedure may produce false positives. (Alternative passwords not identical to the original.)



                              The accounts of users from the company with the data breach are still vulnerable because these passwords will unlock a user's account, even if they aren't identical to the original password. (The server has no way to tell if it's the original password. The hash still matches the one in the stolen database in this case.)



                              Don't intentionally use an insecure hash function, of course... It's still possible to infer the original password or narrow down the number of possibilities. Which would still make users that reuse passwords on other websites extra vulnerable.







                              share|improve this answer














                              share|improve this answer



                              share|improve this answer








                              edited 2 hours ago

























                              answered 2 hours ago









                              Future SecurityFuture Security

                              759211




                              759211





















                                  0














                                  There are two common failings, over an above letting the databases or files get stolen in the first place.



                                  Unfortunately, and against all security recommendations, many systems still store clear text passwords.



                                  Hashed passwords are technically not reversible, but as has been pointed out by others, it's possible to hash millions of password guesses then simply look for matches. In fact, what usually happens is that tables of precomputed passwords and hashes (Rainbow Tables) are available and used to look for matches. A good rainbow table can support a high percentage match in fractions of a second per password hash.



                                  Using a salt (an extra non-secret extension of the password) in the hash prevents the use of pre-computed rainbow tables.



                                  Most compromisers depend upon rainbow tables. Computing their own hash set is certainly possible, but it's extremely time consuming (as in months or longer), so it's generally the vanilla hash that's vulnerable.



                                  Using a salt stops rainbow tables, and a high round count of hashed hashes of hashes can make brute force transition from months to years or longer. Most institutions simply don't implement this level of security.






                                  share|improve this answer



























                                    0














                                    There are two common failings, over an above letting the databases or files get stolen in the first place.



                                    Unfortunately, and against all security recommendations, many systems still store clear text passwords.



                                    Hashed passwords are technically not reversible, but as has been pointed out by others, it's possible to hash millions of password guesses then simply look for matches. In fact, what usually happens is that tables of precomputed passwords and hashes (Rainbow Tables) are available and used to look for matches. A good rainbow table can support a high percentage match in fractions of a second per password hash.



                                    Using a salt (an extra non-secret extension of the password) in the hash prevents the use of pre-computed rainbow tables.



                                    Most compromisers depend upon rainbow tables. Computing their own hash set is certainly possible, but it's extremely time consuming (as in months or longer), so it's generally the vanilla hash that's vulnerable.



                                    Using a salt stops rainbow tables, and a high round count of hashed hashes of hashes can make brute force transition from months to years or longer. Most institutions simply don't implement this level of security.






                                    share|improve this answer

























                                      0












                                      0








                                      0







                                      There are two common failings, over an above letting the databases or files get stolen in the first place.



                                      Unfortunately, and against all security recommendations, many systems still store clear text passwords.



                                      Hashed passwords are technically not reversible, but as has been pointed out by others, it's possible to hash millions of password guesses then simply look for matches. In fact, what usually happens is that tables of precomputed passwords and hashes (Rainbow Tables) are available and used to look for matches. A good rainbow table can support a high percentage match in fractions of a second per password hash.



                                      Using a salt (an extra non-secret extension of the password) in the hash prevents the use of pre-computed rainbow tables.



                                      Most compromisers depend upon rainbow tables. Computing their own hash set is certainly possible, but it's extremely time consuming (as in months or longer), so it's generally the vanilla hash that's vulnerable.



                                      Using a salt stops rainbow tables, and a high round count of hashed hashes of hashes can make brute force transition from months to years or longer. Most institutions simply don't implement this level of security.






                                      share|improve this answer













                                      There are two common failings, over an above letting the databases or files get stolen in the first place.



                                      Unfortunately, and against all security recommendations, many systems still store clear text passwords.



                                      Hashed passwords are technically not reversible, but as has been pointed out by others, it's possible to hash millions of password guesses then simply look for matches. In fact, what usually happens is that tables of precomputed passwords and hashes (Rainbow Tables) are available and used to look for matches. A good rainbow table can support a high percentage match in fractions of a second per password hash.



                                      Using a salt (an extra non-secret extension of the password) in the hash prevents the use of pre-computed rainbow tables.



                                      Most compromisers depend upon rainbow tables. Computing their own hash set is certainly possible, but it's extremely time consuming (as in months or longer), so it's generally the vanilla hash that's vulnerable.



                                      Using a salt stops rainbow tables, and a high round count of hashed hashes of hashes can make brute force transition from months to years or longer. Most institutions simply don't implement this level of security.







                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered 50 mins ago









                                      user10216038user10216038

                                      71717




                                      71717




















                                          W2a is a new contributor. Be nice, and check out our Code of Conduct.









                                          draft saved

                                          draft discarded


















                                          W2a is a new contributor. Be nice, and check out our Code of Conduct.












                                          W2a is a new contributor. Be nice, and check out our Code of Conduct.











                                          W2a is a new contributor. Be nice, and check out our Code of Conduct.














                                          Thanks for contributing an answer to Information Security Stack Exchange!


                                          • Please be sure to answer the question. Provide details and share your research!

                                          But avoid


                                          • Asking for help, clarification, or responding to other answers.

                                          • Making statements based on opinion; back them up with references or personal experience.

                                          To learn more, see our tips on writing great answers.




                                          draft saved


                                          draft discarded














                                          StackExchange.ready(
                                          function ()
                                          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsecurity.stackexchange.com%2fquestions%2f205519%2fhow-are-passwords-stolen-from-companies-if-they-only-store-hashes%23new-answer', 'question_page');

                                          );

                                          Post as a guest















                                          Required, but never shown





















































                                          Required, but never shown














                                          Required, but never shown












                                          Required, but never shown







                                          Required, but never shown

































                                          Required, but never shown














                                          Required, but never shown












                                          Required, but never shown







                                          Required, but never shown







                                          Popular posts from this blog

                                          How should I use the fbox command correctly to avoid producing a Bad Box message?How to put a long piece of text in a box?How to specify height and width of fboxIs there an arrayrulecolor-like command to change the rule color of fbox?What is the command to highlight bad boxes in pdf?Why does fbox sometimes place the box *over* the graphic image?how to put the text in the boxHow to create command for a box where text inside the box can automatically adjust?how can I make an fbox like command with certain color, shape and width of border?how to use fbox in align modeFbox increase the spacing between the box and it content (inner margin)how to change the box height of an equationWhat is the use of the hbox in a newcommand command?

                                          Doxepinum Nexus interni Notae | Tabula navigationis3158DB01142WHOa682390"Structural Analysis of the Histamine H1 Receptor""Transdermal and Topical Drug Administration in the Treatment of Pain""Antidepressants as antipruritic agents: A review"

                                          inputenc: Unicode character … not set up for use with LaTeX The Next CEO of Stack OverflowEntering Unicode characters in LaTeXHow to solve the `Package inputenc Error: Unicode char not set up for use with LaTeX` problem?solve “Unicode char is not set up for use with LaTeX” without special handling of every new interesting UTF-8 characterPackage inputenc Error: Unicode character ² (U+B2)(inputenc) not set up for use with LaTeX. acroI2C[I²C]package inputenc error unicode char (u + 190) not set up for use with latexPackage inputenc Error: Unicode char u8:′ not set up for use with LaTeX. 3′inputenc Error: Unicode char u8: not set up for use with LaTeX with G-BriefPackage Inputenc Error: Unicode char u8: not set up for use with LaTeXPackage inputenc Error: Unicode char ́ (U+301)(inputenc) not set up for use with LaTeX. includePackage inputenc Error: Unicode char ̂ (U+302)(inputenc) not set up for use with LaTeX. … $widehatleft (OA,AA' right )$Package inputenc Error: Unicode char â„¡ (U+2121)(inputenc) not set up for use with LaTeX. printbibliography[heading=bibintoc]Package inputenc Error: Unicode char − (U+2212)(inputenc) not set up for use with LaTeXPackage inputenc Error: Unicode character α (U+3B1) not set up for use with LaTeXPackage inputenc Error: Unicode characterError: ! Package inputenc Error: Unicode char ⊘ (U+2298)(inputenc) not set up for use with LaTeX