freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

移动应用安全基础篇——Android、ios环境准备
tales 2019-04-02 08:38:04 305139

IOS环境准备:

越狱

几种类型的越狱:

1、Tethered jailbreaks 不完美越狱,重启后无法保留

2、Semi-tethered jailbreaks 半完美越狱,必须通过连接电脑越狱,设备启动后会自动进入非越狱模式

3、Semi-untethered jailbreaks 半完美越狱,设备启动能自己进入到越狱模式,但内核的代码签名校验不会被自动禁用,需要通过启动一个应用完成

4、Untethered jailbreaks 完美越狱,一次越狱后即可永久越狱

根据iOS版本判断设备是否可以越狱:

Can I Jailbreak? https://canijailbreak.com/

几个iPhone越狱相关的资源:

The iPhone Wiki

Cydia

通常在越狱完成后会自动安装Cydia,下面介绍几个在Cydia下需要安装的工具:

1、openssh:默认的ssh账号是root,默认密码为alpine

2、Frida:在Cydia中添加源 https://build.frida.re后直接搜索安装

3、BigBoss Recommended Tools:unix命令行工具,iOS系统不提供,如wget, unrar, less,sqlite3等

4、Class Dump:提取Mach-O文件信息

5、Substrate:Hook工具

6、AppList:查询所有安装的app

在iOS上使用Frida

在越狱的环境下,是用户权限最大的场景,在这样的环境下你可以很轻松的调用系统服务和基础组件。

越狱设备情况下:

1、在iOS设备上打开Cydia应用。

2、添加源,地址为“https://build.frida.re/

image.png

3、进入已添加的源,搜索“Frida”,点击“Modify”然后安装。

image.png

4、要在主机(mac为例)上安装Frida,我们需要启动控制台,输入“pip install frida”命令,安装Frida程序。

image.png

5、使用Frida连接iOS进程:

Frida安装完毕后,现在我们已经准备就绪,可以开始使用Frida评估iOS应用的安全性的可利用性。

我们可以先看一下目标设备当前运行的进程列表,命令如下:

frida-ps –U

image.png

我们可以使用“frida –U process-name”命令,将Frida附加到任意一个进程上,命令执行成功后我们将会跳转到Frida控制台中,可以访问目标进程的所有属性、内存内容以及函数功能。

image.png

Needle

Needle是iOS平台上的一套动态测试,由mwr开发,类似于Android平台上的Drozer,但因系统的不同而功能不一。

以下为mac上配置Needle的过程:

1、安装依赖

image.png


2、手机上安装needle代理

Cydia添加源http://mobiletools.mwrinfosecurity.com/cydia/,搜索NeedleAgent安装即可

3、使用needle

image.png

Needle所涵盖的测试领域的一些示例包括:数据存储,进程间通信,网络通信,静态代码分析,挂钩和二进制保护。里面有很多集成了很多模块能方便的帮我们完成测试工作。

Android环境准备:

在手机硬件的考虑上,首先优选谷歌的:Nexus和Pixel系列,系统为Android 8.1.0版本上进行测试。

frida官网指出的factory software就是谷歌的官方工厂镜像网站,右边就是手机型号一览表,在这里我们选择Nexus 5X的型号bullhead。

image.png

使用wget命令来下载最新的8.1.0 (OPM7.181205.001, Dec 2018)版本。

刷入该系统:

首先将手机进入fastboot状态,操作流程如下:

1、将USB线断开,并确保手机有80%左右的电量;

2、将手机完全关机;

3、同时按住音量向下键和开机键;

4、手机将进入fastboot状态;

手机用USB线连上电脑,运行脚本,将系统刷进手机。

image.png

刷入twrp recovery

recovery相当于Windows PE微型系统,在recovery里我们也可以挂载磁盘,修改系统分区,使用adb命令,等一系列功能。详细的功能列表可以百度或者谷歌。

我们这里只需要下载twrp针对bullhead机型的镜像,刷进去即可。

image.png

我们下载最新的twrp-3.2.3-0-bullhead.img镜像文件。

然后将手机设置到fastboot模式,使用fastboot命令将镜像刷进去。

image.png刷入Magisk

我们只是用Magisk来获取root权限。

在github项目主页的release页面,下载最新的卡刷包:Magisk-v17.3.zip

然后使用adb命令将卡刷包上传到手机中去。

image.png

滑动确认安装。

image.png

打开App可以看到安装成功。

image.png

获取root权限

使用adb命令进入安卓手机的shell,并且获取root权限。

在手机上找到设置→系统→关于手机→版本号,点击版本号五下,打开开发者选项,然后进入设置→系统→开发者选项,打开USB调试选项。然后USB连接到电脑,使用adb命令连上去。手机上会出现授权,点击接受该指纹的电脑连接,此时是shell权限,权限非常小。我们来切换到root用户:

image.png

手机上会出现Magisk的超级用户请求,点击允许,com.android.shell即可获取root权限。

image.png在Android上使用Frida

从Frida官方github页面的release标签里,找到最新版的frida-server,注意要匹配系统和架构,比如arm和arm64就不能搞错,比如我们这里选择的就是frida-server-12.2.29-android-arm64.xz的版本。

下载完成后进行解压,获得linux原生的可执行文件,我们将它重命名为frida-server。

使用adb命令将其推送到手机上去:

image.png

使用adb shell命令进入到手机中去,执行以下命令:

image.png

frida-server即可运行成功。

此时在电脑上新开一个shell,运行frida-ps -U命令,即可显示手机中正在运行的进程。

image.png

到这里我们在64位手机Nexus 5X的安卓原生8.1系统上安装frida-server就成功了。

总结:

在接下来的文章中,会向大家介绍Frida脚本语言的详细知识,以及如何利用Frida的API函数和其他工具对iOS和Android应用的安全性进行评估。



Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。

Tide安全团队自建立之初持续向CNCERT、CNVD、漏洞盒子、补天、各大SRC等漏洞提交平台提交漏洞,在漏洞盒子先后组建的两支漏洞挖掘团队在全国300多个安全团队中均拥有排名前十的成绩。在产品研发方面,Tide自主研发了一款面向互联网基础设施的资产检索系统,即Tide(潮汐)网络空间搜索平台,平台结合网络安全技术与大数据分析处理技术,对互联网基础设施进行网络安全威胁监测和网络安全态势分析。Tide安全团队自研多套安全平台,如分布式web扫描平台WDScanner、Mars平台、潮汐指纹识别系统、内部SRC平台、安全网络课堂、安全测试案例库、社工库、MoSec移动端检测平台、漏洞知识库、代理资源池、字典权重库等等,团队成员在FreeBuf、简书、CSDN、51CTO、CnBlogs等网站均开设专栏或博客,研究安全技术、分享经验技能。

想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或关注公众号:



ewm.png



# Android # ios
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 tales 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
tales LV.3
Tide安全团队http://www.TideSec.com
  • 14 文章数
  • 62 关注者
攻防演练 | 从JS到内网横向
2023-04-18
工控CTF中常见题型介绍(下)
2023-04-11
工控CTF中常见题型介绍(上)
2023-04-11
文章目录