Pull to refresh

Исследование безопасности транспортной системы Тбилиси — или как кататься на транспорте и зарабатывать

Information Security *
Sandbox
Сразу спешу предупредить, что в Грузии нет аналога 327 статье УК РФ, поэтому все действия, описанные здесь, являются законными, пока не будет нанесен ущерб на сумму >2000 лари(~50000 рублей).

Стоит отметить, что сама идея была навеяна тремя другими статьями: «Тройка», «Подорожник», «Ситикард».

image

Транспортная система в Тбилиси несколько отличается от привычной для жителей России. Здесь вы не увидите трамваев или троллейбусов. Есть только автобус, метро, маршрутное такси и канатная дорога. Первое и второе вам обойдется в 50 тетри(~12,5 рублей), маршрутное такси — 80 тетри, а канатная дорога — 2 или 3 лари. Весь этот транспорт можно оплатить картой Metromoney.

Для исследования карты использовался Proxmark3. Первым делом определим тип rfid-метки:

image

Как видим, это — mifare classic 1k с 4-байтным uid. Proxmark поддерживает три типа атак на mifare classic: darkside, nested и hard nested. Эта карта уязвима ко всем трём в отличие от известной нам «Тройки» и «Подорожника». Атака эта давно известна, описана она была ещё в далеком 2009.

Следующим шагом будет проверка карты набором стандартных ключей:

image

В результате мы находим стандартный ключ — FFFFFFFFFFFFF. Затем переходим к самой nested attack:

image

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

image

Здесь отсутствует шифрование, значит всё, что нам остается сделать — это прописать в блоке значений, где стоит сумма 5 лари, любую нужную нам сумму(стоит помнить, что >2000 лари). Если вы захотите клонировать такую карту, клонировать нужно и uid карты, т.к. его хэш хранится в отдельном блоке. Какой-либо системы онлайн проверки карт здесь не существует, турникеты в метро как и турникеты на фуникулёре работают оффлайн, автобусы тоже. Грузия интересная страна, здесь есть терминалы оплаты, которые работают с транспортными картами оффлайн.

image
На фото крайний справа. На нём снизу видно специальное место, куда следует прикладывать rfid-метку

Можем поднести карту с любым нашим балансом и, он без каких-либо проблем отобразит её и предложит пополнить.

Также здесь есть небольшой нюанс, такую карту можно сдать в кассу с возвращением всей суммы на ней (!) и залоговой стоимости в течение 30 дней с момента покупки при предъявлении чека и самой карты.

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

image

Сама rfid-метка представляет из себя jcop41 с эмуляцией mifare classic 1k.

image

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

image

Как верно было подмечено пользователем 532CDCCC1022 все транспортные системы в той или иной степени небезопасны. Использование решений десятилетней давности делает их только более уязвимыми.

P.S. Все совпадения случайны, а указанные действия совершенны неким неназванным джедаем.
Tags:
Hubs:
Total votes 54: ↑54 and ↓0 +54
Views 42K
Comments Comments 27