Буквально на днях главной новостью инфосека была опасная брешь в macOS 10.13.1, благодаря которой любой пользователь мог завладеть правами рута всего в несколько кликов. Мы разберем, почему так произошло и как работает уязвимость.
 

Эксплоит

Этот эксплоит настолько банален и прост, что для начала нам не понадобится даже тестовый стенд.

Чтобы стать суперпользователем, достаточно ввести логин root и любой пароль. После нажатия кнопки «Войти» окошко авторизации, конечно, заерзает и сообщит, что пароль неверен. Но теперь достаточно проделать ту же процедуру еще раз, и ты — рут. Да! Вот так все просто. High Sierra. High Security.

Смешно сказать, но на форуме для разработчиков такой алгоритм однажды предлагали в качестве способа сброса забытого пароля и решения возникших проблем.

Простой способ решения проблем
Простой способ решения проблем

Теперь, когда ты все знаешь, пора разбираться, почему так вышло.

 

Стенд

А вот сейчас и время для поднятия стенда. Так как я нищеброд и «мака» у меня отродясь не было, то буду использовать вариант для бедных — виртуалку VMware с macOS. Чтобы «просто побаловаться», достаточно будет и бесплатного VMware Player, который можно загрузить с официального сайта компании.

Далее нужно скачать образ готовой системы, например с сайтов, которые нельзя называть, — я думаю, ты знаешь, о чем идет речь. Перед тем как запускать виртуальную машину, примени патч VMware Unlocker. Он открывает возможность для запуска macOS.

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

Вооружаемся отладчиком lldb
Вооружаемся отладчиком lldb

Чтобы отладка прошла без проблем, нам еще понадобится отключить SIP (System Integrity Protection). Для этого перед загрузкой системы держи сочетание клавиш Command + R (если у тебя виндовая клавиатура, то Win + R сработает аналогично) до тех пор, пока не увидишь логотип Apple. После этого система загрузится в Recovery Mode. Теперь запускай терминал и пиши в консоли

csrutil disable

Результатом должно быть сообщение, что SIP отключен. Перезагружай машину в нормальном режиме.

Отключение System Integrity Protection необходимо, чтобы иметь возможность отладки системных приложений
Отключение System Integrity Protection необходимо, чтобы иметь возможность отладки системных приложений

Нелишне будет и иметь под рукой IDA для потрошения внутренностей исполняемых файлов, отвечающих за авторизацию.

В общем, выдели виртуалке побольше оперативной памяти и запускай.

Уязвимая версия macOS High Sierra 10.13.1, работающая под VMware
Уязвимая версия macOS High Sierra 10.13.1, работающая под VMware

Продолжение статьи доступно только подписчикам

Cтатьи из последних выпусков журнала можно покупать отдельно только через два месяца после публикации. Чтобы читать эту статью, необходимо купить подписку.

Подпишись на журнал «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Комментарии

Подпишитесь на ][, чтобы участвовать в обсуждении

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

Check Also

Хакер ищет авторов. Читатель? Хакер? Программист? Безопасник? Мы тебе рады!

Восемнадцать лет мы делаем лучшее во всем русскоязычном пространстве издание по IT и инфор…