MagSpoof - беспроводной спуфер кредитной карты / магнитной полосы

President

Professional
Messages
1,458
Reaction score
1,307
Points
113
  • Позволяет хранить все ваши кредитные карты и магнитные полосы на одном устройстве
  • Работает с традиционными считывателями магнитной полосы по беспроводной сети (не требуется NFC / RFID)
  • Можно отключить чип-и-PIN (код не входит в комплект)
  • Правильно предсказывает номера кредитных карт Amex + истечения срока действия предыдущего номера карты (код не включен)
  • Поддерживает все три дорожки на магнитной полосе и даже дорожки 1 + 2 одновременно
  • Легко построить с использованием Arduino или других распространенных деталей
MagSpoof - это устройство, которое может подделывать / имитировать любую магнитную полосу или кредитную карту. Он может работать «без проводов» даже со стандартными считывателями магнитных полос / кредитных карт, создавая сильное электромагнитное поле, имитирующее традиционные карты с магнитной полосой.

Примечание: MagSpoof не позволяет вам использовать кредитные карты, которые вы не имеете юридического права использовать. Информация о чипе и PIN- коде и Amex не реализована, и для использования MagSpoof вам необходимо иметь / владеть магнитными полосами, которые вы хотите эмулировать. Просто иметь номер кредитной карты и срок действия недостаточно для совершения транзакций. MagSpoof делает позволяешь проводить исследования в других областях magstripes, микроконтроллеров и электромагнетизма, а также узнать и создавать свои собственные устройства, аналогичные другие существующие, коммерческие технологии, такие как Samsung MST и монеты.

687474703a2f2f73616d792e706c2f6d616773706f6f662f6d657465722d736d616c6c322e676966

Визуализация данных магнитной полосы.

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

Живая демонстрация и подробности доступны в видео:

Релиз: 24 ноября 2015 г.

Исходный код / схема: https://github.com/samyk/magspoof

Как работают магнитные полосы
687474703a2f2f73616d792e706c2f6d616773706f6f662f69726f6e2d6f786964652d73686f72742d6c6f772e676966

Визуализация данных магнитной полосы.

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

На видео я фактически окунаю свою кредитную карту в пакет с оксидом железа. Магнитные элементы в магнитной полосе притягивают оксид железа, и, вытащив его, вы действительно можете увидеть каждый бит на дорожках. Финансовые карты с магнитными полосами могут иметь до трех дорожек, однако кредитные карты имеют только две дорожки (дорожки 1 и 2). Дорожка 2 хранит меньше битов, чем дорожка 1, поэтому имеет более низкую линейную плотность (бит на дюйм). Это значительно облегчает просмотр дорожки 2. Давайте взглянем:

687474703a2f2f73616d792e706c2f6d616773706f6f662f6d6167312e706e67

Магнитная полоса кредитной карты.

Лицевая сторона карты:
687474703a2f2f73616d792e706c2f6d616773706f6f662f63632d66726f6e742e6a7067

Магнитная полоса кредитной карты.

Как вы можете видеть на моей карточке, я написал биты над полосами. Две сплошные полосы - это 1, а полоса, за которой следует пробел, - это 0. Сначала давайте перевернем карту на 180 градусов (глядя на нее вверх ногами) и сначала прочитаем ее как младший бит. Мы игнорируем все начальные 0 до самой первой 1.

Дорожка 2 - это 5 бит на символ, сначала младший бит, а 5-й бит - это бит нечетной четности. Взяв каждые 5 бит и считывая первые 4 бита, мы теперь можем начать извлечение номера кредитной карты (и других данных, таких как срок действия, дискреционные данные, CVV / CVC / CSC / CID / CAV в зависимости от типа карты).

Обратите внимание, что CVV отличается от CVV2. CVV хранится на магнитной полосе, а CVV2 печатается на карте. (CVV специфичен для Visa, и у каждого эмитента есть собственное название, такое как CSC, CVC и т. д.)

687474703a2f2f73616d792e706c2f6d616773706f6f662f636369726f6e2e6a7067

Магнитная полоса кредитной карты.

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

MagSpoof также использует недорогие готовые детали (описанные в разделе «Аппаратное обеспечение»), и его можно собрать почти из ничего, кроме Arduino, провода и батареи! Я использую драйвер двигателя, чтобы обеспечить разумную мощность.

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

MagSpoof улучшает новые карты, такие как Coin. Я клиент Coin, и хотя мне нравится их приложение и карта, на самом деле карта работает очень небольшой процент времени. Изучив документацию Coin FCC, я заметил, что они используют две катушки для создания (очень маленького) электромагнитного поля, однако, к сожалению, этого очень мало, и карта работает менее 50% времени для меня.

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

Кроме того, если вы используете Chip-карту с Coin, вам все равно необходимо принести свою реальную кредитную карту, однако, поскольку MagSpoof может отключить Chip-and-PIN (см. Ниже), вам не потребуется приносить свою карту с ты.

Я удалил функцию отключения чипа и PIN-кода из MagSpoof.

