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

warning

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

Фа­наты этой компь­ютер­ной игры разош­лись во мне­ниях: кто‑то говорит, что это слиш­ком «уто­пич­но» — дос­тать смар­тфон и ломать все вок­руг. Дру­гие осоз­нают, что «сказ­ка — ложь, да в ней намек» и игро­вой мир отчасти отра­жает реаль­ный.

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

 

Терминальные терминаторы

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

Концепция «заряди свой девайс где угодно»
Кон­цепция «заряди свой девайс где угод­но»
Терминалы продажи билетов на киносеанс
Тер­миналы про­дажи билетов на киносе­анс

Од­нако жизнь учит раз­работ­чиков подоб­ных устрой­ств тому, что не все их поль­зовате­ли каса­ются тачс­кри­нов с бла­гими намере­ниями. Если ввес­ти в Google зап­рос вида terminal hacked, то получим мно­го релеван­тных видео, на которых глав­ные герои рас­кла­дыва­ют пась­янс на том или ином тер­минале или же рису­ют вся­кие неп­ристой­нос­ти в Paint. При­чиной это­го могут быть раз­личные баги в при­ложе­ниях тер­минала, и час­то они носят схо­жий прин­цип экс­плу­ата­ции.

Пример «инструкции по компрометации», найденный в Сети
При­мер «инс­трук­ции по ком­про­мета­ции», най­ден­ный в Сети

Так, на одном из видео учас­тник удер­жива­ет свой палец на экра­не око­ло десяти секунд, и это при­водит к резуль­тату «нажатие пра­вой кноп­кой мыш­ки». На дру­гом ребята бес­порядоч­но тыка­ют в левый ниж­ний угол экра­на — и пол­ноэк­ранное при­ложе­ние сво­рачи­вает­ся. Кто‑то вооб­ще додумал­ся зак­рыть ладонью GSM-антенну тер­минала и таким обра­зом спро­воци­ровать выпаде­ние ошиб­ки под­клю­чения.

«Ловкость пальцев и никакого мошенничества»
«Лов­кость паль­цев и никако­го мошен­ничес­тва»

Из слу­чаев ком­про­мета­ции подоб­ных устрой­ств наибо­лее инте­ресен инци­дент, про­изо­шед­ший с тер­минала­ми опла­ты одно­го извес­тно­го вен­дора элек­трон­ных пла­тежей. Зло­умыш­ленник в поле вво­да наз­начения пла­тежа при помощи вир­туаль­ной экранной кла­виату­ры при­ложе­ния, которая дос­тупна в интерфей­се пла­теж­ной сис­темы, вво­дил стро­ку «last_page=StyleSheet.css». В качес­тве обра­бот­чика для фай­ла с дан­ным рас­ширени­ем откры­вал­ся notepad.exe, который через свою сис­тему справ­ки поз­волял зло­дею переб­рать­ся в сис­темную панель управле­ния и запус­тить вир­туаль­ную кла­виату­ру опе­раци­онной сис­темы.

Интересный и уже неактуальный вариант компрометации терминала
Ин­терес­ный и уже неак­туаль­ный вари­ант ком­про­мета­ции тер­минала
 

Методика анализа защищенности терминалов общего пользования

Опи­раясь на такие видео и печаль­ный опыт вен­доров, мож­но сос­тавить нес­ложную методи­ку ана­лиза защищен­ности устрой­ств дан­ного типа.

Методика поиска анализа защищенности публичных терминалов
Ме­тоди­ка поис­ка ана­лиза защищен­ности пуб­личных тер­миналов

На­ша задача: имея на руках пол­ноэк­ранное при­ложе­ние, которое, ско­рее все­го, фун­кци­они­рует на базе опе­раци­онной сис­темы Windows, вый­ти за его пре­делы в сис­темное окру­жение. Для это­го мож­но исполь­зовать так называ­емый Tap-fuzzing. По‑дру­гому говоря — порабо­тать паль­чиками. Нажимать на раз­личные учас­тки при­ложе­ния с целью спро­воци­ровать его недоку­мен­тирован­ное поведе­ние. Или мож­но вос­поль­зовать­ся Data-fuzzing и под­став­лять раз­личные дан­ные в поля вво­да с целью спро­воци­ровать некор­рек­тную обра­бот­ку вхо­дящих дан­ных.

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

По­пада­ние в панель управле­ния будет отправ­ной точ­кой для запус­ка вир­туаль­ной кла­виату­ры с соот­ветс­тву­ющи­ми пос­ледс­тви­ями.

 

Транспортная ситуация

Жи­тели Мос­квы все чаще могут встре­тить в пар­ках сво­его города велоси­пед­ные пар­коматы. Суть этих устрой­ств доволь­но прос­та: име­ется пла­теж­ный тер­минал для опла­ты велоси­педа и стой­ка с велоси­педа­ми. Устрой­ством вывода в пла­теж­ном тер­минале слу­жит дис­плей, где поль­зователь может зарегис­три­ровать­ся, что­бы про­катить­ся на велоси­педе, и получить спра­воч­ную информа­цию.

Ин­терфейс сис­темы спро­екти­рован спе­циаль­но для это­го типа устрой­ств (если ты хоть раз опла­чивал что‑либо в пла­теж­ных тер­миналах, то пред­став­ляешь, о чем речь), и в нем труд­но запутать­ся. В этом интерфей­се у поль­зовате­ля есть воз­можность получить текущее мес­тополо­жение, а точ­нее, уви­деть отметку на Google-кар­те, которая ука­зыва­ет, где находит­ся пар­комат.

Все подоб­ные устрой­ств работа­ют на базе клас­сичес­ких опе­раци­онных сис­тем (чаще Windows-подоб­ных) со все­ми их уяз­вимос­тями. Одна­ко спе­циали­зиро­ван­ный интерфейс пред­став­ляет собой пол­ноэк­ранное при­ложе­ние с очень огра­ничен­ным фун­кци­она­лом, которое не дает поль­зовате­лю заб­рать­ся «под капот» и умыш­ленно или неп­редна­мерен­но нат­ворить глу­пос­тей. Соот­ветс­твен­но, при ана­лизе защищен­ности тер­миналов основная задача — вый­ти за пре­делы дан­ного пол­ноэк­ранно­го при­ложе­ния. Пос­ле это­го мож­но будет пошалить: запус­кать свои при­ложе­ния, под­нимать при­виле­гии, дам­пить цен­ную информа­цию и про­чее.

В рас­смот­ренных сис­темах пар­коматов обна­руже­на инте­рес­ная осо­бен­ность. В раз­деле «Кар­ты» раз­работ­чики не ста­ли при­думы­вать ничего нового и исполь­зовали кар­ты от ком­пании Google. И все было бы при­лич­но, если бы толь­ко вид­жет от Гуг­ла не имел стро­ки ста­тус­бара, в котором сре­ди про­чей информа­ции (текущий мас­штаб, копирай­ты и так далее) содер­жатся ссыл­ки «Сооб­щить об ошиб­ке», «Кон­фиден­циаль­ность» и «Усло­вия исполь­зования», которые откры­вают стан­дар­тное окно Internet Explorer…

Интерфейс полноэкранного приложения, содержащий некоторые особенности…
Ин­терфейс пол­ноэк­ранно­го при­ложе­ния, содер­жащий некото­рые осо­бен­ности…
 

А давай прокатимся!

По­мимо опи­сан­ной ссыл­ки, в дан­ном при­ложе­нии незамет­но раз­бро­саны и дру­гие лин­ки (нап­ример, при показе тех или иных рес­торанов мож­но нажать кноп­ку «Под­робнее»), нажав на которые мож­но открыть бра­узер.

Выход за пределы полноэкранного приложения
Вы­ход за пре­делы пол­ноэк­ранно­го при­ложе­ния

«И что? Ну, открыл я бра­узер — кла­виату­ры ведь все рав­но нет!» Сей­час будет: по ссыл­кам на стра­ницах со спра­воч­ной информа­цией есть воз­можность перей­ти в раз­дел справ­ки, который называ­ется «Спе­циаль­ные воз­можнос­ти», где и пря­чет­ся вир­туаль­ная кла­виату­ра.

Кто я? Администратор!
Кто я? Адми­нис­тра­тор!

Даль­ше все зависит от фан­тазии и сте­пени наг­лости ата­кующе­го. Запуск cmd.exe демонс­три­рует еще один недос­таток кон­фигура­ции: текущий сеанс опе­раци­онной сис­темы запущен с при­виле­гиями адми­нис­тра­тора, а это зна­чит, что мы потен­циаль­но можем ска­чать и совер­шенно бес­пре­пятс­твен­но запус­тить любое при­ложе­ние.

Бинго: виртуальная клавиатура
Бин­го: вир­туаль­ная кла­виату­ра

Так, ата­кующий может получить NTLM-хеш пароля адми­нис­тра­тора. При этом велика веро­ятность, что пароль, уста­нов­ленный на дан­ном устрой­стве, под­ходит и к осталь­ным устрой­ствам дан­ного типа, — а это уже тре­тий недос­таток кон­фигура­ции…

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

 

Терминалы государственных учреждений

Под государс­твен­ными учрежде­ниями мы будем понимать те, которые находят­ся в зда­ниях, име­ющих герб или рос­сий­ский флаг. Без кон­кре­тики и упо­мина­ния про­изво­дите­лей, но по сути :).

Итак, перед нами интерфейс пол­ноэк­ранно­го при­ложе­ния, которое на осно­ве вве­ден­ных нами дан­ных пред­лага­ет рас­печатать кви­тан­цию для опла­ты.

