LINUX.ORG.RU

Повышение привилегий в vmsplice

 , ,


0

0

Недостаточно скрупулезная проверка входных данных в системном вызове vmsplice позволяет обычному пользователю повысить привилегии до root-а на ядрах 2.6.17-2.6.24.1.

>>> Эксплойт

>>> Патч

>>> Обсуждение на /.

>>> LOR Talks

Update: Вышли новые версии ядер: 2.6.24.2, 2.6.23.16 и 2.6.22.18 с исправленной ошибкой.

>>> Подробности

★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от sS

> 6 месяцев это оперативно ? o_O Пока не появился работающий эксплоит никто и не чесался

Слава опенсорсу, самому оперативному и гуманному в мире!

anonymous
()

А ведь давно говорили людям, что 2.6 ядрам на серверах, те кто заботится о безопасности юзают 2.4.Х, а не этот вечный unstable

anonymous
()
Ответ на: комментарий от anonymous

> и я в очередной раз порадовался отобранным правам на запуск гцц и noexec на /home /tmp и /var/tmp ...

А я знаю способ исполнения бинарников, которые можно собрать у себя, а потом залить -
ведь бинарную совместимость никто не отменял, на сервере с неисполнимыми /home, /tmp и /var/tmp. :p
Так и быть расскажу:

$ file hello
hello: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), not stripped
$ cp hello /dev/shm/
$ cd /dev/shm/
$ ./hello
Hello world


anonymous
()
Ответ на: комментарий от anonymous

s/на серверах/на серверах не место/

anonymous
()
Ответ на: комментарий от anonymous

> Интересно, куда пропали кричащие "вендекапец"? :)

Патчат ядры и стыдливо отмалчиваются.

anonymous
()
Ответ на: комментарий от KUser

>По всем ссылках стоит дата обнаружения февраль сего года, нигде не указано что знали за полгода до того

См. обсуждение на ./

PS: vmsplice_to_user например был добавлен 14 июня

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6...

sS ★★★★★
()
Ответ на: комментарий от anonymous

ss@ACER:~$ touch xxx
ss@ACER:~$ cp xxx /dev/shm/
cp: невозможно создать обычный файл `/dev/shm/xxx': Отказано в доступе


и ? 

sS ★★★★★
()

Кстати, как вы считаете, на ядро 2.4 уже можно переходить? Оно достаточно стабильное уже?

anonymous
()
Ответ на: комментарий от anonymous

Нет, но пока на 2.6.16.60 можно отсидется

szh ★★★★
()
Ответ на: комментарий от sS

> cp: невозможно создать обычный файл `/dev/shm/xxx': Отказано в доступе и ?

Читерам бан!

anonymous
()

2.2.xx-xxyzzzz - рулед !! а кому нужен USB и прочие извраты - могут мигрировать на FreeDOS.

anonymous
()
Ответ на: комментарий от sS

У меня по другому.
Права на запись есть.
Просто...
# mount | grep shm
shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)
#
поэтому на любой --x выдаёт permission denied ;)

anonymous
()
Ответ на: комментарий от kott

>а что плохого в быть зюзеводом?

БП ;)

sS ★★★★★
()
Ответ на: комментарий от sS

> См. обсуждение на ./

"Of course, the problem may also have been known six months ago."

Тебе перевести что означает MAY???!!

> PS: vmsplice_to_user например был добавлен 14 июня

Теоретизировать, что кто-то сразу же нашел дырку и смолчал можно сколько угодно. Если автор сплоита давно знал, но молчал, то почему выложил эксплоит только сейчас? А то, что эксплоит судя по комментариям содержит старый код, совершенно не означает, что этому эксплоиту несколько месяцев. Например, автор мог взять эксплоит для аналогичной более старой ядерной дыры и перепилить его под новую вместо того, чтобы изобретать велосипед.

anonymous
()

Теперь я понял почему ФРЯ в основном на серверах живет ;) .Кстати, а какой нынче *BSD - десктоп рулит?

anonymous
()
Ответ на: комментарий от sS

>Дык зюзевод в оракле ;)

Они там все на убунте :)

rtc ★★
()
Ответ на: комментарий от anonymous

