- PVSM.RU - https://www.pvsm.ru -
Игра Watch Dogs прекрасно описывает недалекое будущее: вокруг всевозможные девайсы, средства выдачи и приема наличных, а также разнообразные имеющие доступ в интернет устройства, нашпигованные уязвимостями, эксплуатация которых позволяет хакеру извлечь определенную выгоду. Например, в игре главный герой при помощи смартфона может скомпрометировать систему видеонаблюдения, получив тем самым возможности вести слежку и добывать дополнительную информацию.
Фанаты Watch Dogs разошлись во мнениях: кто-то говорит, что это слишком «утопично» — достать смартфон и ломать все вокруг. Другие осознают, что «сказка — ложь, да в ней намек» и игровой мир отчасти отражает реальный.
Мы попробуем выдвинуть еще немного аргументов в пользу того, что окружающие нас устройства, которые мы едва замечаем в парках и общественных местах, могут оказаться уязвимыми и нести опасность — как минимум для нашего кошелька.
Число публичных устройств, которые ждут своего героя из компьютерной игры, зашкаливает. Парки и улицы пестрят терминалами оплаты парковки всевозможных средств перемещения и уютными «будками» быстрой подзарядки мобильного девайса. Аэропорты и вокзалы предлагают различные устройства оплаты билетов и получения справочной информации. В кинотеатрах находятся терминалы покупки и бронирования билетов на киносеансы. В поликлиниках и государственных учреждениях посетителей встречают устройства электронных очередей и печати каких-нибудь квитанций. Даже туалеты оснащаются терминалами оплаты. Правда, пентестить последние девайсы вряд ли кто-нибудь будет — духу не хватит :).
Однако жизнь учит разработчиков подобных устройств тому, что не все их пользователи касаются тачскринов с благими намерениями. Если ввести в Google запрос вида terminal hacked, то получим много релевантных видео, на которых главные герои раскладывают пасьянс на том или ином терминале или же рисуют всякие непристойности в Paint. Причиной этого могут быть различные баги в приложениях терминала, и часто они носят схожий принцип эксплуатации.
Так, на одном из видео участник удерживает свой палец на экране около десяти секунд, и это приводит к результату «нажатие правой кнопкой мышки». На другом ребята беспорядочно тыкают в левый нижний угол экрана — и полноэкранное приложение сворачивается. Кто-то вообще додумался закрыть ладонью GSM-антенну терминала и таким образом спровоцировать выпадение ошибки подключения.
Из случаев компрометации подобных устройств наиболее интересен инцидент, произошедший с терминалами оплаты одного известного вендора электронных платежей. Злоумышленник в поле ввода назначения платежа при помощи виртуальной экранной клавиатуры приложения, которая доступна в интерфейсе платежной системы, вводил строку «last_page=StyleSheet.css». В качестве обработчика для файла с данным расширением открывался notepad.exe, который через свою систему справки позволял злодею перебраться в системную панель управления и запустить виртуальную клавиатуру операционной системы.
Опираясь на такие видео и печальный опыт вендоров, можно составить несложную методику анализа защищенности устройств данного типа.
Наша задача: имея на руках полноэкранное приложение, которое, скорее всего, функционирует на базе операционной системы Windows, выйти за его пределы в системное окружение. Для этого можно использовать так называемый Tap-fuzzing. По-другому говоря — поработать пальчиками. Нажимать на различные участки приложения с целью спровоцировать его недокументированное поведение. Или можно воспользоваться Data-fuzzing и подставлять различные данные в поля ввода с целью спровоцировать некорректную обработку входящих данных.
Как только удается вызвать элемент стандартного интерфейса операционной системы, следующим этапом будет попадание в панель управления — например, через разделы справочной информации.
Попадание в панель управления будет отправной точкой для запуска виртуальной клавиатуры с соответствующими последствиями.
Жители Москвы все чаще могут встретить в парках своего города велосипедные паркоматы. Суть этих устройств довольно проста: имеется платежный терминал для оплаты велосипеда и стойка с велосипедами. Устройством вывода в платежном терминале служит дисплей, где пользователь может зарегистрироваться, чтобы прокатиться на велосипеде, и получить справочную информацию.
Интерфейс системы спроектирован специально для этого типа устройств (если ты хоть раз оплачивал что-либо в платежных терминалах, то представляешь, о чем речь), и в нем трудно запутаться. В этом интерфейсе у пользователя есть возможность получить текущее местоположение паркомата, а точнее, увидеть отметку на Google-карте.
Все подобные устройства работают на базе классических операционных систем (чаще Windows-подобных) со всеми их уязвимостями.
Однако специализированный интерфейс представляет собой полноэкранное приложение с очень ограниченным функционалом, которое не дает пользователю забраться «под капот» и умышленно или непреднамеренно натворить глупостей. Соответственно, при анализе защищенности терминалов основная задача — выйти за пределы данного полноэкранного приложения. После этого можно будет пошалить: запускать свои приложения, поднимать привилегии, дампить ценную информацию и прочее.
В рассмотренных системах паркоматов обнаружена интересная особенность. В разделе «Карты» разработчики не стали придумывать ничего нового и использовали карты от компании Google. И все было бы прилично, если бы только виджет от Гугла не имел строки статусбара, в котором среди прочей информации (текущий масштаб, копирайты и так далее) содержатся ссылки «Сообщить об ошибке», «Конфиденциальность» и «Условия использования», которые открывают стандартное окно Internet Explorer…
Помимо описанной ссылки, в данном приложении незаметно разбросаны и другие линки (например, при показе тех или иных ресторанов можно нажать кнопку «Подробнее»), нажав на которые можно открыть браузер.
«И что? Ну, открыл я браузер — клавиатуры ведь все равно нет!» Сейчас будет: по ссылкам на страницах со справочной информацией есть возможность перейти в раздел справки, который называется «Специальные возможности», где и прячется виртуальная клавиатура (вот еще один неприятный минус Windows).
Дальше все зависит от фантазии и степени наглости атакующего. Запуск cmd.exe демонстрирует еще один недостаток конфигурации: текущий сеанс операционной системы запущен с привилегиями администратора, а это значит, что мы потенциально можем скачать и совершенно беспрепятственно запустить любое приложение.
Так, атакующий может получить NTLM-хеш пароля администратора. При этом велика вероятность, что пароль, установленный на данном устройстве, подходит и к остальным устройствам данного типа, — а это уже третий недостаток конфигурации.
На этом приключение заканчивается, поэтому давай порассуждаем, что из всего этого может извлечь злоумышленник.
Под государственными учреждениями мы будем понимать те, которые находятся в зданиях, имеющих герб или российский флаг. Без конкретики и упоминания производителей, но по сути :).
Итак, перед нами интерфейс полноэкранного приложения, которое на основе введенных нами данных предлагает распечатать квитанцию для оплаты.
После заполнения всех полей и реквизитов мы нажимаем кнопку «Создать» и наблюдаем следующую картину: терминал на несколько секунд открывает стандартное окно печати, в котором находятся все параметры печати нашего документа и автоматически производится нажатие на кнопку «Печать».
Как следствие, если злоумышленник успевает нажать на кнопку «Изменить», то получает возможность посредством нехитрых манипуляций с параметрами печати выйти в справочный раздел…
Сценарии постэксплуатации вытекают из особенностей данных устройств:
Главная цель злоумышленника — прямая или косвенная финансовая выгода в результате компрометации устройства. В данном случае для достижения этой цели он может раздобыть не просто NTLM-хеш, который еще нужно брутфорсить для получения пароля, а сразу пароль администратора. Для этого атакующий может извлечь пароли в открытом виде, хранящиеся в памяти. Кстати, последняя версия утилиты WCE теперь может не только дампить пароли внедрением кода в процесс lsass.exe, а напрямую читать память в рамках текущей сессии.
Добавим сюда поддержку Windows 7, на базе которой работают паркоматы, и получим «ключ» сразу ко всем устройствам данного вендора.
Кроме того, злоумышленник может получить дамп приложения велопарковки, которое любезно собирает информацию о желающих покататься: ФИО, адрес электронной почты и телефон. Не исключено, что база данных с важной информацией хранится где-то неподалеку. Не стоит объяснять, что такая база будет иметь особую ценность на рынке, ведь в ней содержатся верифицированные адреса телефонов и email. В том случае, если же подобной базы нет, злодей может установить свой кейлоггер, который перехватывает все введенные пользователями данные и отправляет на удаленный сервер.
Учитывая одну из особенностей данных устройств — работу в режиме 24/7, можно организовать, например, пул для майнинга или использовать ее в других хакерских целях, требующих круглосуточного присутствия зараженной рабочей станции в сети.
Особо наглые злоумышленники могут реализовать сценарий атаки, результатом которой станет получение платежных данных пользователя: на главном окне приложения паркомата можно в ненавязчивой форме оставить поле для ввода реквизитов пластиковой карты, и с большой долей вероятности введенный в заблуждение пользователь любезно оставит их вместе со своим именем, номером телефона и электронной почтой…
Обилие сценариев, которые открывают возможности для доступа к персональным данным и кошельку ни о чем не подозревающих людей, ограничивается лишь фантазией злоумышленников. Описанная ситуация с защищенностью паркоматов наглядно демонстрирует, как несколько недостатков конфигурации образуют уязвимость.
Кроме того, скомпрометированный терминал может стать отправной точкой для дальнейшей атаки на корпоративную сеть. Очень часто подобные устройства обращаются к терминальному серверу или целой подсети, которая находится в доверенной зоне компании, а значит, небольшая таргетированная атака, использующая вредоносное ПО и/или социальную инженерию, может позволить злоумышленнику оказаться в главном офисе. Без стука.
Проведенный нами анализ защищенности паркоматов демонстрирует, как несколько недостатков конфигурации делают устройство уязвимым. А приведенные сценарии атак — как это может открыть злоумышленникам доступ к персональным данным и кошелькам ни о чем не подозревающих людей.
Для того чтобы исключить вредоносную активность на публичных устройствах, разработчикам и администраторам терминалов велопарковки и других терминалов, расположенных в публичных местах, мы рекомендуем:
Пользователям платежных терминалов мы рекомендуем не вводить полные реквизиты своих платежных карт. Ни в коем случае нельзя вводить CVV2/CVC2-номер карты, они не требуются для осуществления платежа. Не следует пренебрегать и возможностью оплатить в терминале услугу наличными.
Впервые опубликовано в журнале «Хакер» от 12/2014.
Подпишись на «Хакер»
Автор: Difezza
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/87719
Ссылки в тексте:
[1] Бумажный вариант: http://bit.ly/habr_subscribe_paper
[2] «Хакер» на iOS/iPad: http://bit.ly/xakep_on_ipad
[3] «Хакер» на Android: http://bit.ly/habr_android
[4] Источник: http://habrahabr.ru/post/254003/
Нажмите здесь для печати.