Linux kernel binfmt_elf loader sebezhetőségek

Címkék

Épp Paul Starzetzel, az isec.pl egyik bug vadászával beszélgettem amikor bejelentette, hogy 4 perc múlva postázza a következő Linux kernelt érintő hiba leírást.

Hozzászólások

>TPE ebben az esetben (meg ugy altalaban) nem sokat jatszik, mert egy blackhat olyan shellcodeal exploitalja a remote holet amelyel kapasbol (mar a memoriaban) exploitalna a kernel hibat is... Nincs szukseg fajlok letrehozasara vagy ilyesmi. Setuid binaris meg ugy altalaban minden rendszeren van, ha chrooton bellul fut a szolgaltatas abbol meg ugye kilehet torni. (Lasd pl. Spender irasat a miscmagnál [www.miscmag.com]. ;)

Persze, persze. Mar az agyadra ment ez a security baromsag :-D

Inkabb egy huszaros vagassal inkabb kerdezd meg a fazont ha mar ekkora spanban vagy vele, hogy mi a gyogyszer ra.

> OpenBSD is tele van bugokkal mint azt kifejtettem korabban, de hogy jon ez most ide? :)

Security-hez hogy jon az OpenBSD? Ott az mindig ontopic. Ne sertsd mar meg oket :-D

>Persze, persze. Mar az agyadra ment ez a security baromsag :-D

Tobbek kozt ezert fizetnek. ;)

>Inkabb egy huszaros vagassal inkabb kerdezd meg a fazont ha mar ekkora spanban vagy vele, hogy mi a gyogyszer ra.

Inkabb inkabb? :) Nem vagyok egyebkent akkor "spanban" vele, csak pont beszelgettunk. Most viszont elment valahova es nem valaszol a kerdesekre, pedig a hotfixet mar mas is kerdezte.

"No security in this crazy world!" ;)

"TPE ebben az esetben (meg ugy altalaban) nem sokat jatszik, mert egy blackhat olyan shellcodeal exploitalja a remote holet amelyel kapasbol (mar a memoriaban) exploitalna a kernel hibat is... " Bocs, hogy ebbe a mondatba belekötök, de szerintem Grétsy tanár úr ezen elsírta volna magát... ;)

Nem feltetlenul kell hozza trusted user se, eleg ha fut egy szolgaltatas a szervereden amelyben valaki talal egy kihasznalhato hibat. Utana meg a szolgaltatas felhasznalojaval mar konnyen szerez rootot. :P




TPE untrusted GID!


futtass le egy akármilyen binárist olyan user nevében, úgy hogy a user az untrusted GID-ben van.


sok sikert.


érdekelne hogy szerzel root-ot a hibával:

1. mondjuk feltéve hogy a remote hole-on átjutsz full PaX védelem mellett is.


2. szolgáltatás chrootból fut természetesen, a grsec chroot restrictionnal mondjuk, és mondjuk gradm policy vel megspékelve. tehát a chrooton kívül a gradm policy sem engedi ki.

amúgy a grsec chroot restrictionsban van egy olyan hogy deny f(chmod) +s, úgyhogy asszem akkor a gradm-ban levő -CAP_SETUID se kéne


3. szép apránként hogy szereznél rootot vele elméletben, hogy én is értsem... ? :)

------

amúgy a hibát azért jó lenne tényleg mihamarabb kijavítani, mert én is elismerem ez már egy elég bonyolult "workaround" lenne.

TPE untrusted GID!

futtass le egy akármilyen binárist olyan user nevében, úgy hogy a user az untrusted GID-ben van.


akármilyen idegen binárist. mondjuk akár úgy is, hogy mondjuk a szolgáltatás server applettje indítja el mint "gyerekfolyamatot" (~ mert mondjuk remote hole van benne). ettől a binárisod létrehozója, amivel root-ot akarsz szerezni, attól még az untruted usered tulajdonában lesz, és ezért a TPE lecsapja, mint a taxiórát.

TPE untrusted GID!

Mint fentebb írtam nem szükséges hozzá külön bináris, amit le kell futtatnom... Egy blackhat olyan shellcode felhasználásával exploitálhatja a külső szolgátatásodat, amely már tartalmazza a kernel exploitot, chroot breaket, akár még a kernel backdoor injectiont is. Az egészből nem látsz semmit, nincs fájl amit létrehozna a rendszerben vagy hasonlók.

PaX, grsec, restricted chroot...

Mint tudjuk alap kernelnél ezek nem játszanak és trey az Oracle adatbázis szerverén se hiszem, hogy használná. ;) Másrészről ne felejtsd el, hogy egy megfelelő kernel exploitnál a kernel memória teljes részéhez hozzáfér a támadó, így a chroot és bármilyen ACL/policy rendszer is kikapcsolható. (chroot kikapcsolásához pl. csak egy pointert kell kinullázni.) Chroot, TPE, ACL védelmek csak abban az esetben érnek valamit, ha a kernelben nincs kihasználható hiba.

Úgy tűnik a 2.6.9 is érintett, legalábbis abból gondolom, hogy találtam egy ilyen pecset.





(~ha nem lenne érintett, akkor miért kéne pecselni (??)





PATCH [linux.bkbits.net:8080]





Állítólag (sec.focus / full discl. /) az első 4 problémára megoldást nyújt.


Úgy nézem a patch 2.4-esre is "felmegy", aztán hogy miképpen funkcionál azt nem'tom, mert semmi időm nincsen.

> Mint tudjuk alap kernelnél ezek nem játszanak és trey az Oracle adatbázis
> szerverén se hiszem, hogy használná. ;)

Lehet, sőt, több, mint valószínű. Viszont Oracle adatbázis serveren más
szolgáltatás nem figyel kifelé, mint maga az Oracle (és ha azt megtörik,
akkor már szinte mindegy), interaktív userek pedig maximum a
rendszergazda és az adatbázis-adminisztrátor.

--
--- Friczy ---
'Death is not a bug, it's a feature'

[13:05:23] {@IhaQueR} it is only 4 mins now!

[13:07:15] {@IhaQueR} IM RELEASING THE NEW ADV

[13:07:17] {@IhaQueR} loool

;))

Ja! Azt elfelejtettem írni a cikkben, hogy 2.4-es széria 2.4.27-ig bezárólag és 2.6-os 2.6.8-ig mind1ik kernel érintett.

Nem feltetlenul kell hozza trusted user se, eleg ha fut egy szolgaltatas a szervereden amelyben valaki talal egy kihasznalhato hibat. Utana meg a szolgaltatas felhasznalojaval mar konnyen szerez rootot. :P

Egyebkent en meg 2.6-ot nem hasznalnek eles szerveren, de izlesek es pofonok. ;) Abban egyebkent megtobb kihasznalhato bug van, mint 2.4-ben. Raadasul a stabilitasaval is problemak vannak meg.

>Nem feltetlenul kell hozza trusted user se, eleg ha fut egy szolgaltatas a szervereden amelyben valaki talal egy kihasznalhato hibat.

Jaja, ezek ilyen jo feltetelezesek. Meg ha megadom a jelszomat, eg ha oreganyam sarga lett volna es csengetett volna o lett volna a villamos :-)

Utana meg a szolgaltatas felhasznalojaval mar konnyen szerez rootot. :P

Persze ha nincs TPE, meg van setuid binaris meg a csillagok ugy allnak, meg a Merkur eppen egy hazban van a Venusszal, ja es eppen nincs napkitores, mert akkor az egesz vissza :-D

>Egyebkent en meg 2.6-ot nem hasznalnek eles szerveren, de izlesek es pofonok.

Egyetertunk. Izlesek es pofonok. Naponta latok Oracle szervert mukodni 2.6-tal kifogastalanul :-D

>Abban egyebkent megtobb kihasznalhato bug van

Bug miben nincs? Meg a nagyszeru OpenBSD-ben is van. Csak ossze kell szamolni. Bug meg a faban is van. Ugy hivjak szu.

> Jaja, ezek ilyen jo feltetelezesek.

Az hogy fut egy szolgaltatas a szervereden amely tartalmaz kihasznalhato hibat azt hiszem nem tul nagy feltetelezes. (hisz "bug miben nincs?" ;)

> Persze ha nincs TPE, meg van setuid binaris

TPE ebben az esetben (meg ugy altalaban) nem sokat jatszik, mert egy blackhat olyan shellcodeal exploitalja a remote holet amelyel kapasbol (mar a memoriaban) exploitalna a kernel hibat is... Nincs szukseg fajlok letrehozasara vagy ilyesmi. Setuid binaris meg ugy altalaban minden rendszeren van, ha chrooton bellul fut a szolgaltatas abbol meg ugye kilehet torni. (Lasd pl. Spender irasat a miscmagnál [www.miscmag.com]. ;)

> Naponta latok Oracle szervert mukodni 2.6-tal kifogastalanul :-D

En meg naponta hallok embereket akik panaszkodnak, hogy miota 2.6-ra alltak at problemak vannak a szerverek stabilitasaval. ;)

> Meg a nagyszeru OpenBSD-ben is van.

OpenBSD is tele van bugokkal mint azt kifejtettem korabban, de hogy jon ez most ide? :)