[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference noted::hackers_v1

Title:-={ H A C K E R S }=-
Notice:Write locked - see NOTED::HACKERS
Moderator:DIEHRD::MORRIS
Created:Thu Feb 20 1986
Last Modified:Mon Aug 03 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:680
Total number of notes:5456

114.0. "one-letter password on vmsv4" by SPRITE::OSMAN () Thu Apr 25 1985 15:45

Ever had a desire to have a one-letter password, even though VMSv4 tries not
to let you ?  (I present the following as a HACK, not a suggestion.  For
a secure system, I support the philosophy of long passwords).

Well, here's how to do it:

	$ SET PASSWORD
	OLD PASSWORD: type yours
	NEW PASSWORD: xUUUUUUUUUUUUUUUUVVVVVVVV
	VERIFICATION: xUUUUUUUUUUUUUUUUVVVVVVVV

where "x" is the one-letter password you'd really like.

Now try logging in and just type "x" ! (without the quotes of course)

(That's 16 U's and 8 V's)

/Eric

T.RTitleUserPersonal
Name
DateLines
114.1REX::MINOWFri Apr 26 1985 19:104
Now, that's a hack.  Does it generalize to N-letter passwords?
I.e., can I set my password to FOO?

Martin.
114.2GOLLY::GILBERTSat Apr 27 1985 05:141
Ayup, it generalizes.  Just follow the 'normal' password with 16 Us and 8 Vs.
114.3APACHE::SYSTEMSun Jun 02 1985 14:3310
You can get a now letter password in vms V3.7 by the 
following

$set password
OLD PASSWORD:  type old pass
NEW PASSWORD:  hit escape
VERIFICATION:  hit escape

  You will now be able to log on directly from USERNAME:...
114.4PARVAX::PFAUMon Jun 03 1985 13:043
Why escape?  Why not return?

tom_p
114.5EDSVAX::CRESSEYTue Jun 04 1985 16:184
    If you type return it will call your entry a blank line,
    ignore it, and reprompt.  Try it!

    Dave
114.6PARVAX::PFAUWed Jun 05 1985 12:258
I just tried it and I've done it before.  I enter my old password, get 
the 'New password:' prompt and hit a carriage return.  It then prompts 
me for 'Verification:'.  I hit return again.  'SET HOST 0' and log in 
with just a username.

I tried this on OBIWAN which is still running V3.7.

tom_p
114.7GLIVET::DIAMONDWed Jun 05 1985 18:055
Sure...  You don't HAVE to have a password.  That's what happens when you
set your password to an empty string.  I don't think this works, though, if
you have a minimum password length set in the UAF

Dave
114.8PARVAX::PFAUWed Jun 05 1985 20:434
But there is no minimum password length on VMS V3.7.  If the <ESC> 
trick works on V4, I think it's a security hole and should be QARed.

tom_p
114.9GLIVET::DIAMONDThu Jun 06 1985 13:484
I'm on V4.1 and have a pwdminimum set to 6.  I tried setting my password
with an escape and it didn't work.

Dave
114.10EDSVAX::CRESSEYThu Jun 06 1985 15:128
RE .5 & .6:

    BOY, IS MY FACE RED!  That'll teach me to respond from memory.

    My response (.5) about blank lines appears to be totally inaccurate.
    Please ignore it.

    Dave
114.11SPRITE::MCVAYSat Jun 08 1985 22:131
Ignore what?...
114.12GLIVET::DIAMONDMon Jun 10 1985 11:583
His response (.5) about blank lines, which appears to be totally inaccurate.

Dave :`)
114.13LSMVAX::BLINNMon Jun 17 1985 00:398
So, what happens if you set your password to UUUUUUUUUUUUUUUUVVVVVVVV 
(that is, 16 "U"s followed by 8 "V"s)?  Does this result in no password 
at all, or make you actually enter a real password of this 24 character 
string?  Also, anyone going to offer the explanation of why the "U"s and 
"V"s cancel one another out (presumably the one-way encryption algorithm 
in VMS V4.x)?

#6Tom
114.14JON::MORONEYMon Jun 17 1985 13:544
No, it doesn't work.  I guess VMS is smart (dumb?) enough to know that you
didn't enter a password, therefore to deny access.

-Mike
114.15TAHOE::JENSENTue Jun 25 1985 23:2430
To understand why this and other password tricks work, it is necessary
to understand how the password encryption algorithm works.

Basically, a text string is mapped to a quadword in a (hopefully)
non-reversible manner.  This quadword is what is stored in the
UAF file.  The entire process is fairly complex, and actually takes
three inputs (password, username, time) to produce its output.

One key part of the algorithm is to collapse the password string into
a quadword (not the final quadword).  This is done by the following
algorithm:

	let s[1..n] be a string of n characters (the password), and
	    r[0..7] be a quadword composed of 8 bytes

	Then r[i] = sum( s[k] | (k mod 8) = i), where 0 <= i <= 7, 1 <= k <= n

In other words, every eighth character in the input string is summed
into the same byte of the quadword, using byte arithmetic (i.e. no overflow
into adjacent bytes).  In the case of xU*16V*8, this works out to

	r[1] = x + U + U + V = x + 85 + 85 + 86 = x + 256 = x
	r[k] = U + U + V = 85 + 85 + 86 = 256 = 0, for k = {0,2,3,4,5,6,7}

which explains why this hack (and many others) works.

For more details, look up HPWD.MAR in the VMS source distribution.

				/X(0f(BM

114.16JRDV03::GILBERTWed Jun 26 1985 11:087
Lest any hackers think that .-1 tells the whole story, ...

The reason for mashing the password string into a quadword is so that
a trap-door function can be applied to it.  There seems to be no good
way to 'crack' this trap-door function -- the cost is either prohibitive
in space or time, or both (you could just calculate the trap-door function
for all 2^64 different passwords, and crack it with a table look-up).
114.17Trap door function; what's that?SMAUG::GARRODSat Apr 12 1986 02:065
    re .16
    
    What's a trap door function?
    
    Dave
114.18Trapdoors easy to fall thru, hard to get back!TLE::BRETTSat Apr 12 1986 03:3611
    
    A "trapdoor" function is a function F:DOMAIN->RANGE such that the
    inverse of F is extremely difficult to compute.
    
    By storing F(PASSWORD) and comparing it to F(GUESS) (rather than
    by storing the password and comparing it to the guess) you make
    it practically useless to have read access to the list of stored
    F(PASSWORD)'s.
    
    /Bevin
    
114.19Trap door exampleSKYLAB::FISHERBurns Fisher 381-1466Mon Apr 14 1986 02:2111
    re .18:  Example of a trapdoor function is prime factors.  If
    
    	g = F(x,y)
    
    where F is defined as a function on the domain of prime numbers
    which results in their product, it is very easy to compute g given
    x and y, but extremely hard to compute x and y (assuming they are
    large).
    
    Burns