【免费】RFID之linux下利用PN532对M1卡(饭卡,公交卡,水卡,门禁卡等)破解教程
不知道为什么不能在编辑器里面上传图片,可能是禁止了吧,那我就用外部链接吧。
大家好,我是Wenien。
今天,纪念下我的卡片破解之教程,写下我的第一篇文章。
我的座右铭是:既然目标是地平线,留给世界的只能是背影。
————————————————————声明,我们只是技术交流,请遵守法律法规—————————————————————
下面开始吧。
这篇文章主要是讲 linux下的对IC卡(M1卡)的无线hack技术。
设备:硬件方面,PC机一台,PN532开发板一套。软件方面:mfoc,mfcuk。
本文用不到mfcuk的,我还是给大家科普下吧。
原理这些我不讲啦,讲应用吧。
mfoc,知道卡的一个密码,以超短时间破解其他所有密码。
mfcuk,通过随机数,暴力破解密码(别认为是随机数充当密码),一般30分钟内能破解,不能破解的话说明你运气不够,换个时间。
忍不住还是说说M1卡吧。
M1卡,一般国内喜欢用1K卡,1K卡里面有16个扇区,每个扇区有4个块,每个块有16个字节。第0块,第1块,第2块都是数据区域。第3块是keyA,控制段,keyB的存储区域,分别是6个字节,4个字节,6个字节。特别的,第0个扇区的第0个块是比较特殊的,里面是只读的,不可改的,存储的是厂家的一些信息。(有些卡就是通过这个区域产生随机密码然后让普通的M1空白卡不能复制,因为要复制只能复制除第0扇区第0块的东西啊。除非有神一般的第0扇区,第0块可写的M1卡,楼主有一张哦。)
因为这个无线破解楼主已经在很长一段时间搞了,所以一些软件的编译截图我没有,在下面先把代码贴出来吧。
1.因为楼主用的PC和PN532开发板要相连,而PN532用的是UART的串口,所以我用了一个USB转UART的板子,把两个东西连起来了。然后装些必要的驱动。
安装:libpcsclite-dev 和 libusb-dev安装:libccid 和 pcscd到googlecode里面下载libnfc-1.6.0-rc1.tar.gz
然后一条条执行下面命令,搞个sh也可以。下面这些指令不懂的话补补基础吧。然后执行下 libnfc 里面的 nfc-list 试试看(要把卡放在设备上面哦。)
看上面,成功安装好了。下面装mfoc-0.10.3,先到googlecode下个源码吧,然后执行如下命令。看看成功没,如下图:
下面开始破解.执行命令看见没,上面一部分的密码已经 FOUND了,因为卡里面有一些没用到的区域用了默认密码.
这个卡的一个默认密码是 ffffffffffff (所以大家也可用 ./mfoc -k ffffffffffff -O test.file 这个命令,感兴趣的朋友可以google一下).很多卡都有这个默认密码.下面在用探针探索中,很快就有结果了.
结果出来了.
有了结果我们可以怎样?有两种行径.第一,复制卡;第二,修改卡.
复制卡是最简单的,因为一般的 M1卡都不检索第0扇区第0块的数据.所以复制可行.如果你有一张10元的水卡,校园卡,工卡,或者门禁卡其他七七八八的卡(反正国内就那样都基本是1K的M1卡),你复制到另一张卡里面可以,你自己把数据导出来(有密码不就可以导出了吗...),用完10块,再把数据写进卡里面就可以了...当然这种是最没有技术含量的...我们是要数据分析的.
所以我们来到了第二种方式:数据分析,修改数据.
如果你们玩过单击游戏,用过修改器,作弊器,你们就会知道,我们分析数据大概的原理,就是看看哪里变了,刷刷卡,看看哪里变了.就大概可以了.只能说大概,变的数据不一定是我们的有用数据啊,因为做卡的厂家哪会这么笨啊,肯定会加点冗余数据来校验的啊.当然一般这些校验的数据都是通过有用的数据的 加 与 或 非 异或 形成的,CRC貌似比较少.然后有些是固定冗余,不用理.
对于上面那个图.我发现了数据段,那个有密码的那个扇区的控制块我就不说了,那个控制块的4个字节说明了整个扇区有keyA控制.要理解更多东西,大家还是要懂M1的原理的啊.可以看下M1的文档哈.
上面那个图的红色画圈圈的区域是数据段
我们可以通过修改数据段改变卡的金额值.楼主确实是成功了....从10几块数据变成了99块.当然,一切都是测试,不要干坏事哈.(楼主用的什么卡大家就不要猜了.)
下面是数据的导入:
命令是注意,前面那个 test.file 是代表你的含有密钥的文件,可以认为是 mfoc 导出来的文件.后面那个test.file 是你要写入的文件.两个文件是一样的,不过代表的意义不同.
下面是导入成功的图片.(get20是我修改后的导出来的文件,相当于text.file修改后的文件)
破解到这里结束吧.
下面给个安装mfcuk的方法吧.ps:make前修改src/Makefile,将LIBNFC_LIBS的值复制到LIBS后面
忘了提醒大家,那个googlecode因为是开源的,所以很多 mfoc 和 mfcuk 代码都不完全正确,我记得最新版的mfoc和mfcuk(建立在libnfc 1.7 平台的) 好像是在某个 c文件里面漏了个 & 的,就是指针出错了,导致编译不成功.
(linux下的mtPaint工具还是不错的,图片处理助手啊.)
最后,谢谢大家看我的文章哈.
All by Wenien
大家好,我是Wenien。
今天,纪念下我的卡片破解之教程,写下我的第一篇文章。
我的座右铭是:既然目标是地平线,留给世界的只能是背影。
————————————————————声明,我们只是技术交流,请遵守法律法规—————————————————————
下面开始吧。
这篇文章主要是讲 linux下的对IC卡(M1卡)的无线hack技术。
设备:硬件方面,PC机一台,PN532开发板一套。软件方面:mfoc,mfcuk。
本文用不到mfcuk的,我还是给大家科普下吧。
原理这些我不讲啦,讲应用吧。
mfoc,知道卡的一个密码,以超短时间破解其他所有密码。
mfcuk,通过随机数,暴力破解密码(别认为是随机数充当密码),一般30分钟内能破解,不能破解的话说明你运气不够,换个时间。
忍不住还是说说M1卡吧。
M1卡,一般国内喜欢用1K卡,1K卡里面有16个扇区,每个扇区有4个块,每个块有16个字节。第0块,第1块,第2块都是数据区域。第3块是keyA,控制段,keyB的存储区域,分别是6个字节,4个字节,6个字节。特别的,第0个扇区的第0个块是比较特殊的,里面是只读的,不可改的,存储的是厂家的一些信息。(有些卡就是通过这个区域产生随机密码然后让普通的M1空白卡不能复制,因为要复制只能复制除第0扇区第0块的东西啊。除非有神一般的第0扇区,第0块可写的M1卡,楼主有一张哦。)
因为这个无线破解楼主已经在很长一段时间搞了,所以一些软件的编译截图我没有,在下面先把代码贴出来吧。
1.因为楼主用的PC和PN532开发板要相连,而PN532用的是UART的串口,所以我用了一个USB转UART的板子,把两个东西连起来了。然后装些必要的驱动。
安装:libpcsclite-dev 和 libusb-dev
apt-get install libpcsclite-dev libusb-dev
apt-get install libusb-0.1-4 libpcsclite1 libccid pcscd
然后一条条执行下面命令,搞个sh也可以。下面这些指令不懂的话补补基础吧。
tar xzvf libnfc-1.6.0-rc1.tar.gz
cd libnfc-1.6.0-rc1/
autoreconf -vis
./configure --with-drivers=pn532_uart --enable-serial-autoprobe
make clean
make
make install
ldconfig
看上面,成功安装好了。下面装mfoc-0.10.3,先到googlecode下个源码吧,然后执行如下命令。
tar xzvf mfoc-0.10.3.tar.gz
cd mfoc-0.10.3
./configure
make
下面开始破解.执行命令
./mfoc -K -O test.file
这个卡的一个默认密码是 ffffffffffff (所以大家也可用 ./mfoc -k ffffffffffff -O test.file 这个命令,感兴趣的朋友可以google一下).很多卡都有这个默认密码.下面在用探针探索中,很快就有结果了.
结果出来了.
有了结果我们可以怎样?有两种行径.第一,复制卡;第二,修改卡.
复制卡是最简单的,因为一般的 M1卡都不检索第0扇区第0块的数据.所以复制可行.如果你有一张10元的水卡,校园卡,工卡,或者门禁卡其他七七八八的卡(反正国内就那样都基本是1K的M1卡),你复制到另一张卡里面可以,你自己把数据导出来(有密码不就可以导出了吗...),用完10块,再把数据写进卡里面就可以了...当然这种是最没有技术含量的...我们是要数据分析的.
所以我们来到了第二种方式:数据分析,修改数据.
如果你们玩过单击游戏,用过修改器,作弊器,你们就会知道,我们分析数据大概的原理,就是看看哪里变了,刷刷卡,看看哪里变了.就大概可以了.只能说大概,变的数据不一定是我们的有用数据啊,因为做卡的厂家哪会这么笨啊,肯定会加点冗余数据来校验的啊.当然一般这些校验的数据都是通过有用的数据的 加 与 或 非 异或 形成的,CRC貌似比较少.然后有些是固定冗余,不用理.
对于上面那个图.我发现了数据段,那个有密码的那个扇区的控制块我就不说了,那个控制块的4个字节说明了整个扇区有keyA控制.要理解更多东西,大家还是要懂M1的原理的啊.可以看下M1的文档哈.
上面那个图的红色画圈圈的区域是数据段
我们可以通过修改数据段改变卡的金额值.楼主确实是成功了....从10几块数据变成了99块.当然,一切都是测试,不要干坏事哈.(楼主用的什么卡大家就不要猜了.)
下面是数据的导入:
命令是
nfc-mfclassic w a test.file test.file
下面是导入成功的图片.(get20是我修改后的导出来的文件,相当于text.file修改后的文件)
破解到这里结束吧.
下面给个安装mfcuk的方法吧.
tar xzvf mfcuk
cd mfcuk
autoreconf -is
./configure
make
忘了提醒大家,那个googlecode因为是开源的,所以很多 mfoc 和 mfcuk 代码都不完全正确,我记得最新版的mfoc和mfcuk(建立在libnfc 1.7 平台的) 好像是在某个 c文件里面漏了个 & 的,就是指针出错了,导致编译不成功.
(linux下的mtPaint工具还是不错的,图片处理助手啊.)
最后,谢谢大家看我的文章哈.
All by Wenien
评论96次
学xi了`~~拿交通卡试试
不懂我们这里的学校合适否
这种好文章第一次发现
公交卡~~~
挺不错的东西。
似乎某公司的人 也搞过这个
终于免费了,
收藏之~~
坐等
你说的后面跟个自定义的不一定是默认的密码的…… 说来说去还是基于默认密码破解 没看出是别的什么原理啊 我PM你也不回复 伤心啊 一起交流交流嘛
一直有.
想得美......
那意思是小k后面跟一个随便的密码然后就能猜解出正确的?
扇区上的数据读取和写入,啥子原理
一张图都木有啊
建议你你看看嵌套认证机制。。。 -k 密码 // 这是两种方式 ,一个 大K 一个小k ,小k 跟的是一个你定义的密码,并不一定是默认密码 -K // 大K的话就有很多默认密码遍历猜解。
mfoc我没用过,不过一开始的test.file是什么命令导出的,这个文件应该是是卡的数据吧?密码还没破解怎么导出的数据呢? ./mfoc -k ffffffffffff -O test.file -k参数后面的解释好像是基于默认的那些密码破解的吧? 你开始提到mfoc知道一个密码来破解其他密码不对吧?应该都是基于默认密码破解的吧? 很多是不检测0块的,但我就碰见过,是小区门禁,开始只复制了出0块以外的,结果不行,然后用UID卡全卡复制就没问题了 UID卡不稀奇淘宝有很多卖的,需要可以去radiowar的淘宝店买,呵呵 mfcuk那个随机数破解不知道破解成功率怎么样?
@xlk111 无
等 免费
求分享!!!