1.写在前面
让我们想象这样一个场景
一天,你因为要出去办点事情什么的。好了之后回到了你的小区楼下,你一摸口袋,靠!你的门卡不见了。应该是在哪里掉了。没有那么严格的物业可能和保安说几下就能进了,但是单元门呢?总不能在门口等着别人进去出来的时候跟着进去吧。
又或者,你在自建房那里有一间房子。想出租,一般自建房下面都有一个刷卡的大铁门。结果,狗租客把门卡弄丢了。好吧,扣押金是一回事,但是你不知道该去哪弄新的卡。
好吧好吧,靠人不如靠自己。那么接下来,我将会讲解如何复制卡片以及一些事项。
2.ID卡和IC卡
什么是ID卡?
ID卡一般只有一个卡号,没有数据扇区,一般ID卡是没有加密的,可以直接复制。常见的ID卡频率为125KHz,还有偏频:250KHz、375KHz、500KHz等等不多见。
来自IC卡ID卡简介【M1/S50,UID,CUID,FUID,UFUID和ID复制卡介绍】 – 射频技术学习 (rfidfans.com)
什么是IC卡?
IC卡定义:我们称频率为13.56MHz的智能感应卡称之为IC卡。它包括:M1/S50K卡、S70卡、CPU卡、模拟CPU卡,各种IC复制卡等频率为13.56MHz,这类卡可以被13.56MHz的读卡器识别,在日常生活中广泛使用!
来自IC卡ID卡简介【M1/S50,UID,CUID,FUID,UFUID和ID复制卡介绍】 – 射频技术学习 (rfidfans.com)
IC卡和ID卡比较:IC卡相对于普通的ID卡来说,IC卡可进行加密,比如用于金融级别的银行卡是CPU卡保密性好;容量大可储存多种数据等优点。ID卡一般就一个卡号,没有加密,可以直接通过专用复制机直接复制。
IC卡缺点:这里缺点指的是常用IC类型M1/S50卡本身的漏洞,导致现在破解M1/S50卡的技术趋向普及,容易被复制等缺点;但是其他IC类型,比如CPU,模拟CPU卡这类卡安全等级非常高,目前并没有这类卡的解密技术涌出!
复制卡介绍
ID复制卡:
普通的ID复制卡(5200、5577等),一般防火墙ID复制卡(8210、8211、8218等),高级防火墙ID复制卡(8268、8310等)。当然随着等级高,价格自然也高
来自IC卡ID卡简介【M1/S50,UID,CUID,FUID,UFUID和ID复制卡介绍】 – 射频技术学习 (rfidfans.com)
截至本文发布时,目前仅能在购物平台上找到5200和5577。价格平均是2元一张。
IC复制卡:
补充:IC卡有16个扇区,扇区0-15。每个扇区有4块,0-3块。其中,0-2块是数据块,3是控制块。
在0扇区0块中,包含卡号和厂家信息。0块的前8个字符即为卡号(a1363c80),在一些小区的门禁,通常只读取卡号。经本人实验,复制卡号而不复制厂家信息也能开门。
3块的ffffffffffffff为key,中间的078069为控制位。控制位左边的key为keyA,右边的为keyB。就是这些key加密了IC卡。
卡的类型:
M1卡:普通卡,就是物业给你的卡。0扇区0块不可写。
UID卡:普通复制卡,带后门指令,使用后门指令写入0扇区0块,不过防火墙。
CUID卡:普通过防火墙复制卡,可反复写入0扇区0块。不带后门指令。
FUID卡:高级过防火墙复制卡,只能写入一次0扇区0块,然后自动锁卡。
UFUID:高级过防火墙复制卡,与FUID不同的是,可以手动锁卡。
3.设备
目前主要有3个设备
1.普通复制器
普通的复制器,可以解ID、IC卡。密钥破解效果不尽人意。
2.Chameleon Mini
嗅探用的,在全加密卡下使用,然后得出一个密钥。带模拟功能。
3.Proxmark3
高级破解设备,具体功能我下个月买一个再补充。
4.复制
如果你已经在网上买了一个设备的话,大概率是这个软件。
然后,把你的卡放到上面,运气好的话,可以直接解出来,不加密。
然后,把你的原卡拿走。放复制卡上去,点击一键写卡
好了,这样你就有一张复制卡了。这是最简单的。
但是,如果你的卡是全加密呢?总不能靠这个小机器没日没夜的暴力破解吧。
这时候,你就要多购入一个设备了,Chameleon Mini。
ID卡复制
如果你的卡片是ID卡,那么只需要点击读写ID卡就可以了。
把原ID卡放上读卡器,点击读ID卡,你会得到一串数字,这就是卡号。
然后拿5577这些复制卡,把得到的卡号写入就可以了。
由于ID卡复制极其简单,所以本文围绕IC卡讲解。
5.嗅探
把你的Chameleon Mini连接到电脑,打开PCR532,点击变色龙GP。
你会看到下面这个,点击连接。
然后,我们进入变色龙设置。
我这里是设置过的,主要有两个设置,MF_CLASSIC_1K和MF_DETECTION_1K。
MF_CLASSIC_1K是模拟,把卡文件上传到变色龙上。因为有多个卡位,相当于多卡和一。
MF_DETECTION_1K是侦测,这也是主要功能。
这里先写有卡侦测
首先,要有原卡,放在变色龙上面。
设置到你要侦测的卡位,点击复制卡号。
然后,拿变色龙去刷卡。至少2次,不超过5次。
刷卡后把变色龙重新连接,点击上面的计算侦测结果。
一切顺利会给出一个密钥,保存到历史密钥后解卡会执行Hardnest破解,就可以读出所有密钥。
6.漏洞破解
有些全加密卡存在Darkside漏洞,不需要侦测也可破解。
Darkside漏洞 是一种针对 MIFARE Classic 卡片的攻击技术。我们可以把它想象成一种“魔术师揭秘”表演,魔术师通过观察和分析卡片的行为,找到一种方式来破解卡片的密码。
来自ChatGPT
Darkside漏洞的基本原理
随机数生成器的弱点:
MIFARE Classic 卡片在进行身份验证时,会生成一个随机数。
这个随机数是通过一个并不完美的随机数生成器(PRNG)生成的,因此生成的数字可以被预测。
身份验证过程:
当读卡器和卡片进行通信时,读卡器会发送一个挑战(挑战是一个随机数),然后卡片会使用这个挑战生成一个响应。
如果卡片的响应正确,读卡器就会认为卡片是合法的。
Darkside攻击的步骤
发送请求:
攻击者(像魔术师一样)向卡片发送多个身份验证请求,目的是捕获卡片生成的多个响应。
捕获响应:
卡片每次生成的响应包含一些加密信息,攻击者通过捕获这些响应数据,尝试破解其中的密码。
分析响应:
攻击者使用捕获的数据和已知的明文(例如,卡片在验证失败时返回的NACK码)来推测卡片的密钥。
通过对比这些响应,攻击者可以逐步推测出卡片使用的密钥。
恢复密钥:
一旦攻击者收集了足够多的响应数据,他们就可以使用这些数据来推测出卡片的密钥。
得到密钥后,攻击者就可以对卡片进行任何操作,比如读写数据,甚至克隆卡片。
一个简单的比喻
想象你在玩一个密码锁的游戏,锁有很多齿轮,每次转动齿轮时,锁会发出不同的声音。这个锁的设计有点问题,有时候会发出一些特定的声音,表明你接近正确的组合。
发送请求:你不断尝试不同的组合(发送请求)。
捕获响应:每次尝试时,你注意到锁发出的声音(捕获响应)。
分析响应:通过分析这些声音,你逐渐找到了某种规律。
恢复密钥:最终,你推测出正确的组合(密钥),打开了锁。
在这个比喻中,锁就是 MIFARE Classic 卡片,发出的声音就是卡片的响应数据,你就是攻击者,通过不断尝试和分析,找到了正确的密钥。
总结
Darkside漏洞利用了MIFARE Classic卡片随机数生成器的弱点,通过捕获和分析卡片的响应数据,逐步推测出卡片的密钥。这个过程类似于通过反复尝试和观察找到密码锁的正确组合。
如果你用PCR532解卡,它会探测卡片有没有Darkside漏洞。如果有,就会执行MFUCK攻击。
MFUCK攻击会收集到其中一个key,然后继续使用Hardnest。
来自ChatGPT
什么是Hardnested攻击?
Hardnested攻击是一种针对MIFARE Classic卡片的高级攻击技术,用于恢复卡片的加密密钥。该技术利用了卡片的身份验证过程中的漏洞,通过复杂的计算和分析,逐步推测出卡片的密钥。
攻击原理
Hardnested攻击的核心思想是利用MIFARE Classic卡片中的随机数生成器(PRNG)和身份验证机制中的弱点,通过捕获和分析读卡器与卡片之间的通信数据,逐步推测出卡片的密钥。
攻击步骤
获取初始密钥:
通常,攻击者需要首先获得一个初始密钥(Key A 或 Key B),这可以通过默认密钥或其他攻击方法(如Darkside攻击)获得。
发送请求和捕获响应:
攻击者使用设备(如Proxmark3)向卡片发送多个身份验证请求,每次请求中都包含一个随机数(称为挑战)。
卡片会对每个挑战生成一个响应,攻击者捕获这些响应数据。
分析PRNG的输出:
MIFARE Classic卡片的PRNG生成的随机数是可预测的。通过分析捕获的数据,攻击者可以推测出PRNG的初始状态和生成的随机数。
执行硬嵌套攻击:
攻击者利用捕获的响应数据和已知的密钥,通过复杂的计算(称为硬嵌套)逐步推测出更多的密钥。
这个过程需要大量的计算资源,但可以使用特定的软件工具(如mfkey32或mfkey64)自动化进行。
恢复所有密钥:
通过反复的计算和分析,逐步恢复卡片上所有扇区的密钥。最终,攻击者可以获得卡片上所有的密钥,从而完全控制卡片。
实际应用
假设攻击者已经知道某个扇区的密钥Key A。通过以下步骤,攻击者可以恢复其他密钥:
捕获身份验证数据:
使用Proxmark3与卡片进行通信,捕获读卡器发送的随机数(Nonce)和卡片生成的响应数据。
分析和推测:
使用工具(如mfkey32或mfkey64)对捕获的数据进行分析,推测PRNG的初始状态。
利用已知的密钥和推测出的随机数,逐步推测出更多的密钥。
验证和扩展:
使用推测出的密钥进行进一步的身份验证请求,捕获更多的响应数据。
重复上述分析和推测过程,逐步恢复卡片上所有扇区的密钥。
执行Hardnest破解后,成功即可解开卡片。
7.多卡合一
卡片太多?每次刷个东西都要拿出不同的卡?可以参考以下方案。
1.对于不同扇区的卡
有些卡的信息不在0扇区里,而是别的扇区。
假如有两张卡,一张卡只用0扇区,一张卡只用1扇区。那么找一张复制卡把它们的信息全部放在一起即可。用0扇区的放0扇区,用1扇区的放1扇区。
不过,现在基本每张卡都用到0扇区。
2.对于动手能力强的人
可以参考下面的视频,自己搓一张多卡合一的卡片。
https://www.bilibili.com/video/BV1sK411277R
3.对于普通人
买个变色龙,上面说过,有模拟功能,按键切换。
8.参考来源
NFC开发 —————ID卡、IC卡(M1卡、CPU卡)的区别(三)_nfc cpu卡-CSDN博客
变色龙侦测卡——ChameleonMini – Proxmark 实验室Proxmark 实验室 (echo.cool)