О банкоматах и их взломе

О банкоматах и их взломе

https://t.me/odeepweb


Что такое банкомат?

Банкомат — это сейф с компьютером.

Снизу в железном ящике хранятся деньги в кассетах. Еще есть механизм подачи: он забирает деньги из кассет и выдает их. Вы наверняка знаете его характерный приятный треск.

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

Банкомат связан с банком защищенным каналом связи.


Как банкомат работает с деньгами.

Банкноты хранятся в кассетах, обычно их 4—6. В каждой кассете примерно 2500 банкнот.


Кассеты заряжают в банке проверенными купюрами. Деньги проверяют несколько раз и разные сотрудники. Затем кассеты опечатывают. Банк гарантирует, что в банкомате нет поддельных банкнот.


Каждая кассета настроена под банкноту своего номинала. Вместо 50 Рне получится зарядить 5000 Р: банкомат просто откажется работать с такими купюрами. Не верьте байкам про то, как вместо сторублевок банкомат выдал пятитысячные.


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


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


Например, если человек смог каким-то чудом зачислить себе на счет поддельные деньги, то при проверке кассеты банк об этом узнает. Банк отследит операцию, поднимет фотографии с банкомата и, если захочет, обратится в полицию — ведь у него будут фотографии мошенника и паспортные данные владельца счета.


Банкомат знает, сколько денег осталось в каждой кассете. Если вы хотите снять 50 тысяч, а осталось только 30 — устройство откажет. Дополнительно банкомат пересчитывает все купюры перед выдачей.


У банкомата все купюры посчитаны.

В банкомат заряжают больше миллиона рублей, иногда — сразу.

2—3 миллиона. Однако в людных местах деньги быстро кончаются, а банкомат стоит пустым.

Если вам требуется регулярно снимать крупные суммы, делайте это 5 и 25 числа каждого месяца. В эти дни банки загружают в кассеты больше денег, рассчитывая на аванс и зарплату населения.


Как банкомат общается с банком.

Между банкоматом и банком работает шифрованный канал связи. Банкомат сообщает банку данные карты, банк дает добро на снятие денег (или не дает).


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


Что будет с банкоматом без электричества.

Банкомат работает от сети. Пропадает электричество — банкомат отключается.

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


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


Банкомат хорошо защищен от посягательств — неважно, есть электричество или нет.


Банкомат не выдаст деньги без электричества.

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


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


Как защититься от банкоматных мошенников.

Злоумышленникам страшно лезть в банкоматы, и они придумывают другие способы украсть деньги. Например, устанавливают на банкомат накладки и скиммеры. Они пытаются украсть не деньги, а ваши личные данные: номер карты и пин.


Распознать скиммеры сложно, с каждым годом они становятся всё незаметнее и совершеннее. Чтобы не попасться, откажитесь от уличных банкоматов. Снимайте деньги в отделениях банков. Злоумышленники боятся ставить скиммеры в отделениях под камерами.


Что такое Скиммеры?


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


Памятка по безопасности.

Избегайте банкоматов в подозрительных местах: на улицах, в убогих торговых центрах, на рынках. Сомневаетесь в надежности банкомата — не подходите.


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


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


Прикрывайте рукой цифровую панель, на которой вы вводите пин. На нее может быть направлена камера злоумышленника.


Если вы начали снимать деньги в банкомате, а сзади к вам подошел человек — попросите его отойти. Или нажмите кнопку «Отмена», заберите карту и уходите. Не снимайте деньги, если чувствуете опасность.


Если при работе с банкоматом что-то пошло не так, не отходите от банкомата и сразу звоните в банк. Сотрудник банка проинструктирует вас, что делать.


Если планируете совершить крупную покупку (например внести задаток за машину), предварительно позвоните в магазин и узнайте, принимают ли они карты. Оплатить крупную покупку картой безопаснее, чем снимать крупную сумму и возить ее с собой.


Выводы

  1. Банкомат всегда выдаёт точные суммы настоящими банкнотами.
  2. Если во время работы пропадёт электричество, банкомат отменит последнюю операцию.
  3. Без электричества банкомат либо вернёт карту, либо оставит её себе. В таком случае заблокируйте её через приложение и заберите в банке.
  4. Если боитесь накладок и скиммеров — снимайте деньги только в банкоматах в отделениях банков.


Теперь передем ко второй части.

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


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


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


Однако в банкомате есть еще сервисная зона, где располагаются системный блок и различные периферийные устройства. Эта часть банкомата закрывается пластиковым корпусом с одним простеньким замком. Причем некоторые производители банкоматов ставили туда одинаковые замки, отрывающиеся одним и тем же ключом, – для удобства обслуживания. Сейчас вендоры и банки уходят от такой практики, но до сих пор встречаются банкоматы, которые можно открыть ключом от любого другого банкомата того же банка. Да и замки там по-прежнему простенькие.


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




