The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Критическая уязвимость в обработчике крахов приложений, прим..."
Отправлено opennews, 19-Дек-16 14:10 
В пакете Apport (https://wiki.ubuntu.com/Apport), применяемом в Ubuntu Linux для автоматизации обработки крахов приложений, выявлена (https://donncha.is/2016/12/compromising-ubuntu-desktop/) критическая уязвимоcть, позволяющая организовать выполнение кода от имени текущего пользователя, а при определённых условиях под пользователем root. Проблема проявляется в Desktop-редакциях дистрибутива Ubuntu начиная с выпуска 12.10 и исправлена в недавно опубликованном обновлении (https://www.ubuntu.com/usn/usn-3157-1/) пакета Apport.


Apport перехватывает сведения о крахе приложения, в том числе автоматически вызывается при возникновении исключительных ситуаций в скриптах на языке Python и отслеживает сбои во время установки пакетов, подготавливает информацию об условиях в момент сбоя. Отчёт о крахе сохраняется в текстовых файлах с расширением ".crash", при наличии которых вызывается специальная утилита, выводящая на экран диалог с предложением отправить отчёт разработчикам Ubuntu. Ошибка в коде разбора файлов crash позволяет осуществить подстановку кода на языке python.

Для демонстрации уязвимости можно записать в файл c расширением .crash следующий текст, при обработке которого будет выполнен запуск калькулятора:

   ProblemType: Bug
   ExecutablePath: /usr/bin/file-roller
   Stacktrace:
    None
   CrashDB: {'impl': 'memory', 'crash_config': exec("""
    import subprocess
    payload_cmd = "pkill -9 apport; gnome-calculator"
    subprocess.Popen(payload_cmd, shell=True)
    """, {}) }

Для генерации произвольных эксплоитов подготовлен специальный инструментарий (https://github.com/DonnchaC/ubuntu-apport-exploitation/tree/...). Для эксплуатации уязвимости необходимо добиться открытия данного файла в обработчике Apport, что можно сделать несколькими путями. Например, так как apport-gtk зарегистрирован для обработки MIME-типа "text/x-apport, достаточно открыть файл с расширением .crash в файловом менеджере. Кроме того, обработчик вызывается для всех файлов не имеющих MIME-привязки к расширению, начинающихся со стороки "ProblemType: ", т.е. можно записать эксплоит в файл с любым неизвестным системе расширением, например zip, и разместить его на сайте. Применив методы
социальной инженерии, можно добиться загрузки этого файла пользователем. Как только файл будет сохранён и пользователь попытается кликнуть на нём файловом менеджере для просмотра содержимого - будет активирован обработчик Apport, что приведёт к эксплуатации уязвимости.

Второй вариант атаки позволяет добиться локальным пользователем выполнения кода с правами root. Если сохранить файл с расширением .crash в директории /var/crash (доступна на запись всем пользователям), он будет автоматически обработан. При этом если файл сохранён под идентификатором пользователя меньше 500, то обработка будет выполнена с правами root. В качестве одного из методов записи файла с uid меньше 500 предлагается использовать доступную в mysql возможность сохранения таблицы в произвольной директории ("SELECT INTO ... OUTFILE") или организовать запись чрез web-скрипт, выполняемый от пользователя www-data.


При входе пользователя в систему, для подобных crash-файлов вызывается процесс apport-crashreports, который запрашивает через PolicyKit выполнение действий с правами root. Выводимый диалог лишь уведомляет от возникновении проблемы в системном приложении и предлагает отправить разработчикам отчёт, не детализируя о каком приложении идёт речь. Если пользователь согласится с предложением отправить отчёт, то эксплоит будет выполнен в системе с правами root.


URL: https://donncha.is/2016/12/compromising-ubuntu-desktop/
Новость: https://www.opennet.ru/opennews/art.shtml?num=45716

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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