Терминалы Just Eat и Takeaway.com устоялись как надежные инструменты для ресторана и службы доставки, обеспечивая быстрые и удобные процессы приема заказов и оплаты. Однако для специалистов в области информационной безопасности и энтузиастов в сфере технологий представляют интерес способы получения доступа к внутренним функциям подобных устройств. Использование NFC-карты — неочевидный, но эффективный метод для проникновения в операционную систему терминала, что открывает массу возможностей для модификации и анализа устройства. Покупка терминала за символическую цену на локальном рынке позволила исследователю погрузиться в изучение устройства.
Новый владелец столкнулся с экраном активации, который появляется после первоначальной загрузки и выхода предыдущего пользователя. Поскольку без зарегистрированного аккаунта невозможно полноценно управлять устройством, стандартные способы взаимодействия ограничены. Ни звонок в службу поддержки, ни обычные настройки Wi-Fi не дают легких путей обхода. Самым интересным оказалось то, что устройство работает на устаревшей версии Android — примерно 6-й. Эта особенность превращает терминал в некий аналог классического Android-смартфона, ограниченный, однако не лишенный возможностей для обхода стандартных ограничений.
Открытие меню Wi-Fi позволяло лишь попытаться установить сертификат с помощью файлового селектора, но полноценного доступа к файловой системе это не давало. Портативные возможности устройства включают Ethernet-порт, антенну для беспроводной связи, два USB-порта и разъем для адаптера питания. Подключение USB-клавиатуры дало доступ к некоторым полезным сочетаниям клавиш, таких как Alt+Tab для переключения приложений и кнопкам регулировки яркости и звука. Однако полноценный доступ к меню настроек не предоставлялся. Разборка терминала выявила открытые пины UART и возможные точки для подключения к uboot, что потенциально может открыть способ напрямую взаимодействовать с устройством через последовательный порт.
Но для большинства пользователей более доступным и интересным оказался способ использования встроенного NFC-считывателя на подставке терминала. Использование Android Beam позволило пересылать файлы на устройство, однако отсутствие полного файлового менеджера и ограниченный функционал не позволили использовать полученные файлы. Настоящее открытие случилось благодаря наблюдению, что NFC-теги могут не просто передавать данные, а непосредственно запускать приложения на устройстве Android. С помощью специального приложения для записи на NFC можно указать пакет необходимого приложения, стимулируя устройство открыть именно его. Эксперимент с запуском нестандартных приложений через NFC продемонстрировал новые возможности: удалось получить доступ к настройкам, функциям администратора и даже включить панель навигации и статус-бар, скрытые в режиме киоска.
Включив эти панели, исследователь смог пользоваться USB-накопителем для копирования файлов на внутреннюю память устройства. Необходимость найти возможность установки новых приложений привела к поиску другого файлового менеджера, предустановленного на устройстве, который поддерживает установку APK-файлов. Используя возможности отладки в режиме userdebug ROM, где по умолчанию разрешен полноценный доступ к приложениям и показываются их пакеты, удалось найти имя нужного приложения и создать NFC-карту для запуска именно его. После переноса APK на терминал с внешнего USB-накопителя, установка третьих приложений, таких как альтернативные лаунчеры и браузеры, стала возможной. Расширение функционала терминала открывает не только новые возможности пользовательского интерфейса и навигации, но и технические пути для исследования системы.
В устройстве есть секретные коды, позволяющие открыть админ-меню и заводское тестовое меню, что подтверждает наличие встроенных инструментов для диагностики и управления. Эти коды не уникальны для отдельного устройства, и исследователь сумел проанализировать прошивку, скачав полный обновляющий пакет с сервера. Прошивка была в формате, поддающемся распаковке и подробному анализу. Системный файл обновления был извлечен и смонтирован, что позволило видеть структуру файловой системы и изучать содержимое операционной системы. Это предоставляет возможность для более глубокого понимания внутреннего устройства софта и потенциально поиска новых уязвимостей или возможностей кастомизации.
Для более полноценного взлома устройства осталось осваивать подключение через ADB (Android Debug Bridge), что требует либо использования USB-кабеля особой конструкции, либо пайки на платы для доступа к специальным тестовым точкам. Однако это открывает путь к получению root-прав, что меняет возможности управления системой кардинально — можно менять и модифицировать практически все аспекты работы терминала. В целом, данное исследование демонстрирует, что даже специализированные терминалы с защищенным программным обеспечением не застрахованы от обхода через продуманное использование стандартных возможностей Android. NFC-карты, используемые не по прямому назначению, могут стать входным билетом в систему, позволяя запускать нужные приложения и открывая двери для дальнейших модификаций. Для специалистов безопасности и разработчиков это открывает важные уроки по защите подобных устройств: необходимо ограничивать возможности запуска приложений извне и повышать версию Android, внедрять строгие политики доступа и использовать аппаратные средства защиты.