[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

55.0. "Minimal privs" by MARVIN::COBB () Sun Sep 09 1984 02:53

This is similar to a previous note but is slightly more general and 
definitely not meant to help anyone solve any problems!

What privileges are good enough (on VMS) to allow you to do anything
you want?

To provide some rules for the game lets assume that :

1)	"Anything you want" is actually "turn on all privileges"

2)	The system is as secure as it can be (for example SYS$SYSTEM is not
world writeable).

3)	You are allowed to log out and log in again or anything (even reboot)
if you have got the power to force it to happen (logging out is easy to force -
rebooting might not be).

There are two classes of solutions.  The premier league is those solutions
that leave no trace.  The secondary league is those that do leave some 
evidence behind (not necessarily evidence of who did what but that some
tampering took place).

The obvious solutions include:

SETPRV - the trivial solution (premier league)
CMKRNL - easy to write a program to do it (premier league)

BYPASS - allows you to modify the UAF (secondary league on V4 as it leaves
an operator log entry that you modified your UAF entry unless you don't
bother to use AUTHORIZE)
SYSPRV - it may be possible to run VMS with SYSTEM no access to imnportant
files and directories but I don't know of any that run like that.

Any other privs that are good enough? How about OPER ? SECURITY (V4) ?

Graham
T.RTitleUserPersonal
Name
DateLines
55.1ORPHAN::BRETTSun Sep 09 1984 03:1510
Lots - just physical access to the console [[halt machine, mung privilege mask,
continue]], physical access to the system pack [[mung UAF]], SYSNAM [[stick
a great logical in the system logical name table and wait]], PHYS_IO, LOG_IO
[[mung UAF]].

And if you are really clever, none.  Just find a security hole in some critical
code [[still haven't found one in V4 FT2 but that doesn't prove its not there]].

/Bevin
55.2LATOUR::AMARTINSun Sep 09 1984 13:044
Does VMS log events like use of SETPRV, or modifications (pokes) to the monitor
yet?  Once it does, you have to be good enough to get into the log file and
cover up the traces.
				/AHM
55.3VIKING::WATERSSun Sep 09 1984 18:507
	What about world read access to SYSUAF? Any hashing algorithm that is
"one way" means that traceback information is lost. Therefore, more than one
password can hash into the same thing. Who knows the hashing algorithm?
Just plug in words until you get a match. Yes, its gross and old fashion...

/lw
55.4NY1MM::MUSLINMon Sep 10 1984 07:594
DETACH - you can detach a process with any uic - detach with [1,4] and
give it a command procedure that sets your privs in SYSUAF.

					- Victor -
55.5ORPHAN::BRETTMon Sep 10 1984 19:389
Re .3 - the whole point of the current hashing algorithm is it is VERY CPU
EXPENSIVE to invert this way,  the algorithm is deliberately expensive in
computes to apply and is apparently very difficult to invert.  The main
danger with W:R SYSUAF is it gives a list of user names, thus cutting down
the number of possibilities that you have to try to find some person who
does not have a difficult-to-guess p/w.

/Bevin
55.6HARE::COWANMon Sep 10 1984 20:076
	How about PFNMAP.  I believe it is possible to map to a
certain set of phyical pages and watch the terminal I/O.  This would
mean you could watch someone type in the password.

	KC
55.7PARVAX::PFAUTue Sep 11 1984 04:384
The description of $CMKRNL says that the user needs CMKRNL privilege 
or must be running in executive mode.  So how about CMEXEC?

tom p
55.8SPARTA::KENAHTue Sep 11 1984 13:1319
The answer to the original query is already published in the
documentation. (See Chapter 4 of the VAX/VMS System Management
and Operations Guide.) The privileges listed in the category
called "All" are effectively the keys to the kingdom. That is,
given any one of the "all" privileges, it is a trivial matter
to obtain any privilege or do any sort of nasty deed to the
system. 

The real intellectual exercise is to determine whether some of
the privileges listed in the more benign categories are, in fact,
more dangerous than originally supposed.

(Note that a positive answer to this question should NOT be posted
in this or any other notes file but should be quietly reported
to the VMS development group so that the problem can be
dealt with.)

				larry kenah
55.9NIMROD::JERFri Sep 21 1984 23:3516
Re .8: CMEXEC is almost equivalent to CMKRNL, since you are allowed
to switch to K whil in E. The following code gives you CMKRNL priv if you
have CMEXEC (mac +lib.mlb, and link with sys.stb):
	.entry		do_it,^M<>
	$cmexec_s	routin=e_mode
	$exit_s
	.entry		e_mode,^M<>
	$cmkrnl_s	routin=k_mode
	ret
	.entry	k_mode,^M<>
	insv		#1,#prv$v_cmkrnl,#1,@#ctl$gq_procpriv
	ret
	.end		do_it


jer
55.10WKRP::LENNIGDave, SWS, @CYO CincinnatiFri Oct 24 1986 22:003
    re.9 If all you're interested in is privs, your routine simply requires
         the $cmexec and a $setprv.