Содержание статьи
В предыдущей серии
В предыдущей статье мы рассказали о том, как проходила подготовка к атаке, как был взломан сайт преподавателей Apple, получен доступ к личным данным пользователей iCloud и к исходникам iOS. Изучив сайты и веб‑приложения Apple, команда в составе Сэма Карри (Sam Curry), Бретта Бюрхауса (Brett Buerhaus), Бена Садегипура (Ben Sadeghipour), Сэмюэля Эрба (Samuel Erb) и Таннера Барнса (Tanner Barnes) нашла 11 критических уязвимостей, 29 — с высокой степенью потенциальной опасности, 13 — средней критичности и 2 — некритичных.
За подробный баг‑репорт взломщики получили от Apple вознаграждение в размере 288 500 долларов США.
Взлом DELMIA Apriso
Прощупывая связанные с Apple домены, которых, к слову, больше семи тысяч, хакеры наткнулись на веб‑приложение DELMIA Apriso, различные версии которого предназначены для управления производственными процессами и складом готовой продукции. Это приложение не принадлежит Apple, но используется для дистрибуции изделий «яблочной» корпорации.
Исследователи немного поковыряли форму аутентификации и механизм сброса пароля пользователя DELMIA Apriso и в какой‑то момент с удивлением обнаружили, что они авторизованы в системе с именем Apple
.
Вдумчивое изучение этого аномального явления показало, что в инфраструктуре DELMIA Apriso для использования функций на определенных веб‑страницах пользователь должен быть обязательно авторизован в системе, и сброс пароля — одна из таких функций. Поскольку сама задача восстановить забытый пароль логически противоречит возможности авторизации, разработчики соорудили костыль в виде общедоступной учетки «пользователя Apple без пароля», который вроде и залогинен в системе, а вроде и нет. К сожалению, эта «псевдоучетка» никаких привилегий юзеру не давала.
Хакеры отправили HTTP-запрос на эндпойнт OAuth, чтобы сгенерировать токен Bearer для изучения API веб‑приложения. И это неожиданно сработало! Техническая учетная запись, все разрешения которой должны были сводиться к возможности сбросить пароль, смогла сгенерировать Bearer c доступом к версии API веб‑приложения. Осталось только нагуглить документацию к этому самому API.
Курение мануалов позволило Карри и компании обнаружить более 5000 вызовов API, для которых не требовалась дополнительная авторизация за исключением уже полученного токена. Многие из этих вызовов были для взломщиков бесполезны, но некоторые давали возможность, например, менять даты зарплат сотрудников, создавать и отменять отправку товаров со склада, редактировать информацию об инвентаризации и выполнять сотни других складских операций.
Например, одна из функций API имеет красноречивое название APL_CreateEmployee_SO
. Можно отправить приложению GET-запрос на выполнение операции:
GET /Apriso/HttpServices/api/platform/1/Operations/operation HTTP/1.1Host: colormasters.apple.com
И получить от него HTTP-отклик в следующем формате:
{ "InputTypes": { "OrderNo": "Char", "OrderType": "Integer", "OprSequenceNo": "Char", "Comments": "Char", "strStatus": "Char", "UserName": "Char" }, "OutputTypes": {}, "OperationCode": "APL_Redacted", "OperationRevision": "APL.I.1.4"}
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»