RFID Hacking②:PM3入门指南

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/
RFID Cooking with Mifare Classic
RFID Hacking②:PM3入门指南的更多相关文章
- RFID Hacking④:使用ProxMark3 破解门禁
文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 前言 国际黑客大会Defcon传统之一:开锁!因为黑客认为锁也是一种安全挑战.我们在黑客题材电影.电视剧中也常常 ...
- 史上最全!信息安全入门指南<转>
以下所列出的链接均为在线文档,有志于信息安全的爱好者可由此作为入门指南. 背景知识 常规知识 Sun认证-Solaris 9&10安全管理员学习指南 PicoCTF资料 应用软件安全 OWAS ...
- [CTF] CTF入门指南
CTF入门指南 何为CTF ? CTF(Capture The Flag)夺旗比赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式.CTF起源于1996年DEFCON全球黑客大会 ...
- Web API 入门指南 - 闲话安全
Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...
- Vue.js 入门指南之“前传”(含sublime text 3 配置)
题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴 ...
- yii2实战教程之新手入门指南-简单博客管理系统
作者:白狼 出处:http://www.manks.top/document/easy_blog_manage_system.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文 ...
- 【翻译】Fluent NHibernate介绍和入门指南
英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs ...
- ASP.NET MVC 5 入门指南汇总
经过前一段时间的翻译和编辑,我们陆续发出12篇ASP.NET MVC 5的入门文章.其中大部分翻译自ASP.NET MVC 5 官方教程,由于本系列文章言简意赅,篇幅适中,从一个web网站示例开始讲解 ...
- 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍
我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用, ...
随机推荐
- python 练习24
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串. 语法: for循环的语法格式如下: for iterating_var in sequence: statements(s) ...
- chrome浏览器下页面顶部出现一条空白解决
最近遇到页面在chrome浏览器下,顶部会出现一条空白的问题.后来知道是bom头的问题. 1.什么是bom头? BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑 ...
- var isObj = length === undefined || i
这个其实是因为你前面那个===是肯定为false导致的,所以执行到了i那一步了var length=undefined;var a=length===undefined || i;这样你不定义i也是不 ...
- MySQL学习笔记_1_MySQL数据库管理系统概述
1. MySQL架构 C/S: client / server架构 MySQL DBMS(Data Bank Management System): 数据库管理系统 客户端 <---> 服 ...
- 判断jQuery元素是否隐藏
第一种:使用CSS属性 复制代码 代码如下: var display =$('#id').css('display'); if(display == 'none'){ alert("被 ...
- C++实现对树的创建和前中后序遍历
#include<iostream>#include<stdio.h> using namespace std; class BitNode{ public: char dat ...
- PowerDesigner中导出设计说明文档
点击下图的新建按钮,新建一个导出内容的模板 模板设计界面分为2栏,左边是可选的模板内容,右侧是模板,双击左侧条目会添加到右侧,最后生成的文件中就有此项内容. 已经添加到右侧的内容可以编辑,双击右侧的条 ...
- git的一个merge流程
git merge testSupport 合并testSupport分支代码到当前分支. 若无冲突发生,git commit -m "RM ID:5094",在git push即 ...
- PHP Mongodb 基本操作
<?php include "config/config.inc.php";$host = $config['host'];$port = $config['port']; ...
- 闲聊CSS之关于clearfix--清除浮动[转]
.clearfix:after { content: " "; display: block; clear: both; height:; } .clearfix { zoom:; ...