- PVSM.RU - https://www.pvsm.ru -

Mac OS High Sierra, есть ли удалённый «passwordless root»? (Да, но маловероятно)

Сразу после того как стало известно о возможности заполучить root-a без пароля, мне стало интересно, можно ли сделать это удалённо.

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

Обстоятельства должны сложиться таким образом, что:

  1. Жертва использует уязвимую версию 10.13.1

    image [1]

  2. У жертвы включен Screen Sharing.

    image [2]

  3. Жертва подключена проводом к сети (с выходом в Интернет или нет — не важно).

    image [3]

  4. Жертва прочитала в интернете о существовании уязвимости, попробовала на своем Mac-е и не предприняла никаких действий для ликвидации.

    image [4]image [5]

  5. Атакующий должен знать ip адрес жертвы или же найти её в списке устройств в сети.

Атака выглядит следующим образом:

  1. Атакующий подключается по VNC (Finder -> Cmd+K -> vnc://жертва -> root без пароля)

    image [6]image [7]image [8]

  2. Атакующий на Login Screen жертвы выбирает Other…

    image [9]

  3. Атакующий вводит root без пароля.

    image [10]

  4. Готово.

    image [11]

Теперь разберем, почему все так сложно.

  1. Тут очевидно.
  2. Screen sharing открывает доступ по vnc. По умолчанию он выключен, однако вероятность того, что пользователь когда-то его использовал и оставил включенным все же есть.
  3. Подключение по проводу важно. По Wifi VNC соединение оборвётся в тот момент, когда root пользователь только начинает логиниться. Видимо, это связано с тем, что у root-а нет доступа к keychain обычного админа. Уже работающее Wifi подключение root зачем-то обрывает, а переподключиться не может. По проводу соединение не обрывается.
  4. Самое маловероятное. Нужно, чтобы на компьютере жертвы был доступен логин для root-a. И без пароля. Этого эффекта, на данный момент можно добиться единственным известным мне способом — заэксплуатировать ту самую, оригинальную уязвимость. Нужно, чтобы жертва хотя бы раз открыла тот самый «замочек» root-ом с пустым паролем.
  5. Mac атакующего сам найдет жертву со включенным Screen Sharing в своей подсети. Однако, обычные способы обнаружения открытого vnc порта так же подойдут. nmap вам впомощь.

    Во время атаки root с пустым паролем по сути работает дважды. Первый раз, когда vnc соединение только устанавливается. Второй раз на Login Screen жертвы.

Напоследок:

  • Жертва видит индикатор, что Screen Sharing активен, и может в любой момент отключить атакующего. Хотя вряд ли ей это поможет.
  • Если попытать провернуть атаку через wifi, на Mac-е жертвы останется залогиненый root. Его нужно будет разлогинить для последующей перезагрузки или выключения.
  • У залогиненого рута «замочек» сразу открыт и никак не хочет закрываться.
  • При установлении VNC подключения есть опция «Попросить экран текущего пользователя». Пользователь может вас пустить за свой экран. Что с этим делать — думайте сами.

Автор: konovalov_nik

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/mac-os-x/270022

Ссылки в тексте:

[1] Image: http://188.166.14.174/Screen Shot 2017-11-29 at 21.02.17.png

[2] Image: http://188.166.14.174/Screen Shot 2017-11-29 at 21.03.04.png

[3] Image: http://188.166.14.174/Screen Shot 2017-11-29 at 21.03.37.png

[4] Image: http://188.166.14.174/Screen Shot 2017-11-29 at 21.04.21.png

[5] Image: http://188.166.14.174/Screen Shot 2017-11-29 at 21.04.44.png

[6] Image: http://188.166.14.174/Screen Shot 2017-11-29 at 21.24.19.png

[7] Image: http://188.166.14.174/Screen Shot 2017-11-29 at 21.25.13.png

[8] Image: http://188.166.14.174/Screen Shot 2017-11-29 at 21.25.38.png

[9] Image: http://188.166.14.174/Screen Shot 2017-11-29 at 21.26.02.png

[10] Image: http://188.166.14.174/Screen Shot 2017-11-29 at 21.26.29.png

[11] Image: http://188.166.14.174/Screen Shot 2017-11-29 at 21.27.15.png

[12] Источник: https://habrahabr.ru/post/344058/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox