Subject: Re: [ADVISORY] 4.4BSD Securelevels (fwd)
To: None <codewarrior@daemon.org, current-users@NetBSD.ORG,>
From: Olaf Seibert <rhialto@polder.ubc.kun.nl>
List: current-users
Date: 06/27/1997 12:36:02
codewarrior@daemon.org (Andrew Brown) wrote:
>can't be patched directly?!  it can...or are you referring to the
>silly "patch" i made?  as for patching the p_cred->cr_uid field, it
>would take me more than a few minutes to manually walk over to that
>particular field i think...

Actually, I did just that on our university's Sun 3 machines, before
they had the PROM version that required a password for that sort of thing.
It really isn't all that difficult to do, and after the initial
preparation and practice runs, I could do it within a minute or so.

I used gdb to disassemble the getuid() system call to learn how to
get from a process pointer to p_cred->cr_uid. For good measure, I did
both real, effective, and saved uids. And SunOS had a nice
command to list process pointers for processes. Piece of cake.

Even though in NetBSD I can't quickly find a command to list process
pointers, it is easy enough to get a shell in a tight loop, and then
you can use curproc as your process pointer. That's what I did before I
refined my attack.

>andrew@echonyc.com (TheMan)        * "ah!  i see you have the internet
-Olaf.
--
___ Olaf 'Rhialto' Seibert      D787B44DFC896063 4CBB95A5BD1DAA96 
\X/ It's not easy having a good time    rhialto@polder.ubc.kun.nl