Страницы

понедельник, 22 декабря 2014 г.

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

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


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

Приложение иногда «падает» самостоятельно из-за ошибок в программе и утечек памяти, но есть и способы свернуть его специально. Самый древний способ — выполнить долгое нажатие на экран терминала до появления контекстного меню, которое эмулирует щелчок правой кнопки мыши. Дальнейший сценарий проникновения зависит от браузера. К примеру, попасть из контекстного меню Google Chrome в панель управления можно с помощью команды «Сохранить как» и иконки справочного раздела.


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


К настоящему времени часть подобных лазеек закрыта. Но далеко не все! Посмотрим на ситуацию с позиции программиста. Что он может упустить из виду?

Разработчик обязательно протестирует интерактивные части своего полноэкранного приложения и проверит вводимые пользователем данные, чтобы у пользователя не было возможности нажать что-нибудь и «провалиться» внутрь операционной системы. Но приложения стали сложнее, они используют различные технологии, включая посторонний код или виджеты от других компаний.

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

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

Если присмотреться, то в правой нижней части виджета можно увидеть ссылки «Сообщить о проблеме», «Конфиденциальность» и «Условия использования». Нажимаем на любую из них — и появляется стандартное окно Internet Explorer.


Окно браузера можно было открыть по-другому: кликая кнопку «Подробнее» при выборе местоположения тех или иных объектов.


Полдела сделано.

Справочный раздел в Internet Explorer позволяет добраться до всех элементов и системных программ ОС. Немного уличной магии, и мы оказываемся в «Центре специальных возможностей» панели управления, откуда запускаем экранную клавиатуру.


Можно и напрямую добраться до клавиатуры: выйти в «Проводник» последовательным выбором свойств браузера Internet Explorer — вкладки «Общие», кнопки «Параметры», «Просмотреть объекты» — и нажав на приложение Osk.exe в папке C:\Windows\System32.

Вооружившись виртуальной клавиатурой, набираем cmd.exe и запускаем командную строку, где с помощью команды WHOAMI проверяем статус в системе. У нас оказались права администратора, так что можно надевать малиновые штаны и хозяйничать.


Сценарии эксплуатации

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

Что еще мог бы сделать кибервзломщик? Подменять файлы в системном каталоге, повышать привилегии, дампить пользовательские данные. Откровенные недостатки конфигурации оставляли нарушителю пространство и для совсем головокружительных маневров. Сконструировать на базе захваченных терминалов ботнет, пул для майнинга, уютную баннерную сеть со своей рекламой… Помимо обычного перехвата вводимых персональных данных с помощью кейлогера, злоумышленник мог отправить приложение парковки себе по сети, внести в него изменения (к примеру, добавить поле с требованием указывать трехзначный код CVV/CVV2) и установить обратно. Пользователи вряд ли ,s сразу что-нибудь заподозрили, вот только поездка на велосипеде обошлась бы им недешево…

Коварное окно печати

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



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


А если копнуть глубже

Автор этой статьи и его коллеги только за последний год сталкивались с небезопасной работой инфоматов «Электронного правительства», инфокиосков в одном из российских аэропортов, систем развлечений самолета, удаленных терминалов АСУ ТП (SCADA), а также запускали Angy Birds на банкомате. В последнее время российские поликлиники активно оснащаются терминалами, в которых любой желающий может записаться на прием к врачу. Без должного внимания к безопасности терминалов мы рискуем стать свидетелями массовых утечек сведений, составляющих уже и врачебную тайну.


И это еще цветочки! Отличительной особенностью публичных терминалов является то, что они часто подключены к одной внутренней сети и являются доверенными для центрального сервера. При этом администратор терминала может иметь доступ к внутренним ресурсам головной компании с важными конфиденциальными данными. Надо ли хакеру прорываться через фаерволы и системы предотвращения атак, если можно найти информационной киоск на тихой улице, у которого уязвимости размером с гиппопотама и прямой доступ к серверу главного офиса?

Представим себе современную высокотехнологичную авиакомпанию, информационные киоски которой находятся в различных аэропортах. Получив полный доступ к терминалу и взломав отвечающий за такие устройства сервер (отсутствие патча, уязвимость в протоколе обмена данными), злоумышленник проверит, нет ли у данного сервера второго интерфейса, подключенного во внутреннюю сеть авиакомпании, и есть ли способы в нее попасть. К корпоративным секретам могут вести несколько путей — VPN-доступ, одинаковые пароли администратора серверов терминалов и внутренней сети, уязвимости почтового веб-приложения для отправки статистики или отчетов об ошибках.

Что делать

Основная беда публичных терминалов с сенсорными экранами — сворачивание главного приложения и попадание нарушителя в интерфейс Windows. Разработчикам необходимо заблокировать всплывающие меню при долгом нажатии на экран (как при нажатии правой клавиши мыши) и исключить вызов окна печати, откуда можно проникнуть в панель управления Windows. Рекомендуем также использовать embedded сборки ОС, которые лишены ряда недостатков безопасности стандартных версий — в частности, не используют рабочий стол (но все равно, правда, не защищают от открытия того же IE).

В обязательный минимум мероприятий входит проверка всех ссылок полноэкранного приложения и сторонних виджетов. Если при переходе по веб-адресу открывается новое окно браузера, следует отключить такую возможность, отредактировав код виджета и удалив ссылки. Основное приложение терминала должно всегда находиться поверх всех окон Windows: в этом могут помочь различные утилиты (например, Window On Top).

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

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

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

Автор: Станислав Мерзляков, Positive Research

1 комментарий:

  1. Chia sẻ các bạn mẹo làm sáng trang sức bằng bạc hiệu quả hay tác hại của việc nghiện Facebook hay với những địa điểm chơi Noel ở TPHCM rực rỡ nhất hay nguồn gốc và ý nghĩa của lễ giáng sinh hay những lời chúc giáng sinh hay và ý nghĩa nhất 2015 cho bạn bè cách quên người yêu cũ nhanh nhat hiệu quả hay top 10 điện thoại đắt nhất thế giới hay nguồn gốc thứ 6 ngày 13những hình xăm nhỏ đẹp hay ý nghĩa 2015 hay hướng dẫn cách làm cánh gà tẩm bột chiên xù hay cách trị thâm quầng mắt hiệu quả nhất hay bạn muốn câu cá thì cách làm mồi câu cá rô phi sông hiệu quả hay những câu đố vui hay nhất có đáp án hay giảm mỡ bụng sau sinh bằng rượu gừng nghệ cực hiệu quả hay mách mẹ những thực phẩm giàu axit folic hay cách chữa hóc xương cá hiệu quả nhất hay những điều không nên chia sẻ trên Facebook cực nguy hiểm hay hiện tượng nháy mắt trái có điềm gì mang đến xui xẻo gì những món ăn kỵ nhau gây chết người bạn nên biết hay những cách gặp ma đầy thú vị hay những điều kiêng kỵ khi hôn đàn ông nên biết hay giải mã giấc mơ thấy rắn là điềm gì xui hay không hay bà bầu nên ăn gì trong 3 tháng đầu thai kỳ hay uống nước thì cách uống nước đúng cách hay cây chùm ngây và tác dụng của cây chùm ngây thần kỳ.

    ОтветитьУдалить