0×00 前言

RFID是Radio Frequency Identification的缩写,术语为射频识别,俗称电子标签。按照工作频率的不同,RFID标签可以分为低频(LF)、高频(HF)、超高频(UHF)和微波等不同种类。目前国际上广泛采用的频率分布于4种波段,低频(125KHz)、高频(13.54MHz)、超高频(850MHz~910MHz)和微波(2.45GHz)。

目前在实际应用中,比较常用的是13.56MHz、860MHz~960MHz、2.45GHz等频段。近距离RFID系统主要使用125KHz、13.56MHz等LF和HF频段,技术最为成熟;远距离RFID系统主要使用433MHz、860MHz~960MHz等UHF频段,以及2.45GHz、5.8GHz等微波频段,目前还多在测试当中,没有大规模应用。

低频:

低频段射频标签,简称为低频标签,其工作频率范围为30kHz~300kHz。典型工作频率有125KHz和133KHz。

低频标签一般为无源标签,其工作能量通过电感耦合方式从阅读器耦合线圈的辐射近场中获得。低频标签与阅读器之间传送数据时,低频标签需位于阅读器天线辐射的近场区内。

低频标签的阅读距离一般情况下小于1米。

中高频:

中高频段射频标签的工作频率一般为3MHz~30MHz。典型工作频率为13.56MHz。根据无线电频率的一般划分,这一工作频段又称为高频,所以也常将其称为高频标签。

中频标签的阅读距离一般情况下也小于1米。中频标签由于可方便地做成卡状,广泛应用于电子车票、电子遥控门锁控制器、小区物业管理、大厦门禁系统等。

0×01 PM3常用命令

1.1常用类

help     显示帮助. hw help 与 hw 是等价的。
data 图形窗口/缓冲区数据操作等等
exit 退出Proxmark3的终端环境
hf 高频相关命令
hw 硬件检测相关命令
lf 低频相关命令
quit 退出Proxmark3的终端环境等同exit hw tune 显示天线调谐
hw ver 显示硬件(固件)版本

1.2 low Frequency 低频类(LF)

lf 低频相关命令
help 显示帮助
cmdread <off> <''> <''> <命令> ['h'] -- 在读取之前发送命令来调整LF读卡器周期(以微妙为单位)('h'选项为134)
em4x EM4X卡类相关命令...
flexdemod 解调FlexPass样本
hid HID卡类相关命令...
indalademod [''] --解调Indala样本的64位UID(选项''是224位)
indalaclone [UID] ['l']-- 克隆Indala到T55x7卡 (标签必须在天线上)(UID为16进制)(选项'l'表示224位UID)
read ['h'] -- 读取125/ kHz的低频ID标签(选项'h'是134)
sim [GAP] -- 从可选GAP的缓冲区模拟低频标签(以微秒为单位)
simbidir 模拟低频标签(在读卡器和标签之间双向传输数据)
simman <时钟> <比特率> [GAP] 模拟任意曼彻斯特低频标签
ti TI卡类相关命令...
hitag Hitag标签与应答相关…
vchdemod ['clone'] - 解调VeriChip公司样本
t55xx T55xx卡类相关命令...
PCF7931 PCF7931卡类相关命令...

1.3 High Frequency 高频类(HF)

hf 高频相关命令
help 显示帮助
14a ISO14443A卡的相关命令...
14b ISO14443B卡的相关命令...
ISO15693卡的相关命令...
epa 德国身份证的相关命令...
legic LEGIC卡的相关命令...
iclass ICLASS卡的相关命令...
mf MIFARE卡的相关命令...
tune 连续测量高频天线的调谐

1.3.1 hf 14a 【ISO14443A卡的相关命令】

hf 14a help     显示帮助
hf 14a list 列出窃听到的ISO14443A类卡与读卡器的通信历史记录
hf 14a reader 读取ISO14443A类卡的UID等数据
hf 14a cuids 收集指定数目的随机UID,显示开始和结束时间。
hf 14a sim <UID> -- 模拟ISO14443A类标签
hf 14a snoop 窃听ISO14443A类卡与读卡器的通信数据
hf 14a raw 使用RAW格式命令发送指令到标签

1.3.2 hf 14b 【ISO14443B卡的相关命令】

hf 14b help     显示帮助
hf 14b demod 调制ISO14443B协议的标签
hf 14b list 列出窃听到的ISO14443B类卡与读卡器通信历史记录
hf 14b read 读取ISO14443B类卡的信息
hf 14b sim 模拟ISO14443B类标签
hf 14b simlisten 从高频样本中模拟ISO14443B类标签
hf 14b snoop 监听ISO14443B类卡与读卡器之间的通信数据
hf 14b sri512read <int> -- 读取SRI512标签的内容
hf 14b srix4kread <int> -- 读取SRIX4K标签的内容
hf 14b raw 使用RAW格式命令发送指令到标签

