Kritische Sicherheitslücke in Linux: wunderbar_emporium

Von meinem Blog gerade eben (dachte, es könnte ein paar Leute interessieren):

Mit dem exploit wunderbar_emporium kann man sich auf einem Linux Computer, auf dem man einen shell account mit normalen userrechten besitzt, innerhalb von Sekunden root-Rechte erschleichen. Ich habe nicht versucht, das Prinzip genauer zu verstehen, aber soweit ich mitbekommen habe, nutzt es Bugs in weitgehend unbekannten Protokollen, die deswegen noch nicht entdeckt wurden. Betroffen sind alle Linux-Versionen seit Mai 2001:

????????
Affected Software
????????

All Linux 2.4/2.6 versions since May 2001 are believed to be affected:

- Linux 2.4, from 2.4.4 up to and including 2.4.37.4
- Linux 2.6, from 2.6.0 up to and including 2.6.30.4

Ich habe es mal auf meinem eigenen Computer ausprobiert:
Code:
athelstan@spaceshuttle:~/wunderbar_emporium$ ./wunderbar_emporium.sh
[+] MAPPED ZERO PAGE!
[+] Resolved selinux_enforcing to 0xc08653bc
[+] Resolved selinux_enabled to 0xc08653b8
[+] Resolved apparmor_enabled to 0xc06a0d84
[+] Resolved apparmor_complain to 0xc0866fb8
[+] Resolved apparmor_audit to 0xc0866fc0
[+] Resolved apparmor_logsyscall to 0xc0866fc4
[+] Resolved security_ops to 0xc0863b60
[+] Resolved default_security_ops to 0xc069fb40
[+] Resolved sel_read_enforce to 0xc0293a70
[+] Resolved audit_enabled to 0xc0822564
[+] got ring0!
[+] detected 2.6 style 8k stacks
sh: mplayer: not found
[+] Disabled security of : nothing, what an insecure machine!
[+] Got root!
# whoami
root
#
Die Ausgabe von ?whoami? zeigt, dass es innerhlab von weniger als einer Sekunde geklappt hat, root zu werden ? mit einem normalen User-Account.

Entweder ist das der Anfang einer Linux-Krise oder die Bugs sind schnell gefixt. Mich persönlich betrifft es weniger, da ich keinen Server am laufen habe. Aber verschiedene andere dürften sich wohl sorgen machen.

Das Exploit kann nicht ausgeführt werden, wenn man den Wert in ?/proc/sys/vm/mmap_min_addr? von 0 auf 1 ändert. Hier die Ausgabe:
Code:
athelstan@spaceshuttle:~/wunderbar_emporium$ ./wunderbar_emporium.sh  [+] Personality set to: PER_SVR4
I: caps.c: Limited capabilities successfully to CAP_SYS_NICE.
I: caps.c: Dropping root privileges.
I: caps.c: Limited capabilities successfully to CAP_SYS_NICE.
E: alsa-util.c: Error opening PCM device hw:0: Device or resource busy
E: module.c: Failed to load  module ?module-alsa-sink? (argument: ?device_id=0 sink_name=alsa_output.pci_8086_27d8_sound_card_0_alsa_playback_0 tsched=0″): initialization failed.
UNABLE TO MAP ZERO PAGE!
^C
athelstan@spaceshuttle:~/wunderbar_emporium$
Anscheinend gibts diese Datei aber nicht auf jedem Linux-Rechner...
 
auf meinen Ubuntu Server

hat die Datei einen anderen Wert als 0.
 
Dann dürfte es auch nicht funktionieren, allerdings kann ich es nur an meinem eigenen Computer testen, und der hat das neueste ubuntu. Den Link zum Exploit poste ich aus Sicherheitsgründen und wegen der Forenregeln nicht, man kann es aber relativ einfach per google finden, denke ich mal.
 
Gestern erst auf Full Disclosure, heute schon auf Heise, und damit auch im Habo! Was für eine Geschwindigkeit!

Der Bug stellt meiner Meinung nach eine viel größere Gefahr für Desktop-Rechner dar, da meist bei diesen die bei Servern häufig abgeschalteten Protokolle wie Appletalk oder Bluetooth aktiviert sind und diese Kernel somit einen Angriffspunkt für Viren und Trojaner darstellen. Auch werden wohl wenig Desktoprechner mit PaX oder GrSecurity ausgestattet sein, die derzeit noch eine Gegenmaßnahme gegen die im Umlauf stehenden Exploits darstellen. Lediglich PF_INET6 und PF_PPPOX sind hierbei für viele Serveradministratoren wohl interessant.

Nebenbei sollte man (wie z.b. auch im Blogartikel von cr0 angedeutet) bei mmap_min_addr aufpassen:
This issue could be mitigated by three things:

* the recent mmap_min_addr feature. Note that this feature has known issues until at least 2.6.30.2. See also this LWN article.
[...]

Hier übrigens der Link zur FD-ML: http://archives.neohapsis.com/archives/fulldisclosure/2009-08/0174.html sowie zum Blog ovn cr0 http://blog.cr0.org/2009_08_01_archive.html

