Der aktuelle Linux-Kernel und ältere Versionen bis einschließlich Kernel 2.6.17 beinhalten eine Sicherheitslücke, die es lokalen Anwendern ermöglicht sich Root-Rechte zu verschaffen.
Weiterlesen...
Der aktuelle Linux-Kernel und ältere Versionen bis einschließlich Kernel 2.6.17 beinhalten eine Sicherheitslücke, die es lokalen Anwendern ermöglicht sich Root-Rechte zu verschaffen.
Weiterlesen...
OH UH....
openSUSE 10.2 (logischerweise als User durchgeführt).
Der Exploit ist also durch.Code:./linux_vmsplice-exploit ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7ecc000 .. 0xb7efe000 [+] root # whoami root
Hotfix:
http://www.ping.uio.no/~mortehu/disa...-exploitable.c
Kompilieren:
Erneuter Test.Code:gcc disable-vmsplice-if-exploitable.c -o disable-vmsplice-if-exploitable ./disable-vmsplice-if-exploit ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7ee0000 .. 0xb7f12000 [+] root Exploit gone!
Ruhe im Karton.Code:./linux_vmsplice-exploit ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7fad000 .. 0xb7fdf000 [-] vmsplice whoami *Mein_Username*
Allerdings ist das nicht "Rebootfest", ich habe mir das oben erzeugte Binary nach /usr/local/bin gepackt und in /etc/init.d/boot.local eingetragen (letzte Zeile)
Nach einem Reboot abschliessender Bericht.Code:/usr/local/bin/disable-vmsplice-if-exploitable
//Edit:
So geht schonmal nicht, das Binary wird als root nicht korrekt gestartet, das muss anders gehen.
//Edit2:
OK, die Lösung ist denkbar einfach, man muß nur auf die Idee kommen, daß man root (welcher das Script /etc/init.d/boot.local ausführt) einen Befehl als "normaler" User ausführen lässt.
*Mein_Username* ist natürlich anzupassen, Hauptsache es ist ein Benutzer, der im System existiert und _nicht_ root ist.Code:su *Mein_Username* -c /usr/local/bin/disable-vmsplice-if-exploitable
Und aus die Maus.Code:./linux_vmsplice-exploit ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7ec7000 .. 0xb7ef9000 [-] vmsplice whoami *Mein_Username*
Als "Würgaround" bis zum nächsten Kernelupdate also brauchbar.
Die beschriebenen Stabilitätsprobleme hier
#464953 - linux-2.6: mmap() local root exploit - Debian Bug report logs
kann ich bisher nicht nachvollziehen, aber trotzdem "use at your own risk".
(Zumal der alternativ vorgeschlagene Patch "ptpatch2008.c" bei mir unter 10.2/2.6.18.8-0.8 nicht kompiliert.)
Greetz,
RM
Geändert von Rain_Maker (11.02.2008 um 14:37 Uhr)
"Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)
Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.
openSUSE 11.4 - 3.3.X-desktop - fluxbox 1.3.2
For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
(==> Und hier das wirkliche "Geheimnis meines Erfolges")
Weitere, möglicherweise elegantere Lösung.
Lokaler Root-Exploit - Server Support Forum
Das Modul liess sich problemlos unter 2.6.18.8 (openSUSE 10.3) und 2.6.22.16 (openSUSE 10.3) mit "make" kompilieren (kernel-source gcc und make müssen natürlich installiert sein) und scheint den Exploit zu verhindern.
Ich habe das so gelöst.
1. Modul "novmsplice.ko" nach /usr/local/bin kopiert
2. Die Datei /etc/init.d/boot.local als root mit einem Texteditor geöffnet und die Zeile
eingefügt (und natürlich die Zeile aus vorigem Post gelöscht).Code:insmod /usr/local/bin/novmsplice.ko
Nach einem Reboot schlägt der Exploit fehl
Greetz,Code:./linux_vmsplice-exploit ----------------------------------- Linux vmsplice Local Root Exploit By qaaz ----------------------------------- [+] mmap: 0x0 .. 0x1000 [+] page: 0x0 [+] page: 0x20 [+] mmap: 0x4000 .. 0x5000 [+] page: 0x4000 [+] page: 0x4020 [+] mmap: 0x1000 .. 0x2000 [+] page: 0x1000 [+] mmap: 0xb7f6a000 .. 0xb7f9c000 Speicherzugriffsfehler
RM
"Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)
Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.
openSUSE 11.4 - 3.3.X-desktop - fluxbox 1.3.2
For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
(==> Und hier das wirkliche "Geheimnis meines Erfolges")
Die seit gestern verfügbaren Versionen
2.6.18.8-0.8 (openSUSE 10.2)
und
2.6.22.17-0.1 (openSUSE 10.3)
beheben das Problem.
Greetz,
RM
"Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)
Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.
openSUSE 11.4 - 3.3.X-desktop - fluxbox 1.3.2
For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
(==> Und hier das wirkliche "Geheimnis meines Erfolges")
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen