The OpenNET Project / Index page

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

02.12.2011 16:59  Опасная уязвимость в ProFTPD и ftpd из состава FreeBSD

В списке рассылки Full-Disclosure опубликован эксплоит, позволяющий удалённому злоумышленнику выполнить на сервере код с правами root, при условии если у атакующего имеется рабочий пользовательский аккаунт в системе, работа которого ограничена домашней директорией через помещение в chroot (во FreeBSD ftpd используется /etc/ftpchroot). Уязвимости также подвержены анонимные FTP-серверы, на которых пользователь имеет возможность записи в директорию /home или в /lib и /etc (например, системы анонимной загрузки файлов с доступным на запись корнем). Наличие уязвимости подтверждено в ftpd из состава FreeBSD 8.2 и в ProFTPD, включая последний выпуск 1.3.4a.

Уязвимость в ftpd вызвана особенностью выставления uid/euid для рабочего процесса: во время работы с файлами меняется только euid, который влияет на операции с файлами, а uid остаётся неизменным. При выполнении /bin/ls после вызова команды STAT отсутствует проверка на сочетание uid=0 и euid!=0, что приводит к попыткам загрузки библиотеки /lib/nss_compat.so с правами uid 0 (root). Разместив фиктивную библиотеку "~/lib/nss_compat.so.1" в домашней директории и создав "~/etc/nsswitch.conf" для активации NSS, при изоляции аккаунта в chroot в рамках данной домашней директории, библиотека окажется в директории /lib относительно нового корня и будет вызвана из libc с uid root и euid текущего непривилегированного пользователя.

Официальных патчей с исправлением проблемы пока нет, но для FreeBSD на скорую руку подготовлен неофициальный патч, позволяющий блокировать работу эксплоита. Дополнительно опубликован видеоролик с детальной демонстрацией работы эксплоита. Следует заметить, что код с правами root запускается после создания chroot, что ограничивает его работу директорией пользователя.

Дополнение: Сообщается об обнаружении похожей проблемы в ftp-сервере vsftpd, но уязвимость больше носит теоретический характер, так как чрезвычайно сложно эксплуатируема, требует нереальных условий (наличие в системе версии glibc с уязвимостью, исправленной ещё в 2009 году) и в конечном итоге может привести лишь к выполнению кода с правами непривилегированного пользователя, что практически исключает выход за пределы chroot (для повышения привилегий из chroot можно дополнительно эксплуатировать локальную уязвимость в ядре). Проблема присутствует не в самом vsftpd, а в glibc. В случае с vsftpd в каталог "~/usr/share/zoneinfo" помещаются специально оформленные файлы временных зон, которые эксплуатируют переполнение буфера в старых версиях библиотеки glibc, которая пытается загрузить данные файлы из иерархии chroot при выполнении определённых FTP-команд.

  1. Главная ссылка к новости (http://seclists.org/fulldisclo...)
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: ftp, freebsd, security, exploit
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, кверти (?), 17:24, 02/12/2011 [ответить] [показать ветку] [···]    [к модератору]
  • –4 +/
    уж сколько раз твердили миру...
     
     
  • 2.10, midori (ok), 17:47, 02/12/2011 [^] [ответить]    [к модератору]
  • –2 +/
    уверен, что его использует больше половины пользователей этого ресурса(
     
     
  • 3.53, Hety (??), 10:18, 03/12/2011 [^] [ответить]    [к модератору]
  • +1 +/
    Вроде все уже на vsftpd сидят. Не?
     
     
  • 4.54, Аноним (-), 11:10, 03/12/2011 [^] [ответить]     [к модератору]
  • +/
    Увы, иногда proftpd нужен из-за всяких свистелок и перделок вроде шейперов, ауте... весь текст скрыт [показать]
     
     
  • 5.56, Stax (ok), 14:17, 03/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Ну, положим, более часто используемые фичи из данного списка, такие как виртуальные юзеры и аутентификация через базу или что-то еще (через pam) в vsftpd есть..
     
     
  • 6.72, фклфт (ok), 07:19, 05/12/2011 [^] [ответить]    [к модератору]  
  • +/
    > Ну, положим, более часто используемые фичи из данного списка, такие как виртуальные
    > юзеры и аутентификация через базу или что-то еще (через pam) в
    > vsftpd есть..

    ftpasswd есть ???

     
  • 5.61, Аноним (-), 21:08, 03/12/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    > Увы, иногда proftpd нужен из-за всяких свистелок и перделок вроде

    ...наличия недокументированного режима ремотного администрирования, etc :))

     
  • 1.2, Аноним (-), 17:29, 02/12/2011 [ответить] [показать ветку] [···]     [к модератору]  
  • –11 +/
    Ух ты, почти как в виновсе с подгрузкой dll из сетевых шар А что, бсда грузит л... весь текст скрыт [показать]
     
     
  • 2.8, QuAzI (ok), 17:44, 02/12/2011 [^] [ответить]    [к модератору]  
  • –3 +/
    Ух ты, почти как в любой вашей программе, в которой путь не забит жёстко в полную длинну. Пофиг, линуховая она или не очень.
     
     
  • 3.12, Аноним (-), 17:50, 02/12/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    Путь как раз забит жестко в полную длину, в том и цимес.
     
     
  • 4.14, QuAzI (ok), 17:55, 02/12/2011 [^] [ответить]    [к модератору]  
  • –3 +/
    Вероятно по вашему ~/lib/nss_compat.so.1 это и есть "полная длинна" ?
     
     
  • 5.20, Аноним (-), 18:07, 02/12/2011 [^] [ответить]     [к модератору]  
  • +3 +/
    Вы даже текста новости не поняли Используется lib nss_compat so 1 Почему , а... весь текст скрыт [показать]
     
     
  • 6.25, QuAzI (ok), 18:47, 02/12/2011 [^] [ответить]    [к модератору]  
  • –2 +/
    Точно, совсем не понял, почему /, если в новости написано "Разместив фиктивную библиотеку "~/lib/nss_compat.so.1" в домашней директории". У вас /home симлинк на / ? Я вас поздравляю
     
     
  • 7.28, terr0rist (ok), 18:53, 02/12/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    "пользовательский аккаунт, работа которого ограничена домашней директорией через помещение в chroot" (с) новость
    Вы знаете, что такое chroot? Если да, то вы новость читали?
     
  • 7.29, Аноним (-), 18:56, 02/12/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    А я вас поздравляю, вы спалились на том что по нулям в системных вопросах Попу... весь текст скрыт [показать]
     
  • 3.50, Аноним (-), 06:01, 03/12/2011 [^] [ответить]     [к модератору]  
  • +3 +/
    К сожалению вы эпично спалились на готовности называть черное белым если это вы... весь текст скрыт [показать]
     
  • 1.3, Аноним (-), 17:31, 02/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +6 +/
    > что ограничивает его работу директорией пользователя.

    Обойти чрут имеючи root - не больно какая наука.

     
     
  • 2.4, Аноним (-), 17:37, 02/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Пример При условии, что файловые деcкрипторы, связанные с вне закрыты Методы ... весь текст скрыт [показать]
     
     
  • 3.24, Аноним (-), 18:46, 02/12/2011 [^] [ответить]    [к модератору]  
  • –1 +/
    > Пример ? При условии, что файловые деcкрипторы, связанные с вне закрыты.

    Руту можно почти все. Все сисколы к его услугам. С таким же успехом можете пытаться удержать слона на поводке для моськи.

     
     
  • 4.33, Аноним (-), 19:12, 02/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Подробнее, подробнее Общими фразами не отделайтесь Какие системные вызовы позв... весь текст скрыт [показать]
     
     
  • 5.35, Аноним (-), 19:29, 02/12/2011 [^] [ответить]    [к модератору]  
  • –3 +/
    > вы обладайте информацией о новой zero-day уязвимости.

    То что рут может админить систему и в хвост и в гриву - это уязвимость?!? Инихренасебе отжиг!

     
  • 5.38, Stax (ok), 19:49, 02/12/2011 [^] [ответить]     [к модератору]  
  • +3 +/
    Вы что, издеваетесь Делаете mknod соответствующего блочного устройства Читаете... весь текст скрыт [показать]
     
     
  • 6.39, Аноним (-), 19:54, 02/12/2011 [^] [ответить]     [к модератору]  
  • –2 +/
    Так и запишем, голословные догадки PS mknod при chroot не сработает ... весь текст скрыт [показать]
     
     
  • 7.43, Аноним (-), 00:18, 03/12/2011 [^] [ответить]    [к модератору]  
  • +/
    > PS. mknod при chroot не сработает.

    Так и запишем, голословные догадки.

     
     
  • 8.49, Аноним (-), 04:18, 03/12/2011 [^] [ответить]    [к модератору]  
  • –2 +/
    так и запишем - не компетентен.
    - под freebsd - давно запрещено создавать device node на обычной файловой системе.
    там есть devfs, который не осилили в linux - сделав костыль ввиде udev.
     
     
  • 9.52, Аноним (-), 08:47, 03/12/2011 [^] [ответить]     [к модератору]  
  • +/
    А нас - легион, ой, то-есть, рать Так, на подумать, попробуйте от рута дернуть ... весь текст скрыт [показать]
     
  • 9.58, Аноним (-), 15:57, 03/12/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    Создавать-то можно, только работать оно не будет А вот смонтировать где угодно ... весь текст скрыт [показать]
     
     
  • 10.86, Я (??), 18:01, 30/01/2013 [^] [ответить]     [к модератору]  
  • +/
    gt оверквотинг удален Новый udev требует смонтированную devtmpfs udev on dev... весь текст скрыт [показать]
     
  • 5.45, Аноним (-), 00:23, 03/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Очень смешно, ага Вы еще скажите, что там прикрыты старые лазейки для rm -rf ... весь текст скрыт [показать]
     
     
  • 6.47, I am (??), 01:49, 03/12/2011 [^] [ответить]    [к модератору]  
  • +/
    > Вы еще скажите, что там прикрыты старые лазейки для rm -rf / от рута.

    А зачем? just for fun же.

     
     
  • 7.62, Аноним (-), 21:48, 03/12/2011 [^] [ответить]    [к модератору]  
  • +/
    > А зачем? just for fun же.

    Никто и не спорит. Просто не надо называть штатную возможность системы "уязвимостью нулевого дня".

     
  • 2.5, Аноним (-), 17:38, 02/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Например ?
     
     
  • 3.7, XPEH (?), 17:43, 02/12/2011 [^] [ответить]    [к модератору]  
  • +3 +/
    1) mknod
    2) mount
    3) ???
    4) PROFIT !!!
     
     
  • 4.11, QuAzI (ok), 17:49, 02/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Не взлетит.
    man mknod
    As of FreeBSD 6.0 device nodes may be created in regular file systems but such nodes cannot
    be used to access devices.


     
     
  • 5.13, Аноним (-), 17:52, 02/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Взлетит, надо только правильно devfs смонтировать ... весь текст скрыт [показать]
     
     
  • 6.16, QuAzI (ok), 17:58, 02/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Это мне напомнило один баян про алгоритм выстрела себе в ногу на разных языках п... весь текст скрыт [показать]
     
     
  • 7.27, Аноним (-), 18:51, 02/12/2011 [^] [ответить]     [к модератору]  
  • +/
    А мне это напомнило очевидный тупняк Чрут не защищает от рута Он вообще не зад... весь текст скрыт [показать]
     
  • 4.34, Аноним (-), 19:29, 02/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Есть один способ выхода за chroot, но для этого до входа в chroot должен быть от... весь текст скрыт [показать]
     
  • 3.15, Elhana (ok), 17:55, 02/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Что мешает руту создать ноду и смонтировать корень в папку внутри chroot jail? или загрузить модуль ядра свой?
    Я не экспериментировал, т.к. на работе сейчас, но думаю что получится.
     
     
  • 4.26, terr0rist (ok), 18:49, 02/12/2011 [^] [ответить]    [к модератору]  
  • +/
    > Что мешает руту создать ноду

    хотя бы то, что /dev недоступен из chroot
    Если речь идёт именно о chroot (как в новости), а не jail. chroot != jail.

     
     
  • 5.44, Аноним (-), 00:21, 03/12/2011 [^] [ответить]    [к модератору]  
  • +/
    > хотя бы то, что /dev недоступен из chroot

    С рутовыми правами - это легко лечится.

     
     
  • 6.55, NSForth (ok), 11:28, 03/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Находясь в chroot или jail нельзя смонтировать devfs. Это надо делать _до_ chroot или jail
     
     
  • 7.57, Аноним (-), 15:53, 03/12/2011 [^] [ответить]    [к модератору]  
  • +/
    > Находясь в chroot или jail нельзя смонтировать devfs. Это надо делать _до_ chroot или jail

    С правами обычного пользователя - да.

     
     
  • 8.59, Аноним (-), 15:59, 03/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Впрочем, обычно флаг user для devfs не ставят Так что обычный пользователь не м... весь текст скрыт [показать]
     
     ....нить скрыта, показать (27)

  • 1.9, t28 (?), 17:46, 02/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Хороший эксплоит. Я у себя потестил, и мог свободно просматривать /etc/master.passwd вне chroot.
     
  • 1.17, Andrew Kolchoogin (?), 17:59, 02/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Непонятно одно: а зачем ВООБЩЕ FreeBSD'шному FTPd программа /bin/ls? И вообще, любой исполняемый бинарь внутри FTP root'а?

    У меня там ничего исполняемого нет, и всё работает. ЧЯДНТ?

     
     
  • 2.19, Аноним (-), 18:06, 02/12/2011 [^] [ответить]     [к модератору]  
  • +/
    А кто сказал, что bin ls берется из chroot ... весь текст скрыт [показать]
     
     
  • 3.30, Аноним (-), 19:01, 02/12/2011 [^] [ответить]    [к модератору]  
  • +/
    А откуда он может браться после chroot?
     
  • 1.32, terr0rist (ok), 19:10, 02/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Мне вот только одно непонятно: кому (т.е. какому процессу) требуется либа /lib/nss_compat.so.1 ? + само название либы странное (не /lib/libnss_compat.so), да и нету такого в 9.0РС2...
     
     
  • 2.46, cvsup1 (?), 01:00, 03/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Читаем ман _внимательно_
    Потом читаем ман внимательно в SunOS
     
  • 1.36, Аноним (-), 19:38, 02/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    никто не подскажет название музыки в ролике?
     
     
  • 2.60, Просто проходил мимо (?), 16:30, 03/12/2011 [^] [ответить]    [к модератору]  
  • +/
    http://www.youtube.com/watch?v=ndFdy37DhRg
     
     
  • 3.66, Аноним (-), 12:06, 04/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Спасибо.
     
  • 1.37, ALex_hha (ok), 19:39, 02/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > да и нету такого в 9.0РС2...

    Yjdость внимательно читаем - "Наличие уязвимости подтверждено в ftpd из состава FreeBSD 8.2"

     
     
  • 2.41, terr0rist (ok), 22:15, 02/12/2011 [^] [ответить]    [к модератору]  
  • +3 +/
    8-ки у меня уже нету, но честно скажу, сомневаюсь чтобы во фряхе были вообще когда-либо в /lib/ либы, имена которых не lib*.so
     
     
  • 3.42, knike (?), 00:11, 03/12/2011 [^] [ответить]     [к модератору]  
  • +/
    У меня в 8 2 нет такого gate ls -l lib total 6662 drwxr-xr-x 2 root wh... весь текст скрыт [показать]
     
     
  • 4.51, Аноним (-), 06:06, 03/12/2011 [^] [ответить]    [к модератору]  
  • +/
    тем ни менее эксплойт работает.
     
  • 1.40, Анонимус 84705648 (?), 20:19, 02/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    прикольно. включение chroot для фтп-юзеров приводит проблеме безопасности.
     
  • 1.48, Аноним (-), 03:45, 03/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    proftpd продолжает радовать =(
     
     
  • 2.63, Аноним (-), 21:49, 03/12/2011 [^] [ответить]    [к модератору]  
  • –1 +/
    > proftpd продолжает радовать =(

    Да и FreeBSD не отстает. Совсем недавно же предыдущую дыру с сокетами нашли...

     
     
  • 3.65, Аноним (-), 04:31, 04/12/2011 [^] [ответить]     [к модератору]  
  • –1 +/
    Угу - а скажи ко - за последние лет так 5 - был ли хоть один релиз ведра ляпикса... весь текст скрыт [показать]
     
     
  • 4.67, Аноним (-), 16:25, 04/12/2011 [^] [ответить]    [к модератору]  
  • +/
    > Так что не вам дудеть.

    А вы чего раздуделись? Сентябрьской эскалации прав из грязи в князи вам было мало?

     
     
  • 5.71, Аноним (-), 04:53, 05/12/2011 [^] [ответить]    [к модератору]  
  • +2 +/
    >> Так что не вам дудеть.
    > А вы чего раздуделись? Сентябрьской эскалации прав из грязи в князи вам
    > было мало?

    девочки не ссорьтесь.

     
  • 4.77, Аноним (-), 13:47, 05/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Ага, у некоего Грега эти слова вписаны в шаблон письма с сообщением о новом рели... весь текст скрыт [показать]
     
     
  • 5.83, фклфт (ok), 07:05, 08/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Ха Ха Ха а две строчки прописать для обновления не судьба cd usr ports dns bi... весь текст скрыт [показать]
     
  • 3.75, Аноним (-), 11:45, 05/12/2011 [^] [ответить]    [к модератору]  
  • +/
    А уж как радует Linux :-) что не обновление ядра - так 2-4 дыры, что не версия glibc - так множественные дыры.
     
     
  • 4.76, Аноним (-), 13:43, 05/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Ага, причем дыры из разряда смотрировав специально сформированный образ ФС, пол... весь текст скрыт [показать]
     
  • 1.64, Аноним (-), 02:29, 04/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Я плохо смотрю или у фрюшников нет pr-а по это теме?
     
     
  • 2.79, Аноним (-), 13:55, 05/12/2011 [^] [ответить]    [к модератору]  
  • –1 +/
    > Я плохо смотрю или у фрюшников нет pr-а по это теме?

    Нету. Фиксить некому - security officer в запое, а больше в security team и нет никого.

     
  • 1.80, mic_jsdbfjsdbf sd v (?), 05:59, 06/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    не совсем ясно, при каких условиях существует уязвимость. В man ftpd подробно описан процесс настройки службы (для записи и чтения). Если сделать так, как описано в инструкции, будет ли cуществовать уязвимость?
     
     
  • 2.81, Аноним (-), 12:39, 06/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Работает только при включенной DefaultRoot... весь текст скрыт [показать]
     
     
  • 3.82, Аноним (-), 12:40, 06/12/2011 [^] [ответить]    [к модератору]  
  • +/
    > Работает только при включенной DefaultRoot

    Это про proftpd, в ftpd - не разбирался.

     
  • 1.84, вася (??), 21:20, 08/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Из ролика ясно, что должен быть шел-доступ для фтп-юзеров, чтобы что-то сделать. По идее фтп-юзеры должны иметь валидный шелл-акаунт. Но, не обязательно же их в шел пускать )) Чащще всего и не надо совсем.
     
  • 1.85, вася (??), 21:21, 08/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    .. по ssh.
     

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


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