Готовим взлом


Для начала мы решили использовать интерфейсы, которые расположены снаружи банкомата. Мы взяли микрокомпьютер Raspberry Pi, подключили к нему батарею питания, адаптер Wi-Fi и составили несколько программ для взлома. Найти документацию с описанием интерфейсов банкоматов оказалось несложно.


Оборудование банкоматов и платежных терминалов, независимо от производителя, имеет общий API (программный интерфейс. – Прим. ред.) для доступа и управления модулями и работает на платформе Windows в соответствии с единым стандартом расширений для финансовых услуг XFS.


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


Клавиатура банкомата (пинпад). Она работает в двух режимах: в защищенном, в котором вводится ПИН-код и передается в компьютер банкомата в шифрованном виде, и в открытом, который используется для ввода суммы снятия и прочей информации. Установленный на компьютере XFS-менеджер может вынудить пинпад переключаться между режимами, что может позволить злоумышленникам получать вводимые ПИН-коды в незашифрованном виде.


Считыватель карт (картридер)умеет читать данные с полосы и записывать на нее, извлекать и информацию из EMV-чипа – например, данные о ранее совершенных трансакциях.


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


Всеми этими устройствами управляет программа, запущенная на компьютере банкомата, – XFS-менеджер.


Можно было бы предположить, что здесь реализована серьезная аутентификация и доступ к XFS-менеджеру хорошо защищен. На деле ни о какой аутентификации речи нет. Спецификации можно найти в Интернете. Эксклюзивный доступ реализован, но не для безопасности, а лишь для того, чтобы не ломать нежные банкоматные «железки» – например, чтобы не посылать одновременно две команды на выдачу банкнот из диспенсера.


Стандарт XFS разработан в Microsoft, и это объясняет, почему на многих банкоматах до сих пор стоит Windows XP. Примерно год назад, на начало 2014-го, 95% всех банкоматов в мире работало под управлением Windows XP. При этом поддержка данной операционной системы закончилась в апреле 2014 года. То есть на банкоматах, управляемых Windows XP, огромное количество известных уязвимостей, которые уже никогда не будут устранены.


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


Возьмем, к примеру, известную уязвимость МС08-067. В каких-то банкоматах она может быть закрыта, так как уже не нова, но есть и другие подобные уязвимости. Она позволяет получить права администратора при сетевом подключении к компьютеру. Берем наш Raspberry Pi и подключаем к сетевому порту системного блока банкомата. Причем нам даже не нужно открывать сервисную область, можно использовать выведенный наружу порт, служащий для подключения банкомата к сети. К самому Paspberry Pi подключаемся по Wi-Fi и запускаем на нем программу-эксплойт для MC08-067. Появляется консоль, где мы можем вводить команды для компьютера банкомата. Несколькими нажатиями на клавиши можно заставить банкомат выдать небольшое количество денег.


В среднем в банкомате четыре кассеты по 2,5–3 тыс. банкнот в каждой. Несложно подсчитать, что при стандартной загрузке в банкомате может оказаться более 10 млн рублей. Их можно вытащить, эксплуатируя различные уязвимости, которые, как сказано выше, уже никогда не будут устранены.


Обходим защиту


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


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


Правда, протоколов там множество. Каждая новая прошивка устройства – новый протокол. Анализировать их непросто, и в Интернете мало информации на эту тему. Зато известно, например, что COM-порт не поддерживает контроль последовательности выполнения команд. То есть мы можем повторять какую-то отдельную команду или цепочку команд. А еще известно, что потеря связи устройства с портом не детектируется: если мы на 5–10 секунд отключим диспенсер от банкомата, то банкомат, в принципе, не сможет это понять.


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


Так же легко можно превратить банкомат в аппаратный скиммер, который забирает данные и передает их злоумышленнику – ведь данные банковской карты передаются в открытом виде между банкоматом и картридером. Если мы разместим наш Raspberry Pi внутри банкомата, такой скиммер в принципе нельзя будет увидеть снаружи.


Конечно, производители банкоматов и банки утверждают, что давно отказались от COM-портов и на их банкоматах используется только шифрованное USB-подключение. На самом деле это относится лишь к новым, недавно закупленным банкоматам. Десятки тысяч старых банкоматов до сих пор находятся в эксплуатации.


Кто виноват и что делать


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


Необходима постоянная двусторонняя аутентификация между компьютером банкомата и его периферийными устройствами. Тут не всегда спасет и криптография – в каждом шифрованном протоколе можно найти уязвимости.


Также мы предлагаем пересмотреть стандарт XFS в пользу увеличения его защищенности. Текущая ситуация крайне плачевная. Если есть возможность выполнить код, а также обратиться к XFS-менеджеру, то у нас есть полный контроль над периферией банкомата.


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

Ещё больше информации на DEEPWEB.

Мой второй канал о крипте.
Деньги решают всё.


Report Page