1.3.3 hf 15 【ISO15693卡的相关命令】

hf  (ISO15693卡的相关命令...)
hf help 显示帮助
hf demod 调制ISO15693协议的标签
hf read 读取ISO15693类卡的信息
hf record 记录ISO15693标签样本
hf reader 作为ISO15693卡类的读卡器,读取UID等信息
hf sim 模拟ISO15693协议的标签
hf cmd 向ISO15693协议的标签直接发送命令
hf findafi 暴力一个ISO15693标签的AFI
hf dumpmemory 读取ISO15693标签的所有页内存数据

1.3.4 hf iclass 【ICLASS卡的相关命令】

hf iclass help     显示帮助
hf iclass list 列出窃听到的iClass类卡与读卡器的通信历史记录
hf iclass snoop 窃听iClass类卡与读卡器的通信数据
hf iclass sim 模拟iClass标签
hf iclass reader 读取iClass标签

1.3.5 hf mf 【MIFARE卡的相关命令】

hf mf help     显示帮助
hf mf dbg 设置默认调试模式
hf mf rdbl 读取MIFARE classic卡的区块数据
hf mf rdsc 读取MIFARE classic卡的扇区数据
hf mf dump 导出MIFARE classic卡的数据到二进制文件
hf mf restore 从二进制文件恢复数据到空白的MIFARE classic卡
hf mf wrbl 改写MIFARE classic卡的区块数据
hf mf chk 测试MIFARE classic卡的各个区块KEY A/B
hf mf mifare 基于PRNG漏洞,执行mifare “DarkSide”攻击操作
hf mf nested 测试嵌套认证漏洞,基于一个已知Key,获取都有扇区Keys
hf mf sniff 嗅卡片与读写器之间的通讯(等同于hf 14a snoop)
hf mf sim 模拟一个MIFARE卡片
hf mf eclr 清除仿真内存的各区块数据
hf mf eget 获取仿真内存的各区块数据
hf mf eset 设置仿真内存的各区块数据
hf mf eload 从导出的文件加载仿真数据
hf mf esave 导出保存仿真数据到文件
hf mf ecfill 利用仿真器的keys来填补仿真内存
hf mf ekeyprn 打印输出仿真内存中的keys
hf mf csetuid 直接设置可改UID卡的UID
hf mf csetblk 把对应区块数据写入UID卡
hf mf cgetblk 读取UID卡对应区块数据
hf mf cgetsc 读取UID卡对应扇区数据
hf mf cload 写入dump数据到UID卡。注意
hf mf csave 保存UID卡数据到文件或者仿真内存

0×02 QuickPass闪付

小科普:

“闪付”(Quick Pass)代表银联的非接触式支付产品及应用,具备小额快速支付的特征。用户选购商品或服务,确认相应金额,用具备“闪付”功能的金融IC卡或银联移动支付产品,在支持银联“闪付”的非接触式支付终端上,轻松一挥便可快速完成支付。一般来说,单笔金额不超过1000元,无需输入密码和签名。非接触式“闪付”终端,主要覆盖日常小额快速支付商户,包括超市、便利店、百货、药房、快餐连锁等零售场所和菜市场、停车场、加油站、旅游景点等公共服务领域。

支持NFC的安卓设备可通过支付宝、NFC生活通等App读取到闪付卡的最近十次消费记录:

接下来我们将演示如何在手机App读取银行闪付卡信息的时候进行嗅探&窃听。

演示流程:

1.使用NFC生活通判断银行闪付卡类型:标签-读取标签:

这里我们得到了标签类型:Mifare Classic 14443

2.根据标签类型,选择合适的嗅探命令:

hf mf sniff 实时显示嗅探到的数据
hf iclass snoop
hf 14a snoop

3.把银行卡放到PM3天线上,在手机读取银行卡信息前执行嗅探命令;

4.把手机紧贴银行卡,读取银行卡信息;

5.结束嗅探,列出&查看嗅探到的数据。

hf mf sniff 实时显示嗅探到的数据
hf iclass list
hf 14a list

6.对嗅探到的数据进行解码。

(解码Tips可参考《无线电安全攻防大揭秘》45-50页 )

0×03 演示视频

接下来以hf 14a系列命令进行演示:

屏幕录像:

全局录像:

0×04 参考&感谢

RedioWar : Proxmark3命令帮助

