The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Обнаружена локальная root-уязвимость в 64-битных Linux-ядрах, выпущенных с 2008 года

16.09.2010 11:31

В 2007 году была обнаружена уязвимость в 64-разрядных Linux-ядрах, которая позволяла непривилегированному локальному пользователю получить root-доступ к системе из-за небезопасной трансляции 32-битных вызовов. Ошибка на тот момент была исправлена и все про неё благополучно забыли.

Ben Hawkes, который изначально нашёл эту уязвимость, недавно обнаружил, что проблема снова возникла в ядре в виду того, что в 2008 году из-за первоначального патча появилась регрессия и код был поправлен таким образом, что ядро снова стало уязвимо. Сделав небольшую правку изначального кода exploit'a, Ben Hawkes добился его работоспособности во всех свежих 64-битных Linux-ядрах.

Таким образом, все свежие 64-битные ядра являются уязвимыми к локальной атаке, и в случае использования Linux для организации работы системы совместного доступа, например, для обеспечения работы хостинга, следует незамедлительно обновить Linux-ядро или временно запретить shell-доступ.

Компания RedHat заявила, что ядра, поставляемые в дистрибутивах RHEL и CentOS версий только 3 и 4 (но не 5.x), не являются уязвимыми, так как проблемный патч d4d67150 не был принят. Информацию о появлении обновлений с исправлением уязвимости в других популярных Linux-дистрибутивах, можно узнать по следующим ссылкам: Ubuntu, Slackware, Gentoo, Mandriva, openSUSE, Fedora и Debian. Эксплоит для проверки подверженности системы вышеописанной уязвимости можно загрузить здесь (ВНИМАНИЕ ! Указанный эксплоит на деле сочетает в себе функции бэкдора).

Кроме того, на днях в Linux-ядре обнаружены еще несколько менее серьезных уязвимостей:

  • При вызове некоторыми функциями (например, "compat_mc_getsockopt()") процедуры "compat_alloc_user_space()" не осуществляется проверка корректности данных о возвращаемой области памяти, что может быть использовано для повреждения содержимого памяти ядра;
  • Ошибка в коде проверки допустимости границ в функции "niu_get_ethtool_tcam_all()" из состава драйвера NIU, может привести к краху ядра или потенциальному выполнению кода на уровне ядра при отправке специально оформленного ETHTOOL_GRXCLSRLALL IOCTL. Проблеме подвержены только системы, использующие драйвер для Ethernet-адаптеров Sun Neptune (NIU). Проблема исправлена в выпуске 2.6.36-rc4;
  • В реализации файловой системы XFS зафиксирована проблема, связанная с отсутствием очистки памяти перед передачей некоторых структур данных на пользовательский уровень. Используя ошибку, злоумышленник может получить доступ к некоторым закрытым областям памяти ядра через отправку XFS_IOC_FSGETXATTR IOCTL. Проблема устранена в ядре 2.6.36-rc4;
  • В функциях "de4x5_ioctl()", "cxgb_extension_ioctl()", "eql_g_master_cfg()" и "hso_get_count()" найдены ошибки, приводящие к копированию неинициализированных областей памяти ядра, в которых могут содержать закрытые данные из области стека ядра. Проблема проявляется при отправке соответствующих IOCTL драйверам de4x5, cxgb, eql и hso.


  1. Главная ссылка к новости (http://sota.gen.nz/compat2/...)
  2. OpenNews: Обнаружена локальная root-уязвимость, затрагивающая все Linux-ядра 2.6.x
  3. OpenNews: В Linux ядре найдена уязвимость, позволяющая получить права суперпользователя
  4. OpenNews: В Linux ядре найдена уязвимость, присутствующая с 2001 года
Автор новости: Artem S. Tashkinov
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/27979-linux
Ключевые слова: linux, security, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (75) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Samm (??), 11:59, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    имя файло robert_you_suck.c доставляет, да )
     
     
  • 2.25, Demo (??), 13:20, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Куда доставляет? И к чему там "да" в конце предложения?
     
     
     
    Часть нити удалена модератором

  • 4.38, Demo (??), 14:29, 16/09/2010 [ответить]  
  • +6 +/
    >Вы шутите, правда?

    К вам претензий нет. Продолжайте.

     
     
  • 5.51, szh (ok), 16:42, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    жаргон - http://lurkmore.ru/%D0%94%D0%BE%D1%81%D1&#
     
     
  • 6.53, Demo (??), 17:24, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А, это вы про так-называемые "лулзы" и проч... Да это же китч, не стоящий ни малейшего внимания.
     
     
  • 7.60, Samm (??), 19:00, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Вы негодный, толстый троль.  Кстати, фраза robert, you sucks тоже имеет отношение к этому вашему аниме.
     
  • 2.46, User294 (ok), 16:07, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    В "боевой" версии эксплойта есть какие-то "лестные" коменты в адрес Ben'а :)
     

  • 1.2, Аноним (-), 12:01, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    откуда инфа про ben hawkes? эксплоит сегодня в full-disclosure выложили Ac1dB1tch3z:

    http://seclists.org/fulldisclosure/2010/Sep/268

     
     
  • 2.3, 123456 (??), 12:16, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    по-моему это разные эксплойты
     
     
  • 3.6, Аноним (-), 12:22, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >по-моему это разные эксплойты

    да, тот что от hawkes - просто poc. а тот что от acid bitches - боевой варез с обходом селинуксов и прочего.

     
     
  • 4.48, User294 (ok), 16:12, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >да, тот что от hawkes - просто poc. а тот что от
    >acid bitches - боевой варез с обходом селинуксов и прочего.

    Судя по стилю сырца исходника, Ac1dB1tch3z отрабатывают свое название на все 120%... :)

     
  • 2.5, Аноним (-), 12:20, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    а, сорри гоню.
    эксплоит выложен в ответ на публикацию уязвимости by ben hawkes.
     
  • 2.7, neo_teosoft (?), 12:26, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А что там нужно поправить что бы он собирался?
     

  • 1.4, Жирный ублюдок DBA (?), 12:17, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    На CentOS 5.5 не работает.
     
     
  • 2.11, аноним (?), 12:45, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >На CentOS 5.5 не работает.

    И не должно. Это ж Red Hat.

     

  • 1.10, аноним (?), 12:44, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    >Компания RedHat заявила, что ядра, поставляемые в дистрибутивах RHEL 3, 4 и 5 (соответственно и в CentOS), не являются уязвимыми, так как проблемный патч d4d67150 не был принят.

    Вот так redhat ненавязчиво показал, кто на самом деле заботится о безопасности, а кто только делает вид и поднимает шум.

     
     
  • 2.13, svn (??), 12:52, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Вот так redhat ненавязчиво показал, кто на самом деле заботится о безопасности, а кто только делает вид и поднимает шум.

    Ага, только изменение открывающее эту дыру было сделано сотрудниками redhat!
    Намеренно подложили мину тем кто использует ванильное ядро, а сами её обошли?

     
     
  • 3.18, szh (ok), 13:02, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >Ага, только изменение открывающее эту дыру было сделано сотрудниками redhat!
    >Намеренно ?

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

     
     
  • 4.24, аноним (?), 13:18, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Банальный пофигизм. В своих ведрах дыру закрыли, а на ванилу положили. Типа собщество разберется
     
  • 3.19, аноним (?), 13:09, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +7 +/
    >Ага, только изменение открывающее эту дыру было сделано сотрудниками redhat!

    Редхат настолько суров, что посылает нафиг даже своих сотрудников, если патч кривой.

     
  • 2.16, szh (ok), 12:59, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > Вот так redhat ненавязчиво показал, кто на самом деле заботится о безопасности, а кто только делает вид и поднимает шум.

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

     
     
  • 3.21, аноним (?), 13:10, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >у тебя проблемы, ты не понимаешь где есть логические связи и где их нет.

    Ага, значит, намек был понят и бурная эмоциональная реакция имела место быть.
    Что ж, жизнь, она суровая. И склонна разрушать розовые фантазии.

     
     
  • 4.77, szh (ok), 21:24, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ага, значит, намек был понят и бурная эмоциональная реакция имела место быть.

    хочешь пофлудить на тему оффтопика, троллик ?

    > Что ж, жизнь, она суровая. И склонна разрушать розовые фантазии.

    пока что ты активно создаешь розовые фантазии о редхате.

     
  • 3.27, аноним (?), 13:23, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >у тебя проблемы,

    Правда?

    >ты не понимаешь где есть логические связи и где их нет.

    По-моему, все очевидно.

    Редхат действительно заботится о безопасности, и не принимает сомнительные патчи, даже если их написали свои же сотрудники.

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

     
     
  • 4.41, pva (??), 14:39, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Редхат использует древние ядра и посему у них этой проблемы нет. Ка бы использовали что-то новое, то имели бы те же проблемы, что и все...

    А текст новости написан повоцирующе. Зря.

     
     
  • 5.47, cryo (ok), 16:10, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Редхат-ядро вообще сложно сравнивать с ванила-ядром, и, тем более, определять, что свежее.

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

    Ключевое слово - продакшин. Редхат старается держать свои ядра в состоянии, пригодном для промышленного применения своей системы.

    Да, если сравнивать по кол-ву свистелок и перделок в ядре - рэдхат безнадежно отстал :)

     
  • 5.43, Аноним (-), 14:53, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    в эксплоите описаны следующие таргеты struct LSM_rhel known_targets 4 ... большой текст свёрнут, показать
     
     
  • 6.70, Sectoid (??), 19:49, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >...
    >"2.6.18-164.11.1.el5",
    >...
    >Так что работает оно в редхате с этими ядрами. нету заговора

    Подтверждаю, работает. CentOS 5.5.

     

  • 1.33, anonymous (??), 13:38, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Проверил у себя - собирается, работает :(
     
  • 1.34, prapor (??), 13:51, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    syeg % ./robert_you_suck                                                  ~/tmp
    resolved symbol commit_creds to 0xffffffff81097c70
    resolved symbol prepare_kernel_cred to 0xffffffff81097f60
    mapping at 3f80000000
    UID 0, EUID:0 GID:0, EGID:0
    sh-4.1# id
    uid=0(root) gid=0(root) групи=0(root) контекст=system_u:system_r:kernel_t:s0
    sh-4.1# cat /etc/redhat-release
    Red Hat Enterprise Linux release 6.0 Beta (Santiago)
    sh-4.1#
     
     
  • 2.35, Vitaly_loki (ok), 13:56, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Таки работает что ли?
     
  • 2.61, Michael Shigorin (ok), 19:06, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ALT (обычный и ovz):

    $ ./ABftw
    Ac1dB1tCh3z VS Linux kernel 2.6 kernel 0d4y
    $$$ Kallsyms +r
    $$$ K3rn3l r3l3as3: 2.6.32-std-def-alt20.M50P.1
    [...]
    $$$ 0v3r thr0w f0ps g0v3rnm3nt
    !!! y0u fuq1ng f41l. g3t th3 fuq 0ut!

    $ ./ABftw
    Ac1dB1tCh3z VS Linux kernel 2.6 kernel 0d4y
    $$$ K3rn3l r3l3as3: 2.6.18-ovz-rhel-alt12
    ??? Trying the F0PPPPPPPPPPPPPPPPpppppppppp_____ m3th34d
    !!! N0t a RH3l k3rn3l
    !!! u4bl3 t0 f1nd t4rg3t!? W3'll s33 ab0ut th4t!
    !!! 3v3ryth3ng f41l3d!!*@&^@&*^ () * try an0th3r 0d4y L0l

     
     
  • 3.64, User294 (ok), 19:20, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Там в сплойте комент есть что OVZ payload выпилен от скрипткиддей подальше. Это никак не связано с everything failed?
     
     
  • 4.71, Michael Shigorin (ok), 19:53, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Там в сплойте комент есть что OVZ payload выпилен от скрипткиддей подальше.

    Читал.  Проверил левоюзером в VE и на HN, выхлоп идентичный.

    >Это никак не связано с everything failed?

    Нинаю. :)

     

  • 1.36, Viliar (ok), 14:11, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Таки про шестерку они не писали :-D Оно еще бета.
     
  • 1.37, Alikus (ok), 14:12, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Собрал. Не работает :(
     
     
  • 2.40, Аноним (40), 14:36, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >Собрал. Не работает :(

    работать будет только в RHEL!!!
    в собачей моче (Gentoo) и в Debian sid не работает - ядра как grsec/pax так и без.

    Ac1dB1tCh3z VS Linux kernel 2.6 kernel 0d4y
    $$$ Kallsyms +r
    $$$ K3rn3l r3l3as3: 2.6.32
    $$$ prepare_creds->ffffffff81050750
    $$$ override_creds->ffffffff81050680
    $$$ revert_creds->ffffffff810508b0
    $$$ Kernel Credentials detected
    !!! Err0r 1n s3tt1ng cr3d sh3llc0d3z

     
     
  • 3.42, Аноним (40), 14:42, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    таки работает на Debian
    Linux sindicat 2.6.32 #2 SMP Wed Aug 18 12:00:42 EEST 2010 x86_64 GNU/Linux

    $ ./robert_you_suck
    resolved symbol commit_creds to 0xffffffff81050920
    resolved symbol prepare_kernel_cred to 0xffffffff81050820
    mapping at 3f80000000
    UID 0, EUID:0 GID:0, EGID:0
    # id
    uid=0(root) gid=0(root) groups=0(root)
    #

     
  • 3.49, neo_teosoft (?), 16:37, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А какие правки вы внесли в код что бы он компилировался?
     
  • 3.79, slepnoga (??), 21:34, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/

    >в собачей моче (Gentoo) и в Debian sid не работает - ядра

    с мочой удавись от злости :)
    slep@mini ~ $ ./a.out
    resolved symbol commit_creds to 0xffffffff810651e0
    resolved symbol prepare_kernel_cred to 0xffffffff810658d0
    mapping at 3f80000000
    UID 0, EUID:0 GID:0, EGID:0
    sh-4.1# id
    uid=0(root) gid=0(root) группы=0(root)

    sh-4.1# uname -a
    Linux mini 2.6.35-gentoo-r5-1.04 #1 SMP PREEMPT Sun Sep 5 04:09:31 EEST 2010 x86_64 Intel(R) Atom(TM) CPU 330 @ 1.60GHz GenuineIntel GNU/Linux
    sh-4.1#

     

  • 1.39, i (??), 14:30, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    таки не работает inux aquinas 2.6.34-hardened-r1-grsec #1 SMP PREEMPT Tue Jul 13 18:49:32 MSD 2010 x86_64 Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz GenuineIntel GNU/Linux


    exploit@aquinas ~ $ ./robert_you_suck
    symbol table not available, aborting!
    Process finished

     
     
  • 2.65, Pentium02 (?), 19:22, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Сделайте так, например
    замените /proc/kallsyms на путь к System.map

            f = fopen("/proc/kallsyms", "r");
            if (f == NULL) {
                    f = fopen("/proc/ksyms", "r");
                    if (f == NULL)
                            return 0;
                    oldstyle = 1;
            }

    например:

            f = fopen("/boot/System.map-genkernel-x86_64-2.6.35-zen2", "r");
            if (f == NULL) {
                    f = fopen("/boot/System.map-genkernel-x86_64-2.6.35-zen2", "r");
                    if (f == NULL)
                            return 0;
                    oldstyle = 1;
            }

     
     
  • 3.84, i (??), 09:41, 17/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Ура заработало! :))
    после чтения System.map из доступного каталога

    exploit@aquinas ~ $ ./robert_you_suck
    resolved symbol commit_creds to 0xffffffff82058a20
    resolved symbol prepare_kernel_cred to 0xffffffff82058700
    mapping at 3f80000000
    UID 0, EUID:0 GID:0, EGID:0
    sh-4.0#
    sh-4.0# cat /etc/shadow
    root:$6$i1aC.........

    и все же, kallsyms ksyms и System.map от юзера скрыты:
    exploit@aquinas ~ $ ls -l /usr/src/linux/
    ls: невозможно открыть каталог /usr/src/linux/: Отказано в доступе
    exploit@aquinas ~ $ ls -l /boot/
    ls: невозможно открыть каталог /boot/: Отказано в доступе

    В данном случае без не большой помощи рута не работало :)

     
     
  • 4.103, taaroa (ok), 00:47, 21/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ~/tmp%  gcc robert_you_suck.c
    ~/tmp% ./a.out
    symbol table not available, aborting!
    Process finished
    ~ra# cp /boot/System.map-zZ-x86_64-2.6.34-hardened-r4 tmp/
    ~ra# gradm -S
    The RBAC system is currently disabled.
    ~/tmp% cp robert_you_suck.c robert_you_suck2.c && nano -w robert_you_suck2.c && gcc robert_you_suck2.c
    ~/tmp% ./a.out
    resolved symbol commit_creds to 0xffffffff810a6d90
    resolved symbol prepare_kernel_cred to 0xffffffff810a7170
    mapping at 3f80000000
    mmap fault
    Process finished
    ~/tmp% uname -a
    Linux taaroa 2.6.34-hardened-r4 #3 SMP Fri Sep 10 21:09:54 KRAST 2010 x86_64 AMD Phenom(tm) II X4 925 Processor AuthenticAMD GNU/Linux

     

  • 1.44, Alex (??), 15:16, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А кто такоей Роберт то?
     
     
  • 2.45, Аноним (-), 15:43, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >А кто такоей Роберт то?

    вы с лора? по ссылками не ходите?
    грепните по ссылке по "Robert Swiecki"

     

  • 1.50, hexium (ok), 16:41, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >> exploit@aquinas ~ $ ./robert_you_suck
    >> symbol table not available, aborting!
    >> Process finished

    Адреса функций найдите в vmlinux и подставьте в код эксплоита. Что-то типа
    commit_creds = 0xffffffff8106e760;
    prepare_kernel_cred = 0xffffffff8106e5d0;
    Уникально для каждой сборки.

    Короче, shit happens ;)

     
     
  • 2.62, Michael Shigorin (ok), 19:13, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Адреса функций найдите в vmlinux и подставьте в код эксплоита.

    У некоторых /boot 0700, придётся как минимум отдельно заморочиться найти тот же пакет. ;)

     

  • 1.57, Аноним (-), 18:09, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>Адреса функций найдите в vmlinux и подставьте в код эксплоита. Что-то типа
    >>commit_creds = 0xffffffff8106e760;
    >>prepare_kernel_cred = 0xffffffff8106e5d0;
    >>Уникально для каждой сборки.

    где их там искать?

     
     
  • 2.74, pavlinux (ok), 21:11, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Адреса функций найдите в vmlinux и подставьте в код эксплоита. Что-то типа
    >>>commit_creds = 0xffffffff8106e760;
    >>>prepare_kernel_cred = 0xffffffff8106e5d0;
    >>>Уникально для каждой сборки.
    >
    >где их там искать?

    # nm vmlinux | grep -E ' commit_creds| prepare_kernel_cred'

     
     
  • 3.81, pavlinux (ok), 00:36, 17/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>>>Адреса функций найдите в vmlinux и подставьте в код эксплоита. Что-то типа
    >>>>commit_creds = 0xffffffff8106e760;
    >>>>prepare_kernel_cred = 0xffffffff8106e5d0;
    >>>>Уникально для каждой сборки.
    >>где их там искать?
    ># nm vmlinux | grep -E ' commit_creds| prepare_kernel_cred'

    Зачем про rm pavlinux потёрли коммент :)

     

  • 1.59, i (??), 18:56, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ну так найдите подставте, на то оно CONFIG_GRKERNSEC_HIDESYM=y в ядре
    If you say Y here, getting information on loaded modules, and
    displaying all kernel symbols through a syscall will be restricted
    to users with CAP_SYS_MODULE. This option will aid in providing a
    useful protection against local kernel exploitation of overflows
    and arbitrary read/write vulnerabilities.

    И кстати вот не харденед ядро тоже не сработало:
    $ uname -a
    Linux games 2.6.29-gentoo-r5 #1 PREEMPT Mon Jun 1 11:47:47 MSD 2009 x86_64 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
    $ ./robert_you_suck
    resolved symbol commit_creds to 0xffffffff80247d2e
    resolved symbol prepare_kernel_cred to 0xffffffff80247e62
    mapping at 3f80000000
    UID 1611, EUID:1611 GID:1616, EGID:1616
    sh-3.2$ cat /etc/shadow
    cat: /etc/shadow: Отказано в доступе
    sh-3.2$ exit
    c^C

     
  • 1.66, crypt (??), 19:39, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да... веселые новости пошли... Мне больше всего заинтересовала это место:

    This exploit has been tested very thoroughly over the course of the past few years on many many targets.

    Thanks to redhat for being nice enough to backport it into early kernel versions

    Так бы не нашли и жили бы с этим еще пару лет.

     
  • 1.69, Аноним (-), 19:43, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Gentoo 2.6.35.4-ck1 работает :(
     
  • 1.73, pavlinux (ok), 21:01, 16/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    pavel@suse64:~> gcc -m32 abftw.c
    pavel@suse64:~> ./a.out
    Ac1dB1tCh3z VS Linux kernel 2.6 kernel 0d4y
    $$$ Kallsyms +r
    $$$ K3rn3l r3l3as3: 2.6.32.21
    $$$ prepare_creds->ffffffff8105ea90
    $$$ override_creds->ffffffff8105ea40
    $$$ revert_creds->ffffffff8105ebc0
    $$$ Kernel Credentials detected
    !!! Err0r 1n s3tt1ng cr3d sh3llc0d3z


    А чё должно быть-то?

     
     
  • 2.76, Вова (?), 21:24, 16/09/2010 [^] [^^] [^^^] [ответить]  
  • +/

    http://sota.gen.nz/compat2/robert_you_suck.c
     
  • 2.87, Аноним (-), 11:11, 17/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    а -m32 ты зачем добавил?
     
     
  • 3.90, Вова (?), 12:14, 17/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >а -m32 ты зачем добавил?

    эксплойт от эйсид бич иначе не компилируется.

     
  • 3.92, pavlinux (ok), 13:42, 17/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >а -m32 ты зачем добавил?

    $ cat ABftw.c | sed -n '60,63p';

    #ifndef __i386__
    #error "r34d th3 c0d3 m0r0n!!# () #"
    #else

     

  • 1.82, temper (?), 01:27, 17/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот этот работает на centos 5.5: http://seclists.org/fulldisclosure/2010/Sep/att-268/ABftw_c.bin

    [user@srv src]$ uname -a
    Linux srv 2.6.18-164.11.1.el5xen #1 SMP Wed Jan 20 08:06:04 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
    [user@srv src]$ id
    uid=505(user) gid=506(user) groups=503(admins),506(user)
    [user@srv src]$ ./expl
    Ac1dB1tCh3z VS Linux kernel 2.6 kernel 0d4y
    $$$ Kallsyms +r
    $$$ K3rn3l r3l3as3: 2.6.18-164.11.1.el5xen
    ??? Trying the F0PPPPPPPPPPPPPPPPpppppppppp_____ m3th34d
    $$$ L00k1ng f0r kn0wn t4rg3tz..
    $$$ Th1z b1tch 1z t0azt. kn0wn t4rg3t: 2.6.18-164.11.1.el5xen #1 SMP Wed Jan 20 08:06:04 EST 2010
    $$$ Bu1ld1ng r1ngzer0c00l sh3llc0d3 - F0PZzzZzZZ/LSD(M) m3th34d
    $$$ Prepare: m0rn1ng w0rk0ut b1tch3z
    $$$ Us1ng st4nd4rd s3ash3llz
    $$$ 0p3n1ng th3 m4giq p0rt4l
    $$$ bl1ng bl1ng n1gg4 :PppPpPPpPPPpP
    sh-3.2# id
    uid=0(root) gid=506(user) groups=503(admins),506(user)

     
  • 1.85, Humanoid (?), 10:11, 17/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    humanoid@UFO /media/disk $ ./a.out
    Ac1dB1tCh3z VS Linux kernel 2.6 kernel 0d4y
    $$$ Kallsyms +r
    $$$ K3rn3l r3l3as3: 2.6.35-gentoo-r4-1
    $$$ prepare_creds->ffffffff81080833
    $$$ override_creds->ffffffff8108040c
    $$$ revert_creds->ffffffff810805ed
    $$$ Kernel Credentials detected
    !!! Err0r 1n s3tt1ng cr3d sh3llc0d3z

    опять неудача =\ на федоре был, 2 эксплоита мимо, перешёл на генту, опять невезуха...

     
     
  • 2.86, Humanoid (?), 10:16, 17/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    на серверах, где хоть каким пользователям доступ имеется всё крутиться внутри openvz контейнеров, на хост систему доступ только у админа, так что опять мимо ....
     
     
  • 3.88, Аноним (-), 11:15, 17/09/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >на серверах, где хоть каким пользователям доступ имеется всё крутиться внутри openvz
    >контейнеров, на хост систему доступ только у админа, так что опять
    >мимо ....

    Ты про точки слышал? А если бы по ссылкам ходил, то узнал бы, что есть payload для openvz. А то, что у тебя не сработало, так это потому что ты скорее всего ядро 32 от 64 отличить не можешь. Какое у тебя толком не понятно.

     
  • 2.89, Вова (?), 12:13, 17/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    У меня тоже эксплойт от эйсид битч не сработал, но роберт_ю_сак - дал рута.
     
     
  • 3.93, kepasa (?), 14:02, 17/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    2.6.32.12-115.fc12.x86_64
     

  • 1.94, gg (??), 14:07, 17/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    2.6.18-194.3.1.el5 #1 SMP Thu May 13 13:08:30 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
    [hacky@ks310439 ~]$ id
    uid=518(hacky) gid=518(hacky) groups=518(hacky)
    [hacky@ks310439 ~]$ ./a.out
    Ac1dB1tCh3z VS Linux kernel 2.6 kernel 0d4y
    $$$ Kallsyms +r
    $$$ K3rn3l r3l3as3: 2.6.18-194.3.1.el5
    ??? Trying the F0PPPPPPPPPPPPPPPPpppppppppp_____ m3th34d
    $$$ L00k1ng f0r kn0wn t4rg3tz..
    $$$ c0mput3r 1z aqu1r1ng n3w t4rg3t...
    $$$ selinux_ops->ffffffff80327ac0
    $$$ dummy_security_ops->ffffffff804b9540
    $$$ capability_ops->ffffffff80329380
    $$$ selinux_enforcing->ffffffff804bc2a0
    $$$ audit_enabled->ffffffff804a7124
    $$$ Bu1ld1ng r1ngzer0c00l sh3llc0d3 - F0PZzzZzZZ/LSD(M) m3th34d
    $$$ Prepare: m0rn1ng w0rk0ut b1tch3z
    $$$ Us1ng st4nd4rd s3ash3llz
    $$$ 0p3n1ng th3 m4giq p0rt4l
    $$$ bl1ng bl1ng n1gg4 :PppPpPPpPPPpP
    sh-3.2# id
    uid=0(root) gid=518(hacky) groups=518(hacky)

    Centos 5.5

     
  • 1.95, Temper (?), 16:19, 17/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2010-3081

    A workaround for this issue is to run this command

      echo ':32bits:M:0:\x7fELF\x01::/bin/echo:' >
    /proc/sys/fs/binfmt_misc/register

    It disable 32-bit ELF support.

     
     
  • 2.96, аноним (?), 18:32, 17/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Это никаким местом не workaround. int80 можно вызвать и из 64-битного кода. И 64хбитный robert_you_suck это как бы подтверждает.
     

  • 1.97, bircoph (?), 07:47, 18/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что-то не понимаю, почему тянут с обновлением мейнстримного ядра?
    Я уже давно наложил патчи на 2.6.35.4 и эксплойт больше не работает.

     
  • 1.98, Аноним (-), 13:35, 18/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    печально
    вчера качал с www.kernel.org 2.4.35.4

    ~ $ uname -r
    2.6.35.4
    ~ $ id -u
    1001
    ~ $ ./1
    resolved symbol commit_creds to 0xffffffff81080e10
    resolved symbol prepare_kernel_cred to 0xffffffff810812e0
    mapping at 3f80000000
    UID 0, EUID:0 GID:0, EGID:0
    # id -u
    0
    #

     
  • 1.99, Аноним (99), 15:19, 18/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    seleen:~> uname -a
    Linux seleen 2.6.26 #1 SMP PREEMPT Mon May 4 23:54:48 MSD 2009 x86_64 GNU/Linux
    seleen:~> ./rober          
    symbol table not available, aborting!
    Process finished
    seleen:~> cat /etc/shadow
    cat: /etc/shadow: Permission denied
    seleen:~>

    Как починить?

     
     
  • 2.100, Аноним (-), 17:44, 18/09/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну вот ванильное починили

    $ uname -srvm
    Linux 2.6.36-rc4-git4 #1 SMP Sat Sep 18 17:49:22 YEKST 2010 x86_64
    $ id -u
    1001
    $ ./1
    resolved symbol commit_creds to 0xffffffff81085780
    resolved symbol prepare_kernel_cred to 0xffffffff81085c50
    mapping at 3f80000000
    UID 1001, EUID:1001 GID:1001, EGID:1001
    $ id -u
    1001
    $


     

  • 1.101, Аноним (-), 04:26, 19/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот млин - а я как назло установил всё на 64-бита и XFS :(
     
  • 1.102, ImPressed (ok), 01:43, 20/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Гента с последними апдейтами ведра не подвержена уязвимости. Затестил только что.


    impressed@satan ~ $ uname -a
    Linux satan.net 2.6.35-gentoo-r7-Core2Quad #1 SMP PREEMPT Mon Sep 20 01:48:53 ALMT 2010 x86_64 Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz GenuineIntel GNU/Linux
    impressed@satan ~ $ cd Compiler/
    impressed@satan ~/Compiler $ ./sploit
    resolved symbol commit_creds to 0xffffffff81059460
    resolved symbol prepare_kernel_cred to 0xffffffff81059a20
    mapping at 3f80000000
    UID 1488, EUID:1488 GID:1488, EGID:1488
    sh-4.0$

    Сплойт лососает тунца, как видно.

    Второй тоже не пашет =)

     
  • 1.104, CHERTS (??), 06:07, 21/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Помимо того что это эксплоит, это еще и бэкдор... Вобщем читаем
    http://www.opennet.me/opennews/art.shtml?num=28017
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру