[rsbac] Local root exploit in 2.4.22 and previous
Amon Ott
ao at rsbac.org
Thu Dec 4 10:27:04 CET 2003
On Donnerstag, 4. Dezember 2003 09:52, Thorsten Sauter wrote:
> * Amon Ott <rsbac at rsbac.org> [2003-12-04 09:14]:
> | AFAIK, the attack used on the Debian Servers
> | 1. Used a local shell (easier to deny with RSBAC, but may be legal)
>
> why the user needs a login account, if he/she can't execute a valid
> shell?
You can open a shell without a login account, e.g. through an exploited
service. RSBAC can be used to avoid this. In the Debian case, the attacker
used an official account.
> | 2. Fetched extra code and the SucKIT rootkit via http (both writing to
disk
> | and access to remote network endpoints can be denied by RSBAC)
>
> well, this sounds a little bit like "ifconfig eth0 down". I think you
> can't do this on a machine for working purpose.
This was not what I wanted to express - even the attacker needs the network.
With RSBAC network templates, you can specify exactly who may access what
network ressource without making network unusable. If a user does not need
outgoing network access (to port 80 on non-local IPs or whatever), this can
be denied. This user can still work on the local system and within the local
network.
> | 3. compiled or downloaded a do_brk exploit program (compiler accessible?)
>
> this exploit only runs on i386? I guess most of us has a i386 machine,
> which can compile the code localy. This means removing the compile
> doesn't really help here.
Never said that, do_brk is common code for all archs. The exploit should also
work on other archs, but not on all - some archs access kernel memory
differently.
If you compile on another system, you need a way to transfer the code to the
server, which is basically not much different to a download.
> | 4. ran the program (execute uncontrolled program)
>
> ok. this sounds good. RC model for all binaries in /bin,/sbin,...
This is the main defence line against most attacks. An expert attacker could
execute all code from within a running service, though.
> | However, an attacker with good RSBAC knowledge, who came to step 4 or
> | exploited a service, might have been able to place a notification call for
> | CHANGE_OWNER to 400 through the do_brk bug (repeated for several users
with
> | separation of duty), disable access control (some work, if no switching or
> | softmode allowed, usually produces extra log messages) and then continue.
>
> really hard
I cannot tell how the notification call could have been placed, without REG
support the function address is not even exported as a symbol. The internal
data structure position might have been guessed, because the list header
contains the list name.
But, wow, you would need a lot of determination. :)
> | So, please fix your systems or update to 2.4.23 (I just made 2.4.23
support
> | official).
>
> of course.
And when you did, please report any bugs...
The first has already been reported: bugfix 1.2.2-4 breaks reg_sample2. Please
disable REG sample module compilation, or remove this sample from rsbac/adf/
reg/makefile.
Amon.
--
http://www.rsbac.org - GnuPG: 2048g/5DEAAA30 2002-10-22
More information about the rsbac
mailing list