如何使用NFCGate对Android进行NFC安全研究

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

如何使用NFCGate对Android进行NFC安全研究

NFCGate

NFCGate是一款针对Android端应用程序的安全审计工具,该工具旨在帮助广大研究人员捕捉、分析和修改Android平台下的NFC流量。本质上来说,NFCGate是一款安全研究工具,可以帮助我们对协议进行逆向工程分析,或对协议进行安全性评估与审计。

需要注意的是,该工具的开发仅供安全研究目的使用,请不要将其用于恶意目的。

功能介绍

设备内捕捉:捕获设备上运行的其他应用程序发送和接收的NFC流量。

中继:使用服务器在两个设备之间中继NFC通信。一个设备作为读取NFC标签的“读卡器”运行,另一个设备使用主机卡仿真(HCE)来模拟NFC标签。

重放:以“读卡器”或“标记”模式重放先前捕捉到的NFC流量。

克隆:克隆初始标签信息(如ID)。

pcapng导出捕捉到的NFC流量,Wireshark可读。

特定模块依赖

NFC支持;

Android 4.4+(API Level 19+);

EdXposedXposed,设备内捕捉、中继标签模式、重放标签模式和克隆模式;

ARMv8-A和ARMv7:中继标签模式、重放标签模式和克隆模式;

HCE:中继标签模式、重放标签模式和克隆模式;

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/nfcgate/nfcgate.git

工具使用

代码构建

初始化子模块:

git submodule update --init

接下来,使用Android Studio或Gradle完成代码构建。

操作模式

针对每一种操作模式,我们在项目内的doc/mode/目录下都提供了详细的操作指引:

设备内捕捉

中继

重放

克隆

设备内捕捉模式

在导航条中切换至“Capture Mode”(捕捉模式);

按下“Begin Capture”按钮开始捕捉并记录NFC流量;

切换至目标第三方应用程序;

使用第三方应用程序的NFC功能;

切换回NFCGate;

按下“Stop Capture”按钮停止捕捉NFC流量;

捕捉到的NFC流量可在Logging中查看到,在这里我们可以将其以pcapng文件格式导出。

中继模式

在导航条中进入“Settings”设置界面;

指定主机名、端口和会话;

确保服务器应用程序处于运行中,并且可通过网络访问;

在导航条中切换至“Relay Mode”(中继模式);

点击“Reader”或“Tag”,其中一台设备为“Reader模式”,另一台则为“Tag模式”;

连接建立成功后,应用程序将显示绿色状态指示;

记录下的NFC流量可在Logging中查看到,可供后续分析使用。

如何使用NFCGate对Android进行NFC安全研究

重放模式

在导航条中切换至“Replay Mode”(重放模式);

选择需要重放的会话;

点击“Reader”或“Tag”来重放对应的会话流量;

新的NFC流量可在Logging中查看到,可供后续分析使用。

克隆模式

在导航条中切换至“Clone Mode”(克隆模式);

扫描一个标签;

手机将会克隆标签信息;

在被另一个Reader读取时,手机将会以克隆的标签信息进行响应;

标签信息也可以保存并可供后续分析使用。

Pcapng导出

捕获的流量能够以pcapng文件格式导出或从中导入,比如说我们也可以使用Wireshark来对捕捉到的NFC流量进行进一步分析。【参考文档

使用的代码库

xHook

Xposed Bridge

LibNFC-NCI

Protobuf

Android About Page·Android Device Names

Android Support library - preference v7 bugfix

Android Room

Android Lifecycle

项目地址

NFCGate:【GitHub传送门

参考资料

https://github.com/nfcgate/nfcgate/blob/v2/doc/mode/OnDevice.md

https://github.com/nfcgate/nfcgate/blob/v2/doc/mode/Relay.md

https://github.com/nfcgate/nfcgate/blob/v2/doc/mode/Replay.md

https://github.com/nfcgate/nfcgate/blob/v2/doc/mode/Clone.md

https://github.com/nfcgate/nfcgate/blob/v2/doc/pcapng.md

精彩推荐





如何使用NFCGate对Android进行NFC安全研究
如何使用NFCGate对Android进行NFC安全研究如何使用NFCGate对Android进行NFC安全研究

如何使用NFCGate对Android进行NFC安全研究

如何使用NFCGate对Android进行NFC安全研究

如何使用NFCGate对Android进行NFC安全研究

如何使用NFCGate对Android进行NFC安全研究

本文始发于微信公众号(FreeBuf):如何使用NFCGate对Android进行NFC安全研究

发表评论

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