>Если автор сплоита давно знал, но молчал, то почему выложил эксплоит только сейчас?

Тема стала неинтересна ;)

sS ★★★★★
()

CentOS 5.1 SELinux Strict. не пашет :(

zeus
()
Ответ на: комментарий от anonymous

> cp: невозможно создать обычный файл `/dev/shm/xxx': Отказано в доступе

> Просто... # mount | grep shm shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)

Ой-ой-ой. Как только узнали элитный способ обхода nonexec так тут же побежали дырки все залатали. Ну ничего, для вас есть еще один способ обхода nonexec:

$ strace perl syscall.pl 2>&1|grep 1337 syscall_1337(0x1, 0x8174dc8, 0xa, 0, 0, 0, 0xffffffda, 0x7b, 0x7b, 0, 0x33, 0x539, 0xb7f52410, 0x73, 0x246, 0xbffe1c6c, 0x7b, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = -1 (errno 38)

Вместо 1337 там может стоять и __NR_vmsplice (316) ;)

anonymous
()
Ответ на: комментарий от anonymous

> cp: невозможно создать обычный файл `/dev/shm/xxx': Отказано в доступе

> Просто...
# mount | grep shm
shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)


Ой-ой-ой. Как только узнали элитный способ обхода nonexec так тут же побежали дырки все залатали. Ну ничего, для вас есть еще один способ обхода nonexec:

$ strace perl syscall.pl 2>&1|grep 1337
syscall_1337(0x1, 0x8174dc8, 0xa, 0, 0, 0, 0xffffffda, 0x7b, 0x7b, 0, 0x33, 0x539, 0xb7f52410, 0x73, 0x246, 0xbffe1c6c, 0x7b, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = -1 (errno 38)

Вместо 1337 там может стоять и __NR_vmsplice (316) ;)

anonymous
()

У кого-нибудь ядро собрано с -fstack-protector и _FORTIFY_SOURCE=2 ?

anonymous
()

После много кратного запуска этого дела с сегфолтом на виртуальной машине OpenVZ весь HWNode ушел в мрак.

Как жеж не поперло та а :'-(.

GH
()
Ответ на: комментарий от anonymous

> Ну ничего, для вас есть еще один способ обхода nonexec

на поиски этого способа и уж тем более на реализацию у среднестатистического "кулхацкера" уйдёт не один день. Это не просто скачать->скомпилить.
За это время успеем патчи наложить.
А у знающих людей эта дырка наверняка уже несколько месяцев используется.

anonymous
()

Эксплойт хорошо летает, не тормозит? :)

Quasar ★★★★★
()
Ответ на: комментарий от anonymous

> Надоело пускать. Не работает нифига. 2.6.22.6/x86_64, собрано make-kpkg.

Этот не заработает. Там код x86. Ищи специальный эксплойт для своей архитектуры. Или сам сделай по одразу и подобию. Уязвимость-то никуда не ушла.

haywire
()
Ответ на: комментарий от haywire

190587 Local root exploit in kernel 2.6.17 - 2.6.24 (vmsplice) Gentoo Linux Unknown Confirmed
190587 Local root exploit in kernel 2.6.17 - 2.6.24 (vmsplice) Debian Unknown Fix Committed
190587 Local root exploit in kernel 2.6.17 - 2.6.24 (vmsplice) linux (Fedora) Unknown Fix Committed
190587 Local root exploit in kernel 2.6.17 - 2.6.24 (vmsplice) Mandriva Unknown Confirmed
190587 Local root exploit in kernel 2.6.17 - 2.6.24 (vmsplice) linux-source-2.6.22 (Ubuntu) High In Progress
190587 Local root exploit in kernel 2.6.17 - 2.6.24 (vmsplice) linux (Ubuntu) High In Progress
190587 Local root exploit in kernel 2.6.17 - 2.6.24 (vmsplice) linux-source-2.6.20 (Ubuntu) High In Progress
190587 Local root exploit in kernel 2.6.17 - 2.6.24 (vmsplice) linux-source-2.6.17 (Ubuntu) High In Progress


Убунтяи , блин, (производное от лентяи) дебиан и федору уже пропатчили, а эти все чешутся

anonymous
()
Ответ на: комментарий от anonymous

rbash рулит. Не давать пользователям выполнять бинарники вне переменной PATH и все. А еще можно настроить gresce'овский TPE (Trsuted Path Execution). И все "кулхацкеры" сосут.

Valmont ★★★
()
Ответ на: комментарий от Valmont

на всякую крутую задницу найдется кое что с винтом

от винта найдется задница с закоулками, от задницы с закоулками найдется....

(к предыдущему посту) была бы дырка, а возможность ее заюзать найдут. как временная мера для сосания - годится, а так сидим, ждем патча для дистрибутивов своих, кому невтерпеж - собирают ядра сами. Мну лень ) все равно взламывать кроме меня некому.

anonymous
()
Ответ на: комментарий от Valmont

Правда остаются перловые сисколы. И это было бы совсем печально, но к счастью у меня, например, интерпретатор perl'а не доступен в шелле.

А вот на веб-серваке можно что-то придумать через .cgi. Так то обновляться нужно побыстремше.

Valmont ★★★
()
Ответ на: комментарий от anonymous

Придется пересобирать. Centos'овцы пока не чешутся.

Valmont ★★★
()
Ответ на: комментарий от Valmont

> rbash рулит. Не давать пользователям выполнять бинарники вне переменной PATH и все. А еще можно настроить gresce'овский TPE (Trsuted Path Execution). И все "кулхацкеры" сосут.

Trsuted Path Execution и rbash умеют работать с perl exploit.pl?

MaratIK
()
Ответ на: комментарий от anonymous

> Уже пропатчил ядро.. У меня 2.6.21.5 так что патч по ссылке для него не подошел, номер строки другой в моем файле. Весь смысл в том, чтобы найти в файле /usr/src/linux/fs/splice.c строку: if (unlikely(!base)) и заменить ее на if (!access_ok(VERIFY_READ, base, len)) далее можно собирать новое ядро...

Имхо, unlikely здесь как раз можно оставить:

if (unlikely(!access_ok(VERIFY_READ, base, len)))

MaratIK
()
Ответ на: комментарий от MaratIK

Up. :-) В некоторых шеллах можно запретить доступ к интерпретатору перла. Не везде, конечно.

// CentOs'овцы не то что не чешутся, а просто ждут апстримного патча от RedHat или скорее даже ядра.

Valmont ★★★
()
Ответ на: комментарий от anonymous

> Убунтяи , блин, (производное от лентяи) дебиан и федору уже пропатчили, а эти все чешутся

В убунте еще один локал рут не запатчен(в loop-aes-utils), пропатченный в дебе ;)

anonymous
()
Ответ на: комментарий от WFrag

> Скорее всего, та же фигня на всех этих убунтах, grsecurity, PaX-ах, и.т.д.

Некоторые говорят, что grsecurity не подвержен.

tailgunner ★★★★★
()

ухххх, пропатчился... не работает! :D

Дышите глубже - пролетаем Сочи.

GH
()
Ответ на: комментарий от tailgunner

grsecurity подвержен. отлично рутом становимся, правда ненадолго - потом oops.

anonymous
()

А у меня нет линукса... :(

Gharik
()
Ответ на: комментарий от Valmont

> rbash рулит. Не давать пользователям выполнять бинарники вне переменной PATH и все. А еще можно настроить gresce'овский TPE (Trsuted Path Execution). И все "кулхацкеры" сосут

Безопасники сосут. Хацкеры рулят.

anonymous@hackers:~$ rbash
anonymous@hackers:~$ LD_PRELOAD=`echo -e "$HOME/test/fun.so"` id
Hello rbash! I could do anything here ;)
uid=1337 gid=1000(anonymous) euid=1000(anonymous) группы=4(adm),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(p lugdev),100(users),104(scanner),113(lpadmin),115(powerdev),117(admin),119(fuse), 125(vboxusers),128(uml-net),1000(anonymous)

Ха-ха-ха rbash всосал =) Ладно не буду вас больше пугать трюками для обхода noexec,
perl-эксплоитами и эксплоитами на rbash, а то не уснете - будете всю ночь за сервера бояться. ;)
Надо бы сделать кроссплатформенный local root perl-эксплоит с шеллкодами для powerpc, amd64 и x86 ;)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.