Magspoof:一个模拟磁条卡设备的制作与测试

  • A+
所属分类:逆向工程

现在网上常见的设备大都是ID或是IC卡的研究设备,很少见到有关磁条卡的文章,其实磁条卡在我们日常中也是一种十分常见的卡,例如一些店的VIP卡·储值卡和一些门禁卡等。所以我们今天就来聊聊一个关于磁条卡安全的设备Magspoof

一.关于设备硬件上的一些想法

关于Magspoof这个设备的制作者是一位在Youtube著名的硬件黑客samy kamker的项目,是以教育为目的而在github上开源的项目,这个项目可以通过一个简单的编程完成磁条卡的模拟,这里是项目地址https://github.com/samyk/magspoof  

这个项目仅仅用到了一些电容电阻一个驱动线圈和一个tiny单片机就完成了,我在github上将文件下载下来后。惊喜的发现居然有画好的pcb开源,打开一看就是这个样子

Magspoof:一个模拟磁条卡设备的制作与测试

依照这个硬件上看,芯片的封装很大,线圈与板子不在一起,还要外加电源电池,这就很麻烦了,拿这个去测试就很显眼了所以就想为什么不把设备画成卡片呢?说干就干……….其实画起来很容易换个封装改个接线加点自己的创意,唯一麻烦的可能就是线圈了吧。下面这张图是我自己画的板子

Magspoof:一个模拟磁条卡设备的制作与测试在板子的后面加了2032电池片方便供电,自己感觉还不错。嘿嘿

漫长的打板,买元件焊接。焊接没有热风焊真的很麻烦。因为电池片的面积大受热不均很难焊接,下面是我焊接好的成品

Magspoof:一个模拟磁条卡设备的制作与测试硬件部分的修改就是改了外形加了供电将线圈与其一体化,方便携带与使用。

二.烧录器上的问题

因为硬件是tiny单片机所以烧录器用的是usbtinyisp,在某宝上看到了一种用attiny44制作的小型isp挺有趣的打算试一试

Magspoof:一个模拟磁条卡设备的制作与测试

结果这个小玩意的相关文件少的很,在测试的时候怎么也无法上传,随后我注意到硬件上那两个焊点,打开了SJFAB后可以正常使用了。当然为了方便也可以直接用普通的usbtinyisp或是arduino系列的其他板子。

三.编辑程序与上传

编辑程序

程序原文件是个c语言文件,直接复制到arduino上,找到程序里关于磁轨号码的部分

Magspoof:一个模拟磁条卡设备的制作与测试

修改这个就是修改需要模拟的磁条卡的卡号,程序只支持两个磁轨,更多的可以自己添加。就是如下两行

"%B123456781234567^LASTNAME/FIRST^YYMMSSSDDDDDDDDDDDDDDDDDDDDDDDDD?", // Track 1";123456781234567=YYMMSSSDDDDDDDDDDDDDD?" // Track 2

按照这种格式自己随便写一个测试一下,就像这样直接替换就行,上图所示

"%B1234444444444444^ABE/LINCOLN^291110100000931?", // Track 1";1234444444444444=29111010000093100000?" // Track 2

下面的变量是来调节卡片传输速度的

Magspoof:一个模拟磁条卡设备的制作与测试

#define CLOCK_US 200

200只能刷出第二条轨道,改成120能刷出第一条轨道。这个程序只是支持两个轨道,还有很多的磁条卡是三个轨道的,如果自己想添加到也不难。

程序上的修改到此结束

上传

先要在首选项里设置开发板下载地址如下图

Magspoof:一个模拟磁条卡设备的制作与测试Magspoof:一个模拟磁条卡设备的制作与测试添加的管理地址如下

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

Magspoof:一个模拟磁条卡设备的制作与测试在工具》开发板》开发板管理器里搜索attiny关键词,并且选择安装

Magspoof:一个模拟磁条卡设备的制作与测试

下载安装完成后选择对应的板子,为了性能好一点所以我用的是attiny85,因此以下用的都是attiny85。

选择attiny85处理器并且设置频率为8mhz,如下图

Magspoof:一个模拟磁条卡设备的制作与测试

选择编程器为USBtinyisp

Magspoof:一个模拟磁条卡设备的制作与测试最后编译一下代码无误就可以开始上传了

Magspoof:一个模拟磁条卡设备的制作与测试

上传成功我们就开始测试

三.测试

首先我们需要一个刷卡机例如这样的,这种是没有键盘的,带不带键盘都不影响测试

Magspoof:一个模拟磁条卡设备的制作与测试

板子上的电池要选用2032的3,6v锂电池普通3v的2032电池不足以供电

刷卡测试

Magspoof:一个模拟磁条卡设备的制作与测试

没问题,可以看到按下按钮是在记事本上输出了两个磁轨的内容。

四.发现的一些问题和改进的想法

当然还发现了画的板子一些问题与不足,第一点就是信号的问题,感应距离近,与原作者在视频中演示的相差不少毕竟板子的厚度有限,不能直接盘铜丝,改进很容易再画匝线圈就会更好了。第二点就是烧录器问题,用isp接口编程会在板子上留有排针,携带的时候多少有不便,况且还要准备烧录器不如将编程器画在板子上,然后留下micro接口。第三点就是上穿程序的问题,每次改号码都需要用电脑操作很不方便,不如用2.4g的蓝牙或wifi改卡方便。总之还有很多好想法等待实行,我也会抽时间陆续改进。

Magspoof:一个模拟磁条卡设备的制作与测试最后是一张合影~

Magspoof:一个模拟磁条卡设备的制作与测试

精彩推荐





Magspoof:一个模拟磁条卡设备的制作与测试
Magspoof:一个模拟磁条卡设备的制作与测试Magspoof:一个模拟磁条卡设备的制作与测试

Magspoof:一个模拟磁条卡设备的制作与测试Magspoof:一个模拟磁条卡设备的制作与测试Magspoof:一个模拟磁条卡设备的制作与测试

Magspoof:一个模拟磁条卡设备的制作与测试

本文始发于微信公众号(FreeBuf):Magspoof:一个模拟磁条卡设备的制作与测试

发表评论

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