(Erledigt) Linux Kernel 2.6 Local Root Exploit

Status
Für weitere Antworten geschlossen.

cm

Administrator
Teammitglied
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...
 

Rain_Maker

Administrator
Teammitglied
AW: Pro-Linux: Linux Kernel 2.6 Local Root Exploit

OH UH....

openSUSE 10.2 (logischerweise als User durchgeführt).

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
Der Exploit ist also durch.

Hotfix:

http://www.ping.uio.no/~mortehu/disable-vmsplice-if-exploitable.c

Kompilieren:

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!
Erneuter Test.

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*
Ruhe im Karton.

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)

Code:
/usr/local/bin/disable-vmsplice-if-exploitable
Nach einem Reboot abschliessender Bericht.

//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.

Code:
[COLOR='Red']su *Mein_Username* -c /usr/local/bin/disable-vmsplice-if-exploitable[/COLOR]
*Mein_Username* ist natürlich anzupassen, Hauptsache es ist ein Benutzer, der im System existiert und _nicht_ root ist.

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*
Und aus die Maus.

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
 

Rain_Maker

Administrator
Teammitglied
AW: Pro-Linux: Linux Kernel 2.6 Local Root Exploit

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

Code:
insmod /usr/local/bin/novmsplice.ko
eingefügt (und natürlich die Zeile aus vorigem Post gelöscht).

Nach einem Reboot schlägt der Exploit fehl

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
Greetz,

RM
 

Rain_Maker

Administrator
Teammitglied
AW: Pro-Linux: Linux Kernel 2.6 Local Root Exploit

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
 
Status
Für weitere Antworten geschlossen.
Oben