Проблемы с безопасностью
Одна из основных проблем, которые я обнаружил, заключается в том, что некоторые из новых форм безопасности (ну, новые в США) устанавливаются в части «служебный код» магнитной полосы, в частности, в микросхеме и PIN- коде.

Сервисный код на магнитной полосе кредитной карты определяет несколько атрибутов карты, в том числе, может ли карта выдавать наличные, где она может работать (на национальном, международном уровне) и, что самое интересное, имеет ли карта встроенную микросхему (чип) и если он имеет штифт (Chip-and-PIN / EMV).

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

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

687474703a2f2f73616d792e706c2f6d616773706f6f662f73657276696365636f6465732e6a7067

Коды обслуживания кредитной карты.

Прогноз номера карты American Express
Первоначально к исследованию магнитных полос меня подтолкнула моя карта Amex. После потери карты и быстрой отправки мне новой карты Amex я заметил, что многие цифры совпадают. Я сравнил номера с несколькими другими картами Amex, которые у меня были, а затем сравнил их с более чем 20 другими картами и заменами Amex и нашел глобальную закономерность, которая позволяет мне точно предсказать номера карт American Express, зная полный номер карты, даже если заявлено о пропаже или краже.

Это означает, что если бы я получил вашу карту Amex, а вы назвали ее потерянной или украденной, в тот момент, когда вы получите новую карту, я узнаю номер вашей новой кредитной карты.

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

CID (также известный как CVV2 на Visa), напечатанный на карте, защищен секретным ключом 3DES, который шифрует PAN (номер основного счета, он же номер кредитной карты), код услуги (см. Выше) и срок действия. Код услуги можно легко определить, так как большинство карт будут содержать один и тот же код услуги.

Я также определил, что CSC (по сути, ведет себя как CID или CVV2 на магнитной полосе) для утерянной или украденной карты продолжает работать для новой прогнозируемой карты. Злоумышленник сможет использовать CSC украденной карты с предсказанным номером карты и сроком действия для совершения реальных покупок.

Чтобы действительно выполнить транзакцию, не вызывая подозрений, злоумышленник сможет использовать записывающее устройство на магнитную полосу (например, хорошо известный MSR605) или такое устройство, как MagSpoof, для «загрузки» недавно созданной информации карты на карту, такую как Coin. Сама Coin фактически не проверяет CID (CVV2), что позволяет злоумышленнику загружать данные, а затем использовать карту Coin лично, не зная CID и не используя эти различные проблемы, а также отключая Chip-and-PIN.

Я уведомил American Express о проблеме и не буду выпускать их алгоритм.

Аппаратное обеспечение
687474703a2f2f73616d792e706c2f6d616773706f6f662f6d616773706f6f662e6a7067

MagSpoof.

Atmel ATtiny85 (микроконтроллер)
Atmel ATtiny85 - это микроконтроллер для управления всей системой. В нем хранятся все данные о магнитной полосе / кредитной карте. В более тонкой версии размером с кредитную карту (толщиной 0,8 мм!) Я использую [ATtiny10].

L293D H-Bridge (драйвер двигателя)
Я использую H-образный мост L293D для привода электромагнита. L293D - это драйвер двигателя, но на самом деле двигатели приводятся в движение электромагнитом (-ами) и магнитами внутри них. Здесь должен работать любой стандартный драйвер. Технически L293D не работает при 3,7 В (напряжение LiPo батареи), но работает на удивление хорошо. В версии размером с кредитную карту я предлагаю использовать TI DRV8835 или TI DRV8833.

Магнитный провод 24AWG (катушка)
Я использую где-то около 24AWG магнитного провода в качестве катушки для создания электромагнитного поля. Этот кусок провода невероятно создает электромагнитное поле, которое заставляет устройство считывания карт поверить в то, что карта была протянута. Невероятный. Быстро контролируя поляризацию этого поля, считыватель магнитной полосы полагает, что перевернутые биты реальной карты проходят через считыватель.

100 мАч 3,7 В LiPo аккумулятор (мощность)
Наше устройство питается от небольшой липо-аккумуляторной батареи емкостью 100 мАч, 3,7 В. Для версии размером с кредитную карту (здесь не показана) я использую батарею от PowerStream.

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

ВЕЛ
Чтобы сигнализировать нам, когда мы передаем информацию. Я использую этот комплект светодиодов, так как в нем много разных светодиодов.

Резистор 100 Ом
Не перегорайте светодиод.

Мгновенный переключатель
Включите электромагнит.

Мини-Протоборд
Для того, чтобы спаять все вместе.

magspoof-schematic-dip.png

Схема MagSpoof (версия DIP).

Прошивка

MagSpoof
Исходный код и схему MagSpoof можно полностью получить из моего github: https://github.com/samyk/magspoof
MagSpoof совместим с фреймворком Arduino и может работать как на традиционных Arduinos, так и на чипах ATtiny.

Ресурсы
Вы можете узнать о магнитных полосах и кредитных картах из нескольких источников, в том числе:

Контактное лицо: @SamyKamkar

Вы можете увидеть больше его проектов на http://samy.pl
 
Top