> 운영 및 유지보수 > 안전 > Bluetooth를 사용하여 신용 카드 데이터를 얻는 방법

Bluetooth를 사용하여 신용 카드 데이터를 얻는 방법

王林
풀어 주다: 2019-11-29 17:47:25
앞으로
3221명이 탐색했습니다.

Bluetooth를 사용하여 신용 카드 데이터를 얻는 방법

FUZE 카드 소개

FUZE는 일반 신용카드와 동일한 크기의 IoT 기기입니다. 스마트폰 앱을 사용해 블루투스를 통해 FUZE 카드를 프로그래밍할 수 있습니다. 사용자가 신용 카드를 쉽게 관리하고 구성할 수 있도록 BrilliantTS는 eCARD Manager라는 애플리케이션도 출시했습니다. 결제가 필요한 경우 모바일 앱에서 사용할 신용카드를 선택해야 합니다. 선택이 성공적으로 완료되면 선택한 신용카드가 FUZE 카드와 동일해집니다.

그러나 연구를 통해 카드 추가 및 사용 프로세스의 보안이 어느 정도 신뢰할 수 없는 것으로 나타났습니다. FUZE는 처음으로 FUZE를 설정할 때 몇 가지 보안 보호 조치를 취합니다. 6자리 숫자입니다. 비밀번호이지만 이 단계는 건너뛸 수 있습니다. 암호를 구성하면 수동으로 잠금을 해제하거나 휴대폰이 카드 근처에 있을 때까지 장치가 잠긴 상태로 유지됩니다. 잠겨 있는 동안에는 카드의 데이터에 액세스하거나 자기 띠를 프로그래밍할 수 없습니다. 또한 사용자의 휴대폰이 블루투스를 통해 연결된 경우에만 카드를 사용할 수 있는 고급 보안 모드도 제공합니다.

X-ray 스캐닝 하드웨어 구조

일반적인 IoT 기기와 달리 FUZE 카드의 두께는 1mm 미만이므로 기기 내부 구조를 이해하기 위해서는 X-ray 스캐닝이 가장 적합합니다. 스캔한 구조도는 다음과 같습니다.

Bluetooth를 사용하여 신용 카드 데이터를 얻는 방법

메인 칩은 마이크로컨트롤러, 전자종이 드라이버, 블루투스 SoC로 구성되어 있으며 NFC, EMV 등 마더보드의 많은 기능은 아직 사용되지 않은 것을 알 수 있습니다. (기능적 지원은 추후 제공될 예정입니다.)

Bluetooth 프로토콜 역분석

FUZE 카드의 경우 Bluetooth 인터페이스가 역분석의 주요 대상입니다. 이를 위해 사용하려는 도구는 다음과 같습니다.

2.

Burp Suite

(선택 사항) 3. Gatttool/ BlueZ ;

블루투스 기기에서 블랙박스 테스트를 하려면 안드로이드폰이 필수입니다. 전화기에서 Bluetooth 통신 트래픽을 모니터링할 수 있을 뿐만 아니라 Java 바이트코드를 직접 분해할 수도 있습니다. HTTP 프록시로서 Burp는 ​​Android 앱과 백엔드 서버 간의 API 요청을 가로챌 수 있습니다. Android 칩에는 사용자가 개발자 설정 메뉴에서 설정할 수 있는 "HCI 스눕 로그"라는 기능이 있습니다. 이 기능을 사용하면 Bluetooth 활동에 대한 모든 정보를 앱과 장치 간의 모든 상호 작용 정보가 포함된 파일에 저장할 수 있습니다. . Wireshark는 HCI 스누프 로그 정보를 읽고 이에 대한 기본 필터링 및 분석을 수행할 수 있습니다. 데이터를 텍스트 파일로 내보내는 작업을 반자동화하기 위해 여기서는 Perl 스크립트를 사용합니다. 마지막으로 gatttool 또는 기타 BlueZ 도구를 사용하여 장치의 가장 직접적인 침투 분석을 수행하고 프로토콜 메시지를 이해할 수 있습니다.

Reverse FUZE

BLE 페어링 프로토콜이 취약하다는 것은 잘 알려져 있으며 대부분의 장치는 이를 기반으로 추가 보안 보호를 구현합니다. 마찬가지로 FUZE는 페어링되지 않은 장치로 데이터를 보내거나 BLE 연결 계층 암호화를 사용하지 않습니다. 따라서 gatttool은 페어링 없이는 FUZE에 요청을 보낼 수 없으므로 Android 기반 역분석 방법을 사용할 계획입니다.

1. Android에서 Bluetooth HCI snoop 기능을 활성화합니다. 2.

3. HCI 로그를 PC로 내보내기

5. Perl 스크립트를 사용하여 데이터 분석; 역분석 결과는 다음과 같습니다.

HCI snoop의 가장 좋은 점은 캡처하는 데이터가 특정 ASCII 문자열과 프로토콜 데이터 형식을 포함하는 하드웨어 Bluetooth 칩에 의해 암호화되기 전의 일반 텍스트 데이터라는 것입니다.

Exploit 및 PoC

참고: 공격자가 장치와 앱 간의 페어링 세션을 캡처할 수 있는 경우 무차별 공격을 통해 FUZE 카드의 페어링 숫자 PIN 코드가 해독될 수 있습니다.

먼저 bluetoothctl을 사용하여 장치를 검색하고 페어링해야 합니다.

1. bluetoothctl 시작: sudo bluetoothctl;

2. 에이전트 클라이언트 활성화(페어링용): 에이전트 켜기

3. 스캔 장비: 스캔

4. FUZE 카드로 스캔한 후 스캔을 비활성화합니다.

5. FUZE 카드와 페어링: ;

6. 기기에 표시된 숫자 PIN 코드를 입력하세요.

7. 연결 해제: 연결 해제 ;

Bluetooth를 사용하여 신용 카드 데이터를 얻는 방법

다음으로 gatttool을 사용하여 카드에 명령을 보낼 수 있습니다.

1. gatttool 시작: sudo gatttool -I -b ;

2 . : connect;

3. 구독 알림: char-write-req 1b 0100;

4. 전송 명령: char-write-req 18 ; 우리가 보낸 명령은 다음과 같습니다.

첫 번째 명령은 기기의 잠금 화면 기능을 우회할 수 있으며, 다음날 기기에 있는 첫 번째 신용카드 번호, 유효기간 및 CVV를 읽을 수 있습니다.

Bluetooth를 사용하여 신용 카드 데이터를 얻는 방법

요약

Bluetooth를 사용하여 신용 카드 데이터를 얻는 방법

이전에는 Apple Pay와 Samsung Pay가 있었고 나중에는 FUZE 스마트 카드가 있었습니다. 개인적으로 블루투스 신용카드는 그렇지 않다고 생각하지만, 결제 업계 전체가 카드리스 결제를 구현하기 위해 최선을 다하고 있습니다. 하지만 이미 존재하기 때문에 안전성을 확보할 수 있는 방법을 찾아야 합니다.

추천 관련 기사 및 튜토리얼: 웹 서버 보안

위 내용은 Bluetooth를 사용하여 신용 카드 데이터를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:freebuf.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