0×00 前言

Proxmark3是由Jonathan Westhues在做硕士论文中研究Mifare Classic时设计、开发的一款开源硬件,可以用于RFID中嗅探、读取以及克隆等相关操作,如:PM3可以在水卡、公交卡、门禁卡等一系列RFID\NFC卡片和与其相对应的机器读取、数据交换的时候进行嗅探攻击,并利用嗅探到的数据通过XOR校验工具把扇区的密钥计算出来,当然PM3也能用于破解门禁实施物理入侵。

0×01 环境搭建

1.1 windows环境

PM3的固件和软件通常是配套使用,也就是说每个固件版本都有一个硬件的elf固件和与它对应的软件。

在RadioWar购买的PM3默认使用r486版本的固件(固件&App下载地址), 第一次使用需要在PC上安装PM3的驱动:

设备管理

更新驱动

信任驱动

安装成功

1.1.1硬件测试

在r486\Win32\目录中找到proxmark3.exe,将其拉入cmd窗口中,回车确认便进入了PM3的工作终端:

hw tune //测量天线的调谐
hw ver //打印显示Proxmark3的固件版本信息
hw reset //重置PM3

1.1.2 Bug

经测试,PM3兼容性、稳定性存在问题,导致经常崩溃,问题的原因个人猜测可能是r486版本固件问题,导致经常在windows平台崩溃。解决方案:升级固件、使用Linux平台,这些都将在文章的后续内容中分享。

1.2固件升级(本文以升级为848固件版本为例)

在r486\Win32目录中找到烧写PM3固件的工具:flasher.exe,将该文件拖入cmd窗口再敲个空格,接着在新固件848\firmware_win目录中找到fullimage.elf 也将其拖入cmd窗口:

回车确认等待一小会就ok了。

1.3 Linux

本文以kali为例,介绍如何在Linux中搭建PM3的工作环境。

apt-get update
apt-get install build-essential libreadline5 libreadline-dev libusb-0.1- libusb-dev perl pkg-config subversion
svn checkout http://proxmark3.googlecode.com/svn/trunk proxmark-trunk //由于这里是通过svn从谷歌克隆代码,执行这条命令的时候记得翻墙

cd proxmark-trunk/client
make

./proxmark3 /dev/ttyACM0 //进入PM3的工作终端
hw tune //测试设备

0×02 结语

环境搭建完毕,正如文章开头说到:PM3可以在水卡、公交卡、门禁卡等一系列RFID\NFC卡片和与其相对应的机器读取、数据交换的时候进行嗅探攻击,并利用嗅探到的数据通过XOR校验工具把扇区的密钥计算出来。先上两张图片:

本文先写到这里,后续会有RFID破解的案例分享,敬请期待。

扩展阅读

RFID Hacking:看我如何突破门禁潜入FreeBuf大本营

资料下载

Proxmark-Trunk代码包: http://pan.baidu.com/s/1dFyOFjN

PM3固件&学习资料:http://pan.baidu.com/s/1dFFJDdf

0×03 参考

https://www.trustwave.com/Resources/SpiderLabs-Blog/Proxmark-3,-now-with-more-Android/

www.proxmark.org

Google Play

RadioWar

Defcon23 RFID Hacking演讲Paper

RFID Cooking with Mifare Classic

RFID Hacking②:PM3入门指南的更多相关文章

  1. RFID Hacking④:使用ProxMark3 破解门禁

    文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 前言 国际黑客大会Defcon传统之一:开锁!因为黑客认为锁也是一种安全挑战.我们在黑客题材电影.电视剧中也常常 ...

  2. 史上最全!信息安全入门指南<转>

    以下所列出的链接均为在线文档,有志于信息安全的爱好者可由此作为入门指南. 背景知识 常规知识 Sun认证-Solaris 9&10安全管理员学习指南 PicoCTF资料 应用软件安全 OWAS ...

  3. [CTF] CTF入门指南

    CTF入门指南 何为CTF ? CTF(Capture The Flag)夺旗比赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式.CTF起源于1996年DEFCON全球黑客大会 ...

  4. Web API 入门指南 - 闲话安全

    Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...

  5. Vue.js 入门指南之“前传”(含sublime text 3 配置)

    题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴 ...

  6. yii2实战教程之新手入门指南-简单博客管理系统

    作者:白狼 出处:http://www.manks.top/document/easy_blog_manage_system.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文 ...

  7. 【翻译】Fluent NHibernate介绍和入门指南

    英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs ...

  8. ASP.NET MVC 5 入门指南汇总

    经过前一段时间的翻译和编辑,我们陆续发出12篇ASP.NET MVC 5的入门文章.其中大部分翻译自ASP.NET MVC 5 官方教程,由于本系列文章言简意赅,篇幅适中,从一个web网站示例开始讲解 ...

  9. 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍

    我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用, ...

随机推荐

  1. jQuery图片延迟加载插件jQuery.lazyload使用方法(转)

    使用方法 1.引用jquery和jquery.lazyload.js到你的页面 <script src="jquery-1.11.0.min.js"></scri ...

  2. hdu 1710 二叉树的遍历

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1710 大意:给出一个二叉树的前序和中序,求其后序遍历 ps:1.在写链表时,需要写明typedef str ...

  3. js中event.target,this

    event.target这是注册事件时的对象,或者它的子元素.通常用于比较 event.target 和 this 来确定事件是不是由于冒泡而触发的.经常用于事件冒泡时处理事件委托. 1.this和e ...

  4. Qt Charts

    简述 Qt Charts模块提供了一套易于使用的图表组件.它采用了Qt Graphics View框架,因此图表可以很容易地集成到现代的用户界面. Qt Charts可以被用作QWidgets.QGr ...

  5. JavaScript中给对象添加函数的方式

    1. function 类名(){ this.属性: } var 对象名=new 类名(): function 函数名(){ //执行代码 } 对象名.属性名=函数名: 对象名.属性名(): func ...

  6. hdu5882 Balanced Game

    题目链接:hdu5882 Balanced Game 题解:每种手势的攻防数一样,不难想到n为奇数时游戏平衡. #include<cstdio> #include<cstring&g ...

  7. OLE填充EXCEL

    先把基本的FORM写好: 1.行列属性 FORM row_column USING p_r p_width p_type. CASE p_type. WHEN 'R'. "行高 = p_r ...

  8. 循环语句while与for的穷举迭代

    循环语句while while当...的时候 int n=1; while(n<6)//在括号内直接限制逻辑关系 {//需要在大括号内给出改变方式,否则将进入死循环 console.WriteL ...

  9. thinkjs——空对象判断

    使用thinkjs来做后台的项目开发时,总免不了进行一些数据的唯一性校验,比如说:有这么一个页面,需要对钢厂的名称做一个校验,于是自己在后台做条件搜索时,一不小心用到了两种方法: 一个是find(), ...

  10. 面向对象编程(OOP)基础之UML基础

    在我们学习OOP过程中,难免会见到一些结构图~各种小框框.各种箭头.今天小猪就来简单介绍一下这些框框箭头的意思——UML. UML定义的关系主要有:泛化(继承).实现.依赖.关联.聚合.组合,这六种关 ...