关于树莓派对nfc破解

 

基础准备近来闲来无事,遂把手边的树莓派做成了一个便携的NFC破解工具使用的是树莓派B+,NFC读卡器使用的是...



基础准备

近来闲来无事,遂把手边的树莓派做成了一个便携的NFC破解工具

使用的是树莓派B+,NFC读卡器使用的是ACR122U,安装了ACR122U的驱动,使用的是GNU LibNFC作为读写软件,使用mfoc作为破解软件

具体硬件如下



相关软件下载地址:

raspbian-jessie-lite

https://downloads.raspberrypi.org/raspbian_lite_latest

Win32DiskImager

https://sourceforge.net/projects/win32diskimager/files/latest/download

龙杰ACR122U读卡器Linux驱动

http://www.acs.com.hk/download-driver-unified/5864/ACS-Unified-PKG-Lnx-112-P.zip

LibNFC

http://dl.bintray.com/nfc-tools/sources/libnfc-1.7.1.tar.bz2

mfoc

https://mfoc.googlecode.com/files/mfoc-0.10.6.tar.gz

操作系统

操作系统方面我使用的是Raspbian ,版本为2016-02-26-raspbian-jessie-lite

使用Win32DiskImager把镜像写入到TF卡中,为了能够让树莓派开机的时候把图像输出到HDMI,需要修改写入后的一个配置文件,该文件在镜像写入后,电脑上有个名为boot的60M的分区

编辑里面的config.txt



将选中这行的注释去掉



Shell

# For more options and information see# http://www.raspberrypi.org/documentation/configuration/config-txt.md# Some settings may impact device functionality. See link above for details# uncomment if you get no picture on HDMI for a default "safe" modehdmi_safe=1# uncomment this if your display has a black border of unused pixels visible# and your display can output without overscan#disable_overscan=1

# For more options and information see# http://www.raspberrypi.org/documentation/configuration/config-txt.md# Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" modehdmi_safe=1 # uncomment this if your display has a black border of unused pixels visible# and your display can output without overscan#disable_overscan=1

然后把卡插入树莓派,给小派加电,启动操作系统

基础配置

首先是需要给小派配置一个IP地址,以便于远程SSH的访问,我这里配置的IP地址为192.168.100.2 ,网关为192.168.100.254

编辑/etc/network/intarfaces

添加如下内容

Shell

vi /etc/network/intarfaces# ----------------auto eth0
iface eth0 inet staticaddress 192.168.100.2netmask 255.255.255.0gateway 192.168.100.254

vi /etc/network/intarfaces# ----------------autoeth0
ifaceeth0inetstatic
address 192.168.100.2
netmask 255.255.255.0
gateway 192.168.100.254

然后重启网络,就可以使用ssh访问了

Shell

service networking restart

servicenetworkingrestart

使用ssh连接小派,账号为pi ,密码为raspberry ,因为我个人比较习惯使用root进行操作,所以这里我登陆上去之后更改了root的密码,开启了ssh的root登陆

Shell

$ sudo su
passwd root# 输入预设置的root密码

$ sudosu
passwdroot# 输入预设置的root密码

然后修改ssh配置文件,编辑/etc/ssh/sshd_config

Shell

vi /etc/ssh/sshd_config# ----------------# 28行,改为PermitRootLogin yes

vi /etc/ssh/sshd_config# ----------------# 28行,改为PermitRootLoginyes

然后重启ssh服务

Shell

service ssh restart

servicesshrestart

接下来,设置小派的软件源,我这里使用的是阿里云的源修改 /etc/apt/sources.list

Shell

vi /etc/apt/sources.list# ----------------deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib

vi /etc/apt/sources.list# ----------------debhttp://mirrors.aliyun.com/raspbian/raspbian/ jessiemainnon-freecontrib
deb-srchttp://mirrors.aliyun.com/raspbian/raspbian/ jessiemainnon-freecontrib

然后进行更新

Shell

apt-get updateapt-get upgrade

apt-get updateapt-get upgrade

然后安装vim等工具

Shell

apt-get install -y vim

apt-get install -y vim

配置NFC读取环境

首先是安装ACR122U的驱动将ACS-Unified-PKG-Lnx-112-P.zip上传至小派,然后解包,使用dpkg安装

Shell

unzip ACS-Unified-PKG-Lnx-112-P.zip
cd acsccid_linux_bin-1.1.2/raspbian/jessie/
dpkg -i libacsccid1_1.1.2-1~bpo8+1_armhf.deb

unzipACS-Unified-PKG-Lnx-112-P.zip
cd acsccid_linux_bin-1.1.2/raspbian/jessie/
dpkg -i libacsccid1_1.1.2-1~bpo8+1_armhf.deb

然后安装libnfc首先安装编译环境,然后将libnfc-1.7.1.tar.bz2上传至小派,解包,进行编译安装

Shell

apt-get install make gcc libusb-dev libpcsclite-dev
tar -jxvf libnfc-1.7.1.tar.bz2
cd libnfc-1.7.1/
./configure --with-drivers=acr122_usb --prefix=/usr --sysconfdir=/etc

make
make install

apt-get installmake gcclibusb-devlibpcsclite-dev
tar -jxvflibnfc-1.7.1.tar.bz2
cd libnfc-1.7.1/
./configure --with-drivers=acr122_usb --prefix=/usr --sysconfdir=/etc
make
make install

然后编译安装mfoc,将mfoc-0.10.6.tar.gz上传到小派,解包,进行编译安装

Shell

apt-get install autoconf checkinstall
tar -jxvf mfoc-0.10.6.tar.gz
cd mfoc-0.10.6/
autoreconf -vis
./configure
make
checkinstall -D -y --install
make install

apt-get installautoconfcheckinstall
tar -jxvfmfoc-0.10.6.tar.gz
cd mfoc-0.10.6/
autoreconf -vis
./configure
make
checkinstall -D -y --install
make install

然后禁用掉pn533的内核模块,不然小派是没办法去识别ACR122U的

Shell

modprobe -r pn533 nfc
vi /etc/modprobe.d/fbdev-blacklist.conf# ----------# 末尾加入blacklist pn533 nfc

modprobe -r pn533nfc
vi /etc/modprobe.d/fbdev-blacklist.conf# ----------# 末尾加入blacklistpn533nfc

然后将ACR122U连接到小派,查看一下是否识别

Shell

nfc-list

nfc-list



进行破解

我这里随便问同事要了张Mifare 1K的卡,先用手机上的MCT进行读取,发现扇区1加密,没办法读取,其他扇区是可以成功读取的,尝试使用mfoc进行破解



把卡片放到ACR122U上



键入如下命令开始破解,破解完成之后保存的文件名为mycard.mfd

Shell

mfoc -P 50 -T 30 -O mycard.mfd

mfoc -P 50 -T 30 -O mycard.mfd



大约等了10分钟左右,破解完成!



查看一下mycard.mfd,卡中数据已经完全可以看到了


    关注 LIUSE网络安全联盟


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册