论如何优雅地蹭饭:克隆篡改公司饭卡(M1卡)

  • A+
所属分类:硬件安全

最近借了Proxmark3来娱乐性的玩下RFID技术,工资甚低的我只好拿公司饭卡实验,优雅地蹭几顿。物业大叔表打我啊!以下操作纯属学习目的,初学难免错误较多,望斧正。

首先了解M1卡的结构:请参考http://bobylive.com/static/1491

实验设备:PM3及天线+饭卡+UID白卡

‍连接好设备后通过‍hwtune观察电压变化,‍判断高低频卡,Freebuf已有文章。

末放卡电压值

放卡后电压值

‍以上步骤可以无视,以下直接进入正题。

一、克隆卡

读M1的卡数据。记下UID号,用于之后复制一张UID一样的卡,sector0区其它厂商信息地方改不了就没办法了,写死了。所以这个数据区之后在数据对比会有点点差异,所以我们可以利用一张UID白卡完成克隆和修改,保证数据可对比性。

连接com3口 proxmark3COM3进入命令行

执行:hf14areader,记下UID:b39422d4后续克隆卡使用

获取区块1的A/Bkey

使用hfmfnested枚举其它区块key

可以看到,区块基本都使用的是默认的卡密。操作完之后,就可以把我们卡的原始数据dump出来,接着把dumpdate.bin文件备份,使用C32asm对数据进行个性。为了克隆卡及验证修改数据后是否可正常使用,先把卡上的姓名进行修改。

之后,我们把修改后的dumpdata.bin重新写入到UID白卡上,为防止检校UID,我们先把白卡的UID改掉。

命令:

hf mfcsetuid b39422d4

接着就可以将dumapdata.bin内容克隆到新卡上了。

使用命令:hfmfrestore 进行克隆。PM3灯闪一会就克隆完了。然后中午饭去刷下卡,修改姓名后的克隆卡正常使用。

二、优雅地篡改卡余额

中饭过后,刷了一次卡,然后这时第一时间就是dump出克隆卡的数据,将原卡数据与刷卡后的数据进行对比。使用bcompare对两次数据进行比对。

对比两次刷卡记录发现有两个区块的数据变化,同一次刷卡中,上面数据一至。猜测是作为备份数据使用。

其中红色框左边的 0e06换算成十进制就是1550,右边F005换算成十进制是1520。正好对应我的卡余额155以及刷卡后的152。说明这个位置是余额位。

绿色框框表示的是余额的检校位。两次数据对比很容易发现检校位的生成方式。

余额检校位算法:

OE+06=14
f0+05=f5

修改余额200.0转换十六进制:07D0

倒序写入  0627  检校位 2D

修改几处数据

运行hfmfrestore命令,重新写入白卡。

再次刷卡后:

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: