通过破解固件,让三星手机变身NFC安全研究利器(一)nfc安卓linux

在本文中,我们将为读者介绍如何通过破解三星手的固件,让其变身为NFC安全研究的利器。

破解三星NFC芯片固件

最近,我一直在研究如何将我的旧智能手机玩出点新花样;同时,我这个人也怕麻烦,所以,最好仅仅通过获取root权限就能达成目标。众所周知,智能手机包含了大量的硬件,由于它们出厂前已经被锁定,所以,通常只能用于“常规”用途——既然我们要玩点新花样,我们不妨对其进行“深入”修改,把手机变成一个高效的安全研究工具。

Wi-Fi监听模式

对于标准无线网卡来说,通过其监听模式,就可以嗅探Wi-Fi流量并破解WPA密钥。也就是说,通过改变无线网卡的运行模式,我们就能在更低的级别上接收所有流量,从而获取大量以前无法获取的信息。

在智能手机上,我们可以通过多种方式实现上述目的。许多高通骁龙CPU都直接支持这个功能,如果已经破解了手机的root权限,则可以使用以下命令将手机设置为监听模式。

echo4>/sys/module/wlan/parameters/con_mode

对于高通芯片组来说,这个过程可能会稍微复杂一些,因为不仅需要给内核打补丁,还要对固件进行定制,值得高兴的是,网上有许多公开的资料可以帮助大家完成这些任务。

尽管许多基于Android的安全工具都对这一功能提供了直接的支持,但是,如果你有兴趣的话,也可以通过切换根目录的方式,亲自搭建利用这些功能的环境。

根目录切换

当我获取了手机的root权限的手机来说,都会将根目录切换到核心数据分区中。在基于Debian的操作系统中,可以通过“qemu-debootstrap”命令轻松地生成一个指定CPU架构和版本的Debian根文件系统。一般情况下,我们习惯于将所需的命令放到手机上的“/data/local/userinit.sh”文件中(一个通常在Android设备启动时运行的脚本),这样的话,就能在不影响Android内核操作系统的情况下,为这个切换过根目录的环境提供对手机硬件的访问权限,同时,还可以启动一个SSH服务器,以便直接进入这个环境。

mount-oremount,rw/data

mount--bind/proc/data/debian_arm64/proc

mount--bind/sys/data/debian_arm64/sys

mount--bind/dev/data/debian_arm64/dev

mountdevpts/data/debian_arm64/dev/pts-tdevpts

chroot/data/debian_arm64//bin/bash--login-c/usr/sbin/sshd&

USB设备仿真

Linux系统,特别是在嵌入式设备上的Linux系统,通常能够仿真一个USB设备。在安卓系统上,内核通常会针对用户非常有用的特定功能进行编译的;对于普通用户来说,这些功能包括MTP、PTP、tethering,对于更高级的用户来说,这些功能还包括ADB。这些通常是作为内核的一个静态功能来编译的,然后,根据设备的/sys/目录下的设备文件进行有限的修改即可。你可以通过下载手机内核的源代码(通常可以在网上找到),并改变配置来启用大量的模块,以实现各种各样的功能。

其中,我最喜欢的是GadgetFilesystem模块,这是一个允许操作系统的用户空间控制USB功能的模块。这样,只要配置正确,任何嵌入式Linux设备就可以像USB设备一样处理了。实际上,只要你能够用自己喜欢的编程语言来访问文件,就能达成上述目的。对于我来说,我更喜欢使用C语言来做这些事,比如模拟设备,或者利用USB堆栈的漏洞等。

NFC功能

对于Proxmarks、Chameleons以及其他入门工具来说,不仅能够通过NFC进行原始级别的通信,并且能够进行一些在手机(即便获得了root权限)上根本无法实现的攻击。原因在于,手机在通过NFC通信时,是通过与专门为此而构建的辅助芯片进行通信的。因此,我决定选择一部手机,看看能否通过修改其NFC芯片的固件,从而将一部标准智能手机变成NFC攻击工具。

三星S6——SM-G920F

我的第一个目标是三星S6,我打算拿它来做实验。我曾经研究过这个手机的功能,并修改过其内核,甚至用Debian替换过其Android操作系统,我觉得或许这次能够玩出一点新花样。

NFC控制器:S3FWRN5

经查,该芯片为S3FWRN5,这是一款2014年开发的芯片,在GalaxyS6和Note4手机中都使用了该款芯片。经研究表明,它的一个关键功能就是安全更新固件,这意味着在手机的文件系统的某个地方,很可能存在一个固件二进制文件。

虽然我设法在网上购买了一颗芯片,然而,我决定要从手机上完成所有的逆向工作,所以最终没有在项目中用到它们。

基本通信

当你在Android设备上查看硬件通信时,你就会发现,这与在任何嵌入式Linux设备上查看通信的方式没啥区别:通过ADB,导航到“/dev/”文件夹,并查看可用的设备文件。通过查看三星手机的内核源码,我很快就搞清楚了该芯片是如何与手机进行通信的,并注意到它是使用I2C进行通信的,并且GPIO引脚用于设置电源模式。这些在文件系统中很容易通过“/dev/i2c-*”和“/dev/gpio*”文件进行访问。

然而,我发现该芯片的内核驱动程序将其抽象为一个单一的设备文件“/dev/sec-nfc”,并且,这个文件是利用IOCTL来设置电源和模式的,并且可以通过写入和读取操作来发送和接收数据。

NCI通信

对于标准的NFC芯片来说,它们是使用称为NCI的标准协议进行通信的。该协议由基本的命令头构成,用于提取和限制功能,以降低交互的复杂性。每个NCI命令由以下元素组成。

GID:包含功能组标识符的字节(核心、射频、厂商特有特性等)。

OID:包含特定操作标识符的字节。

长度:包含参数长度的字节。

有效载荷:与操作有关的数据,最多为0xFC字节。

该协议的功能非常强大,通过将复杂的通信下沉到了芯片本身,从而有效降低了NFC操作的复杂性。

非标准NCI功能

NCI在协议中加入了一些扩展元素,从而帮助制造商在标准要求之外扩展其功能,如针对芯片的配置信息,或为芯片增加隐藏功能。

其中最关键的是组ID0xF。这个组是专门为厂商特定的命令而引入的,可以添加任何非标准功能。人们可以通过发送带有递增操作ID的命令和检查错误响应来暴力破解这些命令,即使它们没有被记录在文档中。在NCI中,这些函数是最有可能包含我们感兴趣的或含有安全漏洞的特性,因为它们没有文档化的标准。

下面就是一个很好的例子,三星的S3FWRN5会利用这些命令来设置通信频率值。

S3FWRN5的固件更新

据我所知,所有NFC芯片的固件更新都会使用自己的协议。虽然这些协议仍然使用与核心NCI通信相同的端点,就S3FWRN5来说,它使用的是I2C,但协议本身是不同的,并且经常需要进入到一个特殊的模式来执行这些操作。在S3FWRN5中,芯片是通过IOCTL进入引导加载器模式后,才能进行固件更新。

我发现,在手机的“/vendor/firmware/”分区中可以轻松找到固件更新文件,即“sec_s3fwrn5p_firmware.bin”文件。

固件更新协议分析

通过修改这些功能,我发现只要我在手机上启用NFC,就可以通过Logcat追踪固件更新过程。通过过滤这些数据,我就能够获得更新过程中每个方面的完整视图。

通过这个日志,可以轻松看出更新是如何进行的。它使用了一个四个字节的头部,然后是有效载荷数据。

0x00:命令类型

0x01:命令

0x02-0x03:有效载荷大小

0x04-0x100:有效载荷数据

我还注意到,每次交替命令都会设置传输的第一个字节的高位。

S3FWRN5固件文件分析

在考察了这些更新的细节后,我进一步深入研究了更新文件。在此过程中,我们看出了到哪些部分是元数据,哪些部分是值得研究的模拟更新。

在绿色的方框中,我注意到了大量的高熵字节,这很可能是一个加密签名,它的起始地址在元数据中被注明。签名的存在意味着这不仅仅需要进行逆向工程,同时还需要绕过签名机制。

最后,在蓝色的方框中,我注意到了这些数据更趋向一致,所以,这很可能是固件的起始地址。通过查看更新中发送的命令,也证实了这一点。这个固件代码的低熵意味着它也是未加密的。

确定CPU的架构

如果能够了解固件的架构的候,对我们的进展将会非常有利。由于这是一个原始的二进制文件,因此没有提供有关架构的任何细节或关于芯片的任何其他信息。根据我的猜测,该芯片很可能采用了8051架构,因为该架构经常在嵌入式NFC芯片中被发现;或者是ARMThumb架构,因为这是近年来嵌入式芯片组中最常用的架构。

所以,我决定先检查是是否为Thumb的代码,因为它有一个速记符,可以马上帮助我们了解该判断是否正确。Thumb中一个常见的操作是“BXLR”,这个操作用于在函数中返回没有推送或弹出任何寄存器的链接寄存器的分支。由于这种操作的性质,在Thumb固件中会大量出现。“BXLR”的操作码是0x700x47,用ASCII码表示为“pG”。通过在二进制文件上运行strings命令,并查找这个值,你可以很容易地判断一个芯片是否使用Thumb代码。幸运的是,就这里来耍,它确实在使用Thumb代码。

这真是太好了。首先,这意味着该芯片很可能会利用Cortex-M风格或Securcore架构。这些都是基于ARM的架构,有明确的标准。此外,Thumb代码比其他常见的嵌入式架构的代码更易于分析、逆向和修改。