(Postet man neuerdings eigentlich seinen Homepagecontent im Forum, oder warum häuft sich das zur Zeit?)
 
@.doc: Das stimmt so nicht ganz. Die wenigstens Admins deaktivieren ungenutzte Protokolle explizit. Das wuerde naemlich bedingen, dass man auf den Kisten die Kernel rekompiliert und nicht die Kernel der Distros nutzt. Insofern ist das Exploit auch eine Gefahr fuer Server, allerdings dort eher im Zusammenhang mit anderen Exploits, die zuvor einen Shell-Zugriff ueberhaupt ermoeglichen.
 
Original von bitmuncher
@.doc: Das stimmt so nicht ganz. Die wenigstens Admins deaktivieren ungenutzte Protokolle explizit

Mehr als "Selbst Schuld" kann man dann dazu wohl nicht sagen. Ich kannte bisher nur Admins, welche ihren Kernel selbst kompiliert haben, deswegen nahm ich an, dies sei das Standardvorgehen..
 
Gerade in grossen Hosting-Umgebung ist es kein Standard, da dadurch Updates wesentlich zeitaufwendiger werden.
 
Ich hoffe instaendig auf globales patching!

Vielleicht erklaert dieser Bug ja auch die Tatsache dass Linux Server am meisten gehackt werden.
 
Original von Chromatin
Ich hoffe instaendig auf globales patching!

Vielleicht erklaert dieser Bug ja auch die Tatsache dass Linux Server am meisten gehackt werden.

du verwechselst aber grad nicht heise und habo? außerdem ist noch garnicht freitag.
 
Original von xeno
Original von Chromatin
Ich hoffe instaendig auf globales patching!

Vielleicht erklaert dieser Bug ja auch die Tatsache dass Linux Server am meisten gehackt werden.

du verwechselst aber grad nicht heise und habo? außerdem ist noch garnicht freitag.

das verstehe ich nicht, kannst du erklären wie du das meinst?
 
das verstehe ich nicht, kannst du erklären wie du das meinst?
Mein Hinweis war ein ungern gehoerter Hinweis darauf, dass Linux am meisten von allen Systemen gehackt wird.

Xeno hingegen weist auf den leichten Trollcharakter meines Postings hin.
 
Du hast sicherlich eine Statistik, dass es LINUX ist, das "gehackt" wird und nicht unsicherere Applikationen, die darauf laufen?
 
Du hast sicherlich eine Statistik, dass es LINUX ist, das "gehackt" wird und nicht unsicherere Applikationen, die darauf laufen?
Immer wenns Probleme macht, ist Linux wieder nur der kleine unschuldige Kernel :)

Und auch wenn es so gemeint ist, haelt Linux nach wie vor alle Negativrekorde.
 
Warum hat Linux sich denn so stark etabliert(Im Web Serverbereich z.B.), wenn es so unsicher ist?
 
Original von ba2
Warum hat Linux sich denn so stark etabliert(Im Web Serverbereich z.B.), wenn es so unsicher ist?

Weil es nichts kostet und recht funktionsstarke Software zur Verfuegung steht. Fakt ist aber, dass Linux per Default erstmal wesentlich unsicherer ist als andere Unizes. Dinge wie RBAC u.ae. muss man als Admin erst nachruesten. Der monolithische Kernel traegt auch nicht unbedingt dazu bei, dass Sicherheitsschwaechen schnell ersichtlich werden. Selbst die Debugging-Moeglichkeiten sind unter Linux auf dem Stand der 80er Jahre. Warum Verzeichnisse, in denen Binaries nichts zu suchen haben, nicht per Default noexec gemountet werden, kann auch niemand erklaeren. Vieles weiteres, was gegen Linux spricht, liesse sich an dieser Stelle noch auffuehren, aber ich denke die Beispiele reichen um so manch einem mal seine Illusionen bezueglich "sicherem Linux" zu zerstoeren. ;)

Anstatt immer das vermeintlich Positive zu betrachten (die grosse Verbreitung von Linux), sollten sich Linuxer auch mal kritische Frage stellen. Warum entspricht ihr System bis heute keinen Industrienormen fuer Sicherheit und Ausfallsicherheit? Warum ist RBAC kein Standard? Warum setzt man nicht langsam mal auf eine echte Mikrokernel-Architektur? Warum darf unsauberer Code zugunsten der Funktionalitaet in den offiziellen Kernel einfliessen (Stichwort: ACPI)? Warum kann es mehrere Accounts mit der gleichen UID geben, wodurch ein Fake-Root moeglich ist? usw. usf.

Und allgemein sollten Linuxer auch mal kritische Stimmen zu "ihrem OS" zulassen und nicht immer gleich mit inhaltlosen Argumenten dagegen halten.
 
Original von Chromatin
Vielleicht erklaert dieser Bug ja auch die Tatsache dass Linux Server am meisten gehackt werden.

