Bug des Tages: Sudo für alle (Yeah!)

tomasini

New Member
Stellt man die Systemzeit zurück, gibt sudo jedem root:

http://www.sudo.ws/sudo/alerts/epoch_ticket.html

Wie praktisch. Bonmots: "I'd like to thank Marco Schoepl for finding and reporting this long-standing bug."

Fix: apt-get remove sudo --purge

P.S.: nein, bei Ubuntu muss man z.B. nicht root sein, um die Systemzeit zu ändern. Das läuft dort auch unter der Kategorie "praktisch".
 
Und jetzt bitte nochmal genau lesen - vor allem den 3. Absatz:
The vulnerability does not permit a user to run commands other than those allowed by the sudoers policy.
 
Last edited by a moderator:
Bei Ubuntu darf nur leider standardmäßig jeder User per sudo so ziemlich jeden Befehl ausführen ;)
 
wird das hier nun der "urban legends"-Thread?

Oder: "1000x erzählt - aber immer noch nicht richtig"?
 
Die letzten Ubuntu-Systeme die ich in der Hand hatte (allerdings die Desktop-Version) haben mich per sudo alles machen lassen was ich wollte.
Selbst wenn es doch irgendwie gefiltert wird: Ich konnte per sudo problemlos einen chmod ausführen. Das reicht um ALLE Programme die ich will als root auszuführen, indem ich einfach den entsprechenden Binaries (die i.d.R. ja alle root gehören) das SETUID-Bit mit chmod anklebe.
Mit der Bash funktioniert das nicht, aber du kannst ja notfalls auch den vim oder Midnight-Commander missbrauchen um darüber eine Shell zu öffnen.

Wenn du es probieren willst:
Code:
$ sudo cp /bin/cat /tmp/dog
$ sudo chmod u+s /tmp/dog

### Jetzt können wir als nicht-root die Shadow-Datei lesen
$ /tmp/dog /etc/shadow

### Gegenprobe: Nein, geht normalerweise wirklich nicht
$ cat /etc/shadow

$ rm /tmp/dog


@tomasini:
Das erklärt aber im Nachhinein wenigstens warum so viele Bots ein Interesse daran haben die Uhr meines öffentlichen NTP-Servers zu verstellen...
 
Last edited by a moderator:
Die letzten Ubuntu-Systeme die ich in der Hand hatte (allerdings die Desktop-Version) haben mich per sudo alles machen lassen was ich wollte.
... und Du warst aber nicht zufällig der Benutzer, der das System eingerichtet hat? Dann wäre das nämlich völlig normal.

Der erste ("Install-User", also der, der während der Installation angelegt wird) hat "komplette sudo-Rechte" - alle weiteren per useradd angelegten User sind aber völlig normal - und dürfen nichts mit sudo anfangen...
 
Das ist bei *buntu doch seit Jahren so, dass der Benutzer, der installierte, auch volle sudo-Rechte hat. Nichts Neues für *buntu-Vielnutzer. ;)
Die weiteren User haben natürlich keine root- oder sudo-Rechte. Sowas macht kein Linux der Welt.
 
Bei Ubuntu darf nur leider standardmäßig jeder User per sudo so ziemlich jeden Befehl ausführen ;)

Bei Kubuntu nicht und ich gehe mal von aus, dass Ubuntu sich auch so verhält. Der erste User ist der Admin und der darf alles (sudo halt). Wird über das User-Managmend ein neuer User angelegt, kann man dort auch die Privilegien bzw. Gruppenzugehörigkeit einstellen. Wenn man nicht Mitglied der Gruppe sudo bzw. admin ist, kann man sudo auch nicht verwenden. Standardmäßig ist diese Gruppenzugehörigkeit nicht ausgewählt.

Code:
deadeye@deadeye-NFORCE-680i-SLI:~$ id deadeye
uid=1000(deadeye) gid=1000(deadeye) Gruppen=1000(deadeye),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),107(lpadmin),123(sambashare)
deadeye@deadeye-NFORCE-680i-SLI:~$ su new_user
Passwort: 
Sie müssen Ihr Passwort sofort ändern (von root erzwungen).
Ändern des Passworts für new_user.
(aktuelles) UNIX-Passwort: 
Geben Sie ein neues UNIX-Passwort ein: 
Geben Sie das neue UNIX-Passwort erneut ein: 
new_user@deadeye-NFORCE-680i-SLI:/home/deadeye$ id new_user
uid=1001(new_user) gid=1001(new_user) Gruppen=1001(new_user),20(dialout),24(cdrom),25(floppy),46(plugdev),107(lpadmin),115(scanner),123(sambashare)
new_user@deadeye-NFORCE-680i-SLI:/home/deadeye$ sudo su 
[sudo] password for new_user: 
new_user is not in the sudoers file.  This incident will be reported.

Code:
deadeye@deadeye-NFORCE-680i-SLI:~$ sudo cat /etc/sudoers
[sudo] password for deadeye: 
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
deadeye@deadeye-NFORCE-680i-SLI:~$

Hab ich noch irgendwas vergessen? Man sollte nicht immer alles glauben, was andere so erzählen.


BTW:
sudo
Version 1.8.5p2-1ubuntu1.1:
Diese Aktualisierung ist am 27.02.2013 14:31 veröffentlicht worden
* SECURITY UPDATE: authentication bypass via clock set to epoch
- debian/patches/CVE-2013-1775.patch: ignore time stamp file if it is
set to epoch in plugins/sudoers/check.c.
- CVE-2013-1775
 
Last edited by a moderator:
Ubuntu 12.04:

Code:
fusl@thinktop:~$ cat /etc/sudoers
cat: /etc/sudoers: Permission denied
fusl@thinktop:~$ sudo cat /etc/sudoers
[sudo] password for fusl: 
[sudo] cr auth key for 1000: 
[sudo] here is your key 1: xiepaej2Goozeim7
[sudo] and here key 2: 1ZlZ
[sudo] so please type your calculated result: 
[sudo] authenticated - Running as `root' from `fusl'
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults	env_reset
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root	ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo	ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
[sudo] exit code: 0
[sudo] session saved
fusl@thinktop:~$ id
uid=1000(fusl) gid=1000(fusl) groups=1000(fusl),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare),128(vboxusers)
fusl@thinktop:~$ sudo id
[sudo] cr auth key for 1000: 
uid=0(root) gid=0(root) groups=0(root)
[sudo] exit code: 0
[sudo] session saved
fusl@thinktop:~$
 
Back
Top