THE END
1.安卓核心破解免root,风险与真相在现今的互联网时代,安卓系统以其开放性和可定制性赢得了广大用户的喜爱,随着系统的发展,一些用户开始寻求更为便捷的体验,安卓核心破解免root”成为了不少用户关注的焦点,但在这背后,隐藏的真相和潜在的风险却鲜为人知。 破解的诱惑与误解 安卓系统以其强大的功能吸引着众多用户,但有时系统的一些限制可能会让用户感http://www.icetiger.cn/yxgl/9951.html
2.安卓核心破解和root有什么不同,核心破解有什么用5条回答:【推荐答案】核心破解可以安装没有签名的apk,禁用签名验证,这个前提是要root而root是获取最高权限1,手机端ROOT,可以使用Z4ROOT,KINGROOT,或者使用手机端的刷机工具(卓大师,一键获取ROOT,)破解率很低,但是V880自带https://wap.zol.com.cn/ask/x_15235686.html
3.核心破解app下载核心破解安卓版下载v1.9.0核心破解app是安卓Xposed插件模块的手机工具。可用于修改安卓系统数据或者安卓软件数据,为您的安卓系统提供更多的自由度,可以让你的手机安装应用时免除签证,随心所欲安装任何的apk文件都可以,帮助大家随意的修改所有app的各种权限和签名,让大家无需给与app各种权限就能正常运行,一些需要root的app也能通过它进行安装。而且https://m.aiya8.com/azsoft/az74.html
4.有没有支持安卓Q的核心破解模块一加手机官方论坛。一加手机开箱体验、测评报告、玩机技巧、手游攻略。与你分享美图及摄影技巧,众多大神教你轻松刷机,并由丰富手机资源任由下载。百万加油大家庭,交流更随心,一加社区官方论坛https://bbs.oneplus.com/thread/5093269
5.核心破解APPv4.4破解安卓系统签名效验模块3. 安装LSPosed卡包或Magisk仓库搜索「Riru-LSPosed」 4. 安装完成后,重启手机,然后安装「核心模块」 5. 启动LSPosed框架,勾选「核心破解」,完! 下载地址 https://www.123pan.com/s/A6cA-CpkJh https://423down.lanzov.com/b0f1944od https://pan.baidu.com/s/1vUyoK3WAWE1oUdbil4WU_Ahttps://www.906z.com/app/12549.html
6.核心破解APPv4.4破解安卓系统签名效验模块核心破解APP v4.4 破解安卓系统签名效验模块-劳模下载|破解,好像是经常要去组织打比赛,搞地推。http://www.325888.cn/mdkarm/5033118465937.html
7.MIUIROM修改教程Ⅰ破解安卓核心,通杀所有签名应用米基塔从今天开始,会定期发布一些实用的安卓ROM修改教程,这些教程基本都是个人亲自真机测试无问题才进行发布,为方便新手上路,初期的教程将会比较详细,希望大家都能学得会,用得上! 今天为大家带来的是破解安卓核心的修改教程,所谓破解核心,说白了就是不同版本以及不同签名之间的应用可以相互覆盖安装而不会出现无法安装等http://www.miui.com/thread-2426539-1-1.html
8.小米6MIUI10.4.2稳定安卓9.0主题和谐Magisk授权核心破解精品ROM {账号锁}小米6官方10.3.1 版本9008线刷解锁包-强解bl 解除设备锁 已通过极速盘安全认证 ¥29.0 立即购买 手机机型:小米6 ROM类型:卡刷包 文件大小:1.36G 安卓版本:9.X ROM作者:姐姐aa ¥10.0 md5:b15bf3b8ced0559e8f56a11905d41627 >>>刷机教程<<< http://www.jisupan.cn/pan/BgAFAlYAXg.html
9.嘉兴腾讯云代理商:腾讯start云游戏破解版安卓版腾讯云导读嘉兴腾讯云代理商:腾讯START云游戏破解版安卓版 腾讯云的核心优势 作为国内领先的云计算平台,腾讯云拥有强大的技术和资源优势。在云服务领域,腾讯云一直致力于提供高效、稳定、安全的服务,其主要优势 嘉兴腾讯云代理商:腾讯START云游戏破解版安卓版 腾讯云的核心优势 https://www.jintui.cn/tencent/45530.html
10.核心破解v4.5狗破解CoderStory发布的最新支持安卓11系统的破解系统签名效验。核心破解是一款基于xposed模块开发的小工具。可以用来去除系统签名校验,直接安装修改过的未签名APK,禁用apk签名验证、覆盖安装不同签名应用的功能。 新版特性 v3.4 fix hot reboot after re-install pre-app on flyme 9 https://www.gopojie.com/15121.html
11.主题破解核心破解精简优化ROM基地安卓版本:4.4.2大小:386MB 开发:家鸽下载 详情 评论 1.基于最新红米1S开发版(MIUI7 6.3.3)优化定制 2. 默认Kinguser管理ROOT 3. 主题破解,您可以在商店下载任何漂亮的收费主题了 4. 默认打开USB调试,方便手机管理 5. 加入实用软件如:RE管理器4.0美化精简版等 6.默认加入进入恢复模式功能 7.开启第三方软件读http://m.romjd.com/Rom/Detail/104749
12.安卓文件结构与反破解视频教程i春秋讲师结合自身多年的教学经验,设计了《Android安全之软件逆向核心分析》课程。本门课程的特点是基础性、核心性以及综合性,主要阐述的是安卓安全中软件逆向分析、修改破解等相关知识,在安卓移动安全中,起到了基石的作用。 零基础不怕,本课程带你从零学起安卓安全,培养精代码、善项目实战的移动安全抢手人才! 课程目标 https://www.ichunqiu.com/course/56655