iOS 逆向工程 app安全 网络安全ios逆向与安全

iOS逆向与安全(一):环境搭建

2018-09-16  本文已影响27人  繁华落尽丶lee

前言

从本篇文章开始,笔者会整理iOS逆向相关的笔记。作为一位新人,希望通过整理笔记能够更好的理解和掌握知识。作为新人能力有限,在行文时难免出现错误欢迎批评和指正。

前期准备

如何越狱

网上有很多教程帮助你来越狱,这里推荐两个网站:

注意:在购买iOS设备时直接购买对应版本的系统,由于苹果官方关闭降级通道所以无法刷固件降级。

越狱成功后,桌面上会出现一个叫做Cydia的应用,它是越狱后的App Store可以安装各种第三方的软件,比如:插件、补丁、APP等。该应用的作者Jay Freeman(saurik),一位骨灰级大神。

必装插件或补丁

Mac 必备

配置远程登录

SSH:Secure Shell的缩写,安全外壳协议,是一种可以为远程登录提供安全保障的协议。使用SSH可以把所有传输的数据进行加密,防止中间人攻击、DNS欺骗和IP欺骗。
OpenSSH: 是SSH协议的免费开源实现。通过它让Mac登录iOS设备,在Cycript中搜索安装。

使用密码登录

如果iOS设备上已经安装了OpenSSH,此时就可以通过Mac终端登录iOS设备。前提,iOS设备和Mac需要处于相同WiFi环境下。在设置中查看iOS设备的IP地址。打开终端输入:

ssh root@iOS设备IP地址
// 回车,会提示时候建立连接输入yes即可。之后提示输入密码,默认密码是`alpine`。

iOS设备上有两个默认账号:root,mobile。

公钥登录

上面的密码登录方式比较麻烦,在每次登录时都需要输入密码。SSH提供了公钥登录,以省去密码的步骤。下面来看看公钥登录流程:
将电脑端的SSH公钥保存在iOS设备中,登录时iOS设备端会向电脑端发送一个随机字符串,登录用户通过自己的私钥加密后发送给iOS端,iOS端通过事先存储好的公钥解密,如果解密成功,证明用户是可信的。

查看$HOME/.ssh/目录,是否有id_rsa私钥和id_rsa.pub公钥,如果没有使用ssh-keygen生成。

上传公钥到远程设备,通过ssh-copy-id命令。

ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@地址

该条命令的作用是将id_rsa.pub公钥追加到iOS设备的$HOME/.ssh/authorized_keys文件中。

cat $HOME/.ssh/authorized_keys //查看文件内容

通过USB登录设备

在WiFi不稳定的情况下,通过WiFi登录会非常的卡顿。可以通过接口转发的方法,使用USB SSH登录,保证连接的稳定性。

方法很简单,首先安装libimobiledevice,然后使用里面提供iproxy把本地端口(例如:2222)映射到设备的TCP端口22,就可以通过本地的2222端口建立连接了。

brew install libimobiledevice
iproxy 2222 22
ssh root@localhost -p 2222

如果,每次输入iproxy 2222 22进行接口转换比较麻烦,可以将其配置到电脑的开机启动项中。创建~/Library/LaunchAgents/com.usbmux.iproxy.plist,填入一下:

运行命令launchctl load ~/Library/LaunchAgents/com.usbmux.iproxy.plist使之生效。

每次输入ssh root@localhost -p 2222也很麻烦,可以通过指定一个名称进行SSH连接,打开$HOME/.ssh/config文件,没有创建一个,写入一下内容。

Host ipad 
Hostname localhost
User root
Port 2222 

通过以上配置,在终端输入ssh ipad即可登录iOS设备了。

小结

本文学习搭建逆向环境,安装一些必备的软件。后续会继续学习如何使用这些软件。

上一篇 下一篇

猜你喜欢

热点阅读