«Проверь меня полностью»
«Про­верь меня пол­ностью»

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

Ненадолго появляющийся системный элемент
Не­надол­го появ­ляющий­ся сис­темный эле­мент

Как следс­твие, если зло­умыш­ленник успе­вает нажать на кноп­ку «Изме­нить», то получа­ет воз­можность пос­редс­твом нехит­рых манипу­ляций с парамет­рами печати вый­ти в спра­воч­ный раз­дел…

 

Вайтхеты засыпают, блекхеты просыпаются

Сце­нарии пос­тэкс­плу­ата­ции вытека­ют из осо­бен­ностей дан­ных устрой­ств:

  1. Все они рас­положе­ны в пуб­личных мес­тах.
  2. Дос­тупны в режиме 24/7.
  3. Име­ют оди­нако­вую кон­фигура­цию.
  4. Име­ют повышен­ную сте­пень доверия со сто­роны поль­зовате­ля.
  5. Свя­заны друг с дру­гом и могут иметь выходы в дру­гие «при­ват­ные» сети.

Глав­ная цель зло­умыш­ленни­ка — пря­мая или кос­венная финан­совая выгода в резуль­тате ком­про­мета­ции устрой­ства. В дан­ном слу­чае для дос­тижения этой цели он может раз­добыть не прос­то NTLM-хеш, который еще нуж­но брут­форсить для получе­ния пароля, а сра­зу пароль адми­нис­тра­тора. Для это­го ата­кующий может извлечь пароли в откры­том виде, хра­нящи­еся в памяти. Кста­ти, пос­ледняя вер­сия ути­литы WCE теперь может не толь­ко дам­пить пароли внед­рени­ем кода в про­цесс lsass.exe, а нап­рямую читать память в рам­ках текущей сес­сии. Добавим сюда под­дер­жку Windows 7, на базе которой работа­ют пар­коматы, и получим «ключ» сра­зу ко всем устрой­ствам дан­ного вен­дора.

Плод воображения: что было бы, если бы mimicatz оказался запущенным на стороне терминала
Плод вооб­ражения: что было бы, если бы mimicatz ока­зал­ся запущен­ным на сто­роне тер­минала

Кро­ме того, зло­умыш­ленник может получить дамп при­ложе­ния велопар­ковки, которое любез­но собира­ет информа­цию о жела­ющих покатать­ся: ФИО, адрес элек­трон­ной поч­ты и телефон. Не исклю­чено, что база дан­ных с цен­ной информа­цией хра­нит­ся где‑то непода­леку. Не сто­ит объ­яснять, что такая база будет иметь осо­бую цен­ность на рын­ке, ведь в ней содер­жатся верифи­циро­ван­ные адре­са телефо­нов и email. В том слу­чае, если же подоб­ной базы нет, зло­дей может уста­новить свой кей­лог­гер, который перех­ватыва­ет все вве­ден­ные поль­зовате­лями дан­ные и отправ­ляет на уда­лен­ный сер­вер.

Учи­тывая одну из осо­бен­ностей дан­ных устрой­ств — работу в режиме 24/7, мож­но орга­низо­вать, нап­ример, пул для май­нин­га или исполь­зовать ее в дру­гих хакер­ских целях, тре­бующих круг­лосуточ­ного при­сутс­твия заражен­ной рабочей стан­ции в сети.

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

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

Сломал терминал — попал в компанию
Сло­мал тер­минал — попал в ком­панию

info

В нас­тоящее вре­мя вен­дор уве­дом­лен обо всех опи­сан­ных уяз­вимос­тях и недос­татках кон­фигура­ции и устра­нил их.

 

Рекомендации

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

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

  1. Зап­ретить воз­можность откры­вать внеш­ние ссыл­ки в пол­ноэк­ранном при­ложе­нии.
  2. Не допус­кать вызова каких‑либо эле­мен­тов интерфей­са ОС Windows (нап­ример, пра­вой кноп­кой мыши, исполь­зуя окна печати докумен­тов).
  3. За­пус­кать текущий сеанс опе­раци­онной сис­темы с огра­ничен­ными при­виле­гиями обыч­ного поль­зовате­ля.
  4. На каж­дом устрой­стве соз­давать уни­каль­ную учет­ную запись с уни­каль­ным паролем.

Поль­зовате­лям пла­теж­ных тер­миналов мы рекомен­дуем не вво­дить пол­ные рек­визиты сво­их пла­теж­ных карт. Ни в коем слу­чае нель­зя вво­дить CVV2/CVC2-номер кар­ты, они не тре­буют­ся для осу­щест­вле­ния пла­тежа. Не сле­дует пре­неб­регать и воз­можностью опла­тить в тер­минале услу­гу налич­ными.

Оставить мнение