RFID Hacking③:使用ProxMark3嗅探银行闪付卡信息的更多相关文章

  1. 闪付卡(QuickPass)隐私泄露原理

    0×00 前言 说到闪付卡,首先要从EMV开始,EMV是由Europay,MasterCard和VISA制定的基于IC卡的支付标准规范.目前基于EMV卡的非接触式支付的实现有三个:VISA的payWa ...

  2. RFID Hacking④:使用ProxMark3 破解门禁

    文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 前言 国际黑客大会Defcon传统之一:开锁!因为黑客认为锁也是一种安全挑战.我们在黑客题材电影.电视剧中也常常 ...

  3. RFID Hacking②:PM3入门指南

    0×00 前言 Proxmark3是由Jonathan Westhues在做硕士论文中研究Mifare Classic时设计.开发的一款开源硬件,可以用于RFID中嗅探.读取以及克隆等相关操作,如:P ...

  4. 电子现金、电子钱包、qPBOC、闪付、UPCash

    一.关于金融IC卡领域的规范 由Europay.Mastercard.Visa三大国际信用卡组织联合制定的金融集成电路(IC)卡金融支付标准,称为EMV规范,其目的是为金融IC卡.金融终端.支付系统以 ...

  5. RFID Hacking–资源大合集

    原文: http://www.freebuf.com/news/others/605.html http://www.proxmark.org/forum/index.php RFID破解神器官方论坛 ...

  6. 基于xposed逆向微信、支付宝、云闪付来实现个人免签支付功能

    我的个人网站如何实现支付功能? 想必很多程序员都有过想开发一个自己的网站来获得一些额外的收入,但做这件事会遇到支付这个问题.目前个人网站通过常规手法是无法实现支付管理的,所有支付渠道都需要以公司的身份 ...

  7. Java 银联云闪付对接记录

    一开始盲目找资料走了弯路: 还是从银联给的官方文档入手最高效: 附件3:云闪付业务商户入网服务指引.pdf http://tomas.test.upcdn.net/pay/%E9%99%84%E4%B ...

  8. 云闪付个人免签支付用xposed解决强制升级

    云闪付的xposed程序之前用的是6.18的版本,前段时间突然不能用了,提示要升级到最新的7.0版本.之前这个云闪付的个人免签支付程序一直跑的挺好,云闪付也是所有免签支付里面最能跑量的,不甘就这么放弃 ...

  9. RFID Hacking①:突破门禁潜入FreeBuf大本营

    某天,偶然间拿到了FreeBuf Pnig0s同学的工卡信息,终于有机会去做一些羞羞的事情了 引子 以下故事纯属虚构,如有雷同,纯属巧合. 我应聘了一个大型IT公司的"网络攻击研究部经理&q ...

随机推荐

  1. 5.6 WebDriver API实例讲解(31-35)

    31.判断页面元素是否存在 public static void testElementExist(){ driver.get("http://www.sogou.com"); t ...

  2. Windows环境配置Apache+Mysql+PHP

    一.安装配置Apache2.4.7(httpd-2.4.7-win64-VC11.zip ) 1.解压下载的安装包:httpd-2.4.7-win64-VC11.zip将其放到自己的安装目录(我的目录 ...

  3. Junit4入门

    eclipse自带junit包,可右键直接新建junit类 静态引入:import static org.junit.Assert.* assert.*是类,静态引入会引入assert里的所有静态方法 ...

  4. iOS开发UIScrollView的底层实现

    起始 做开发也有一段时间了,经历了第一次完成项目的激动,也经历了天天调用系统的API的枯燥,于是就有了探索底层实现的想法. 关于scrollView的思考 在iOS开发中我们会大量用到scrollVi ...

  5. 去除DataTable重复数据的三种方法

    业务需求 最近做一个把源数据库的数据批次导出到目标数据库.源数据库是采集程序采集而来的原始数据库,所以需要对其进行一些处理(过滤一些为空,长度太短或太长,非法字符,重复数据)然后在进行入库. 其中要避 ...

  6. 报错解决:No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here

    大概分析一般使用了注解才会报这方面的错 1.没有在spring的ApplicationContext.xml中开启注解事务 <!-- 开启注解事务 --> <tx:annotatio ...

  7. Objective-C:Foundation框架-常用类-NSObject

    NSObject是所有类的基类,其常见用法有: #import <Foundation/Foundation.h> @interface Person : NSObject - (void ...

  8. tds 安装找不到已安装的DB2

    应该是没有安装ksh的问题,yum install ksh

  9. double int char 数据类型

    贴心的limits... 测试代码: #include <iostream> #include <stdio.h> #include <limits> #inclu ...

  10. 查询使用NoLock

    当我们在操作数据库的时候,无论是查询还是修改数据库的操作我们都习惯使用using(var db=new XXXDB()){},但是如果仅仅是做查询,最好是使用NoLock,因为NoLock使用的是共享 ...