The OpenNET Project / Index page

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



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

Исходное сообщение
"На базе Firefox по заказу правительства Германии создан..."
Отправлено коксюзер, 18-Май-11 07:20 
> таким образом выходит, что — в принципе — сбежать «наружу» можно
> на уже скопрометированной «наружной» системе. а зачем?

В некоторых случаях есть смысл. Например...

Мы украли у юзера petya реквизиты доступа к серверу по ssh. Нас интересуют файлы юзера vasya, которые лежат в /home/vasya. Также мы знаем, что vasya забирает почту с этого сервера по IMAP и пренебрегает защищённой аутентификацией. Через ARP/DNS-спуфинг или прослушку мы крадём у него пароль на почту. Затем мы открываем IMAP-сессию с почтовым сервером, называемся васей, эксплуатируем непубличную уязвимость в процессе почтового сервера... И обнаруживаем, что скомпрометированный процесс посажен в чрут где-нибудь в /var/mail, и доступа к /home/petya у нас нет. Что делаем?

Вариант первый: мы в линуксе. Заходим на сервер по ssh от юзера petya, открываем корневую директорию и получаем дескриптор, открываем на прослушку юникс-сокет с "абстрактным" именем и идём стучаться васей на сокет. Стучимся, получаем дескриптор, делаем fchdir на дескриптор, идём в ./home/vasya и воруем файлы.

Вариант второй: мы в BSD. Абстрактных сокетов нет, а создать петей файл сокета в chroot-окружении мы не можем - если оно ему и доступно, то только для чтения...

Вариант второй/А: Доступно для чтения? Смотрим на чрут глазами васиного процесса и видим ящик в модном формате maildir. Отлично! Создаём васиным процессом файл сокета в maildir-директории, открываем доступ для пети (o+x на директорию, o+rw на файл сокета) и ждём запрос. Петей открываем дескриптор /, стучимся к васе на сокет, передаём дескриптор, вася fchdir(fd), вася chdir("./home/vasya"), васины файлы у нас.

Вариант второй/Б: ящик в формате mbox или директория chroot-окружения пете не доступна даже на чтение. Мы не можем создать файл сокета или добраться до него. Начинаем выжидать, пока юзер vasya запустит на сервере какой-нибудь процесс вне чрута. Дождались: вася зашёл на сервер по ssh, или крон запустил одну из васиных задач, или MTA запустил LDA с правами васи, но не в чруте (как оно часто и бывает - это важно). Мы садимся на внешний васин процесс через ptrace и аккуратно внедряем в него код, который тихо ворует нам васины файлы. Профит.

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

Кстати, в Grsecurity реализован запрет на побег из чрута по дескриптору, на ptrace/kill процессов за пределами чрута, а также на ptrace процессов, которые являются чужими потомками.

Другой пример. Васины файлы нам не нужны, и мы можем зайти на сервер петей по ssh с краденными реквизитами. Зачем нам вытаскивать скомпрометированный васин процесс из чрута? Варианты:
1. вася в группе, которой разрешён доступ sudo в каком-нибудь Owl, и мы хотим получить рута через уязвимость в sudo. ;)
2. Мы хотим, чтобы васин процесс (а вернее его fork+execve с чистым окружением, чтобы не палить вектор проникновения) провернул тёмные делишки и в случае шухера сделал крайним васю - пусть админ подумает, что вася пропинал свои реквизиты для ssh, хотя это был петя, и его реквизиты до сих пор у нас. ;)

 

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



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

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