09.01.2017

Очень быстрое компрометирование тонкого клиента

image

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

Автор: Roberto Suggi Liverani

В 2015 году я опубликовал статью под названием «Pwning a thin client in less two minutes», которая привлекла огромное внимание со стороны сообщества и была анонсирована в блоге HACKADAY.

Недавно совместно с Винсентом Ютсбо (Vincent Hutsebaut; @vhutsebaut) мы обнародовали еще одну технику по компрометации того же самого тонкого клиента и получению шелла с правами суперпользователя без авторизации за менее чем одну минуту!

Атака, продемонстрированная ниже, - типична в режиме kiosk и связана с расширением локальных привилегий. Данная проблема присутствует в различных версиях операционной системы HP Thin Pro (HP ThinPro 4.4, HP ThinPro 5.0, HP ThinPro 5.1, HP ThinPro 5.2, HP ThinPro 5.2.1, HP ThinPro 6.0, HP ThinPro 6.1).

Уязвимость (CVE-2016-2246) была исправлена компанией Hewlett-Packard, после чего был выпущен технический бюллетень. Представители HP заявили об исправлении проблемы и о подготовке публикации бюллетеня безопасности перед тем, как мы отправили отчет.

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

Для тех, кто спешит, в конце статьи приведено видео.

Суть проблемы

В операционной системе HP Thin Pro конфигурация sudo позволяет неавторизированным пользователям злоупотреблять утилитой keyboard layout в целях осуществлении атаки, связанной с расширением привилегий и получения неавторизированного доступа с правами суперпользователя.

Утилита /usr/bin/hptc-keyboard-layout запускается как привилегированный процесс, который доступен неавторизированному пользователю из интерфейса системы HP Thin Pro Kiosk.

Злоупотребляя доступными элементами управления интерфейса, неавторизированный пользователем может перемещаться по файловой системе и восстанавливать первоначальную версию файла etc/shadow, что впоследствии позволяет установить новый административный пароль в системе.

Условия осуществления атаки

Реализация атаки возможна при следующих условиях:

  • HP Thin OS Pro работает в режиме Kiosk.
  • Административный пароль в HP Thin OS Pro уже установлен администратором.
  • Злоумышленник имеет физический доступ к Киоску, но не имеет пользовательской учетной записи и не знает административного пароля.

Схема осуществления атаки

Шаг №1. Кликаем по левой части экрана на иконке Control Panel и далее нажимаем на иконку «Keyboard Layout». Примечание: внешний вид кнопки и интерфейс могут отличаться в зависимости от версии ОС, но утилита keyboard layout всегда доступна неавторизированному пользователю в режиме Kiosk.


Рисунок 1: Иконка Keyboard Layout

Шаг №2. В появившемся окне кликаем на иконку с принтером, после чего появится диалоговое окно:


Рисунок 2: Иконку для печати

Шаг №3. В появившемся диалоговом окне кликаем на кнопку … для выбора папки, где будет сохранен готовый файл:


Рисунок 3: Икона «…», предназначенная для указания папки, где будет сохранен готовый файл


Рисунок 4: Выбираем папку

 Шаг №4. Переходим в папку /etc/


Рисунок 5: Содержимое папки /etc/

Шаг №5. Переименовываем файл /etc/shadow (например, в /etc/shadow-last-modified-by-admin)


Рисунок 6: Переименовываем файл shadow


Рисунок 7: Получился файл shadow-last-modified-by-admin

Шаг №6. Переименовываем файл /etc/shadow- в /etc/shadow


Рисунок 8: Переименовываем файл shadow-

Шаг №7. Кликаем на Administrator/User Mode Switch


Рисунок 9: Кнопка Administrator/User Mode Switch

Шаг №8. Злоумышленник может установить новый административный пароль и доступ в режиме Kiosk


Рисунок 10: Окно для установки нового пароля

Шаг №9. Запускаем xterminal с правами суперпользователя


Рисунок 11: Иконка xterminal


Рисунок 12: Терминал с правами суперпользователя

Заключение

Файл /etc/shadow- остается в первоначальном виде, даже если административный пароль менялся несколько раз. В нашем примере, файл passwd изменялся дважды, но файл shadow- остается таким же, какой был установлен первоначально (в 2013 году), что делает возможным осуществление данного вида атаки.


Рисунок 13: Информация о файлах shadow и shadow-

Если мы посмотрим содержимое файла sudoer, то, возможно, увидим тег NOPASSWD для утилиты Keyboard Layout (usr/bin/hptc-keyboard-layout):


Рисунок 14: Содержимое файла sudoer

На видео ниже показана наглядная демонстрация всей последовательности действий:
comments powered by Disqus