Bugtraq mailing list archives
networksolutions CRYPT-PW salt (was: Re: Insecure handling of NetSol maintainer passwords)
From: jogata () NODC NOAA GOV (Jefferson Ogata)
Date: Thu, 11 Nov 1999 00:25:20 -0500
Trevor Schroeder wrote:
On Tue, 9 Nov 1999, Jefferson Ogata wrote:generate with their New Contact Form web system runs the password you enter through crypt(), but the first two characters of the encrypted value (the salt) are the same as the first two characters of the password, indicating they use the password as its own salt. This dramatically limits the usefulness of encrypting the password in the first place, since you've already given away the first two characters, and probably hamstrung the whole algorithm at the same time. (More advanced crypto people than I can comment on this.) In any case,Your damn tooty this isn't the way to do this!! If anyone gets ahold of your crypted password, they've got the first two chars of the password making the guess significantly easier. crypt() basically DES encrypts 0 with your password as the key. That's why it's 8 chars. 8 ASCII chars = 7 bits/char * 8 char = 56 bits. 2^56 = 72057594037927936 possible keys. Of course, 7 bits => 128 chars, but we must subtract the 32 control chars which leaves us with 96 textual characters (including spaces). Now our keyspace is 96^8 = 7213895789838336, roughly 1/10th of the previous keyspace, but not unreasonable for non-critical applications. (ie, nothing to trust your credit card to, but a non-trivial key nonetheless). However, if we can get the first two characters of your password, assuming that the rest is randomly distributed (ie, no dictionary based passwords), that leaves us with 6 unknown chars. Our unknown keyspace is now 96^6 = 782757789696, just over 1/10000th the previous and 1/100000th the space of a full 56 bit key. This leaves us with roughly 40 bits (log2(782757789696) = 39.5) of entropy--again, assuming random characters. 40 bits keys can be broken pretty quickly.
A couple points of followup on this issue: First of all, this was somebody else's thread and I shanghaied it. What were we supposed to be talking about? Sorry about that. Second, I found an earlier posting to bugtraq in the archives from Oct 11, 1996, describing the same thing: http://www.securityfocus.com/templates/archive.pike?list=1&date=1996-10-8&msg=Pine.LNX.3.95.961011120728.3070A-100000 () socks litter717 net The lone respondent: http://www.securityfocus.com/templates/archive.pike?list=1&date=1996-10-08&msg=199610120045.DAA08102 () noc ntua gr saying:
I believe the internic guys will change this to a random salt...
Ah, such innocence. I'm guessing the InterNIC wasn't paying close attention to bugtraq at the time. Third, the sort of primitive-crypto thought I had was that this makes networksolutions' crypted passwords far more vulnerable to attack using a pre-generated dictionary. Since every plaintext password has a unique salt, one can pre-generate a very large dictionary: effectively there is no salt at all. I wouldn't be at all surprised if such a dictionary already exists. Finally, the sort of pseudo pop-crypto thought I had was that careful analysis could conceivably reveal that passwords crypted using a substring of themselves as salt might be more vulnerable inherently due to mathematical cancellation between the salt and the plaintext during the encryption. [The real crypto guys are laughing politely behind their hands at this point. Hmm, some of them aren't so polite after all. I hurry on.] Perhaps knowledge not only of the first two characters of the password but also of the fact that the salt is identical to a substring of the password would enable an algorithm to narrow the keyspace even further. Oh, well. Happy Veterans Day to all who honor it, and to all others, happy day. May the sun shine on your head. -- Jefferson Ogata <jogata () nodc noaa gov> National Oceanographic Data Center You can't step into the same river twice. -- Herakleitos
Current thread:
- Re: Guestbook.pl, sloppy SSI handling in Apache? (VD#2), (continued)
- Re: Guestbook.pl, sloppy SSI handling in Apache? (VD#2) Jefferson Ogata (Nov 08)
- MS Outlook alert : Cuartango Active Setup Elias Levy (Nov 08)
- BigIP - bigconf.cgi holes Guy Cohen (Jun 13)
- Re: MS Outlook alert : Cuartango Active Setup David LeBlanc (Nov 08)
- Re: MS Outlook alert : Cuartango Active Setup - Workaround Instructions Mark (Nov 08)
- Insecure handling of NetSol maintainer passwords jlewis () LEWIS ORG (Nov 08)
- flaw in dmesg under Solaris echo8 (Nov 09)
- Re: Insecure handling of NetSol maintainer passwords Jefferson Ogata (Nov 09)
- Re: Insecure handling of NetSol maintainer passwords pedward () WEBCOM COM (Nov 10)
- Re: Insecure handling of NetSol maintainer passwords Trevor Schroeder (Nov 10)
- networksolutions CRYPT-PW salt (was: Re: Insecure handling of NetSol maintainer passwords) Jefferson Ogata (Nov 10)
- [Cobalt] Security Advisory - cgiwrap Jeff Bilicki (Nov 09)
- Re: MS Outlook alert : Cuartango Active Setup - Workaround Instructions Andy Helsby (Nov 09)
- Re: FreeBSD 3.3's seyon vulnerability Bill Fumerola (Nov 09)
- Re: IE4/5 "file://" buffer overflow Mikael Olsson (Nov 09)
- (no subject) Ejovi Nuwere (Nov 09)
- Remote DoS Attack in QVT/Term 'Plus' 4.2d FTP Server Vulnerability Ussr Labs (Nov 09)