Ein Großteil der Angriffe auf Server im Netz geschieht durch unsichere Web-Applikationen, welche z.B. RemoteFile-Inclusions oder SQL-Injections zulassen (im Zusammenspiel mit Admins, welche dahin gehend ihre Server nicht genügend absichern)
Und da auf einem Großteil der Server eben Linux läuft, ist es nicht verwunderlich, dass dann Linux-Server am meisten von solchen Angriffen betroffen sind.
Das liegt jedoch nicht an Linux, sondern an den Web-Applikationen welche genauso gut auf einem Windows-Server liegen könnten und dort gehackt werden könnten...


Original von ba2
Warum hat Linux sich denn so stark etabliert(Im Web Serverbereich z.B.), wenn es so unsicher ist?
An sich kann man sowohl einen Linux- als auch einen Windows-Server recht sicher gestalten, wenn man nur die nötige Ahnung davon hat.

aber ein paar Dinge, welche für Linux sprechen:
  • Linux ist kostenlos und quelloffen und somit jeder gute Programmierer zur Verbesserung des Systems selbst beitragen kann.

    Wenn Lücken wie diese hier gefunden werden, gibt es weltweit eine Menge User, die selbst einen Blick drauf werfen, Lösungen suchen und irgend eine Lösung setzt sich dann in Zukunft für den offiziellen Kernel durch.
  • Linux-Distributionen verwenden Paket-Verwaltungs-Systeme, mit welchen man sämtliche Software auf dem Server mit einem einzigen Befehl aktualisieren kann und bietet in vielen Bereichen eine sehr große Auswahl an Software-Alternativen an.
    Unter Windows dagegen verwendest du entweder die Microsoft-eigenen Produkte, oder du musst alles, was du dir extra installierst, auch manuell aktuell halten
  • Windows-Server (jedenfalls ältere Versionen, beim 2008 Server hat man AFAIK dazu gelernt...) sind immer an eine grafische Benutzeroberfläche gebunden, welche nur unnötig Ressourcen benötigt... unter Linux- oder UNIX-Systemen hast du erst einmal nur ein Grundsystem mit 'ner Konsole und alles andere kannst du frei entscheiden, was du an grafischem Luxus brauchst oder nicht,...
  • ...to be continued...



ein paar Dinge, die gegen Linux und für Unix-Systeme sprechen, hat bitmuncher ja schon genannt.



wenn jemand noch ein paar PROs für Windows-Server bringen will, kann er dies natürlich auch gerne, dann haben wir hier doch mal eine schöne Übersicht :)
 
Also ich finde diesen Thread echt sehr interessant und bin auf alle weiteren Argumente gespannt.

Ich kann bei "richtigen Servern" nicht mitreden; ich brauche keinen, aber möchte auch nicht, dass hier die kleinen Home-Server vergessen werden:

Ich habe einen kleinen Home-Server am laufen. Er dient als Backup-, FTP und Samba-Server.
Ich habe Windows Home Server als 30-Tage-Testversion.

Fazit:

Der Home-Server kann wohl nichts, was Linux nicht auch könnte, aber:

- die Bedienbarkeit ist sehr einfach
- das autom. Backup-System für Windows-Systeme gefiel mir auf anhieb
- das Benutzermanagement ist echt total einfach konfigurierbar


- Server lief sehr langsam
- bei jedem Update musste er neustarten, alle Verbidnungen rissen ab
- Updates dauerten sehr lange
- FTP, VPN, SSH-Funktionalität fehlte nach Installation -- Manuell nachinstalliert
- Server startete seeehr langsam..... -.-


Die Testlizens läuft nun bald ab, mal sehen, was ich dann benutze. Der Server an sich, mit den Funktionen ist mir zu teuer. Vlt. nehme ich mir auch Windows XP SP3 und installiere da selbst alle Services oder ein Linux oder oder oder.....
 
Ich hatte mal einen Windows Server 2003 Die Administration war super umständlich im Vergleich zum Ubuntu Linux Server.

Vielleicht ist das ja mittlerweile besser geworden, werde ich mal die tage ausprobieren.
 
Zumindest ist ein Windows 2003> Server vollstaendig mit canary/noexec bits durchgebaut.
Insofern ist das schon eine sehr sichere Sache. Und wann gabs einen brauchenbaren remoteexploit gegen
einen IIS? Das duerfte schon ziemlich lange her sein.

An der "Useability" hat MS wirklich noch einiges zu feilen. Das liegt aber auch wirklich teilweise an der Art wie dort software konfiguriert wird. Ein Apache hat im Vergleich zum IIS auch sehr viele Einstellungsmoeglichkeiten, allerdings auf eine, bzw. wenigen Dateien verteilt. Haette man dafuer ein klick-frontend, waer das auch nicht viel uebersichtlicher :)

Davon abgesehen kann ein Windows Server unglaublich viel in der standard Konfiguration. Die neuen Exchangesrever koennen auch ueber die commandline konfiguriert werden. Aber das machts in dem Fall nicht wirklich besser :)
 
Zurück
Oben