Уразливості публічних терміналів як зламати велопрокат і поліклініку

В цьому році Москву охопила справжня велосипедна лихоманка. Кількість станцій велопроката було збільшено з 79 до 150, а послугами оренди скористалися 90 тис. Чоловік. Поки двоколісні друзі відпочивають на зимових канікулах, розповімо про уразливість терміналів для оплати оренди велосипедів, які поставили під загрозу безпеку персональних даних та електронних гаманців користувачів, а також змусили задуматися про нову парадигму атак на корпоративні мережі.

В цьому році Москву охопила справжня велосипедна лихоманка. Кількість станцій велопроката було збільшено з 79 до 150, а послугами оренди скористалися 90 тис. Чоловік. Поки двоколісні друзі відпочивають на зимових канікулах, розповімо про уразливість терміналів для оплати оренди велосипедів, які поставили під загрозу безпеку персональних даних та електронних гаманців користувачів, а також змусили задуматися про нову парадигму атак на корпоративні мережі.

Уразливості публічних терміналів як зламати велопрокат і поліклініку

Платіжні та інформаційні термінали сьогодні функціонують на вулицях, в торгових центрах, в аеропортах, в поліклініках, в метро. Більшість таких пристроїв працює на базі Windows, в режимі так званого кіоску, який дозволяє запускати на комп'ютері одне основне повноекранне додаток, заданий адміністратором. Функціональність терміналу істотно розширюється, якщо вийти з режиму кіоску в операційну систему.

Додаток іноді «падає» самостійно через помилки в програмі і витоків пам'яті, але є і способи згорнути його спеціально. Найдавніший спосіб - виконати довге натискання на екран терміналу до появи контекстного меню, яке емулює клацання правої кнопки миші. Подальший сценарій проникнення залежить від браузера. Наприклад, потрапити з контекстного меню Google Chrome в панель управління можна за допомогою команди «Зберегти як» і іконки довідкового розділу.

Уразливості публічних терміналів як зламати велопрокат і поліклініку

В окремих випадках ефективним вектором атаки була проста пальпація екрану в лівому нижньому кутку, що дозволяє дістатися до панелі завдань і меню «Пуск», або одночасне натискання на кілька областей екрану для згортання основного додатка.

Уразливості публічних терміналів як зламати велопрокат і поліклініку

До теперішнього часу частина подібних лазівок закрита. Але далеко не всі! Подивимося на ситуацію з позиції програміста. Що він може випустити з уваги?

Розробник обов'язково протестує інтерактивні частини свого повноекранного програми, але перевірить вводяться користувачем дані, щоб у користувача не було можливості натиснути що-небудь і «провалитися» усередину операційної системи. Але додатки стали складніше, вони використовують різні технології, включаючи сторонній код або віджети від інших компаній.

Атака на велопрокат

Додаток в терміналі велосипедної парковки красиво оформлено, введення символів відтестували. Але було в ньому одне нехороше «але». Крім форми для реєстрації користувача в інтерфейсі присутній довідковий розділ з картою. На ній є багато корисної інформації: де знаходиться даний термінал та інші велосипедні парковки, як дістатися до найближчих кафе, кінотеатрів та інших «точок інтересу». Карта реалізована на базі стандартного віджета Google. Там і сховалася помилка.

Якщо придивитися, то в правій нижній частині віджету можна побачити посилання «Повідомити про проблему», «Конфіденційність» і «Умови використання». Натискаємо на будь-яку з них - і з'являється стандартне вікно Internet Explorer.

Уразливості публічних терміналів як зламати велопрокат і поліклініку

Вікно браузера можна було відкрити по-іншому: клікаючи кнопку «Детальніше» при виборі місця розташування тих чи інших об'єктів.

Уразливості публічних терміналів як зламати велопрокат і поліклініку

Довідковий розділ в Internet Explorer дозволяє дістатися до всіх елементів і системних програм ОС. Трохи вуличної магії, і ми опиняємося в «Центрі спеціальних можливостей» панелі управління, звідки запускаємо екранну клавіатуру.

Уразливості публічних терміналів як зламати велопрокат і поліклініку

Озброївшись віртуальною клавіатурою, набираємо cmd.exe і запускаємо командний рядок, де за допомогою команди WHOAMI перевіряємо статус в системі. У нас виявилися права адміністратора, так що можна надягати малинові штани і господарювати.

Уразливості публічних терміналів як зламати велопрокат і поліклініку

Повноцінний вихід в інтернет в терміналі був доступний, незважаючи на суворі рекомендації по обмеженню доступу в зовнішню мережу для таких пристроїв. Порушник міг відправитися на той же exploit-db, скачати шкідливі програми на жорсткий диск пристрою і запустити їх, а також отримати пароль адміністратора за допомогою відомих програм для злому пароля (mimikatz, WCE, Fgdump, pwdump). Варто додати, що у різних велопаркоматов з великою часткою ймовірності могли бути однакові паролі адміністратора.

Підступне вікно друку

Крім доброзичливою картографії багато термінали друкують чеки, квитки, і це теж можна використовувати для проникнення в систему. Наприклад, в одній з організацій при оформленні квитка електронної черги на мить з'являється інтерфейс Windows з вікном друку. При певних умовах не складе великих труднощів натиснути на вибір принтера, з подальшим виходом в панель управління.

Уразливості публічних терміналів як зламати велопрокат і поліклініку

Подібне вікно може з'явитися, якщо у вбудованому принтері закінчився папір, висохло чорнило в картриджі або сам по собі термінал вирішує теорему Ферма і тому працює дуже повільно.

Уразливості публічних терміналів як зламати велопрокат і поліклініку

А якщо копнути глибше

Уразливості публічних терміналів як зламати велопрокат і поліклініку

І це ще квіточки! Відмінною особливістю публічних терміналів є те, що вони часто підключені до однієї внутрішньої мережі і є довіреними для центрального сервера. При цьому адміністратор терміналу може мати доступ до внутрішніх ресурсів головної компанії з важливими конфіденційними даними. Чи треба хакеру прориватися через фаєрволи і системи запобігання атак, якщо можна знайти інформаційної кіоск на тихій вулиці, у якого уразливості розміром з гіпопотама і прямий доступ до сервера головного офісу?

Уявімо собі сучасну високотехнологічну авіакомпанію, інформаційні кіоски якої знаходяться в різних аеропортах. Отримавши повний доступ до терміналу і зламавши відповідає за такі пристрої сервер (відсутність патча, вразливість в протоколі обміну даними), зловмисник перевірить, чи немає у даного сервера другого інтерфейсу, підключеного до внутрішньої мережі авіакомпанії, і чи є способи в неї потрапити. До корпоративних секретів можуть вести кілька шляхів - VPN-доступ, однакові паролі адміністратора серверів терміналів і внутрішньої мережі, уразливості поштового веб-додатки для відправки статистики або звітів про помилки.

P. S. Некоректні настройки конфігурації були професійно і оперативно усунені розробниками, а термінали оплати московського міського велопрокату, за заявою представників московської мерії, продовжують взимку свою роботу.

P. P. S. Дякую Дениса Макрушина за допомогу в проведенні дослідження.