前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS逆向之OpenSSH登录iPhone

iOS逆向之OpenSSH登录iPhone

作者头像
VV木公子
修改2022-08-13 17:27:08
10.6K0
修改2022-08-13 17:27:08
举报
文章被收录于专栏:TechBoxTechBox

前言

上篇文章介绍了iOS逆向中常用的一些软件,其中就介绍了OpenSSH可以帮助我们在Mac或windows上以SSH的方式安全登录iPhone设备

OpenSSH介绍

说到OpenSSH需要先介绍SSH。SSH(Secure Shell)是建立在应用层基础基础上的安全协议。用于计算机之间的加密登录,可以在不安全的网络中为网络服务器提供安全的传输环境。SSH最初是UNIX系统上的程序,后来迅速扩展到其他操作系统平台。OpenSSH是对SSH协议的开源实现。笔者系统时iOS13.5,在Cydia中搜索并安装OpenSSH即可。

SSH协议一共2个版本SSH-1、SSH-2 现在用的比较多的是SSH-2,客户端和服务端版本要保持一致才能通信 查看SSH版本(查看配置文件的Protocol字段) 客户端:/etc/ssh/ssh_config 服务端:/etc/ssh/sshd_config

SSH是通过TCP协议通信,所以要确保Mac和iPhone在同一局域网下,比如连接着同一个WiFi。使用SSH登录成功后就可以使用终端命令行操作iPhone。使用exit命令退出登录。下面先来介绍下如何通过SSH登录iPhone。

SSH登录iPhone

1.iOS下有2个常用账户:root、mobile。root是最高权限账户可以操作任意文件;mobile是普通权限账户,只能操作一些普通文件,不能操作系统级别的文件。root下,HOME指向/var/root。mobile下, HOME指向/var/mobile。App Store下载的App存放在/var/mobile/containers/Bundle/Appication目录下,就是以mobile身份运行的。root和mobile用户的初始登录密码都是alpine。

代码语言:javascript
复制
# 登录root用户
$ ssh root@iPhone的IP地址 
# 登录mobile用户
$ ssh mobile@iPhone的IP地址 

通过WIFI登录

1.确保iPhone 和 电脑在同一个WIFI网络下

2.在【设置】的网络中找到iPhone的IP地址(例如192.168.111.11)

3.macOS终端使用命令行连接iPhone

代码语言:javascript
复制
$ ssh root@192.168.111.11

4.按【Enter】键然后输入密码(默认为"alpine")输入后按下【Enter】键顺利登录(注意这里输入密码后是无任何显示的)

免密登录

频繁的登录越狱设备时每次都要输入密码可能会有些让人烦,所以我们可以通过上传公钥来免密登录(让人联想到git以ssh方式访问代码仓库)。

1.生成密钥对(和git生成ssh密钥对的方式一样的,只是git需要email地址)

代码语言:javascript
复制
$ ssh-keygen -t rsa

2.将公钥上传到iPhone(把mac上的id_rsa.pub拷贝到iPhone的/var/root/.ssh/authorized_keys下)以下命令会自动将mac上的id_rsa.pub追加到iOS越狱设备的授权文件authorized_keys尾部。因为该操作是在越狱设备的~文件夹下,所以该操作仅仅解决了root账户的免密登录问题,不会影响mobile的登录。

代码语言:javascript
复制
# 该操作需要输入root的登录密码
$ scp ~/.ssh/id_rsa.pub root@192.169.111.11:/var/root/.ssh/authorized_keys

如果iOS设备上不存在/var/root/.ssh/目录,则需要先登录设备创建目录:

代码语言:javascript
复制
$ ssh root@192.168.111.11
$ cd /var/root/
$ mkdir .ssh

通过USB登录

通过WIFI的方式连接设备严重依赖网络流畅度,尤其动态调试设备程序的时候会很卡顿。所以建议使用USB的方式连接iOS设备。

注意:确保iOS设备已经和macOS通过USB数据线建立连接

1.下载usbmuxd工具包(下载v1.0.8版本,主要用到里面的一个python脚本:tcprelay.py

2.端口映射(把mac的2222端口映射到iPhone的22端口)

代码语言:javascript
复制
cd ~/Documents/usbmuxd-1.0.8/python-client
chomd 777 tcprelay.py
sudo python tcprelay.py -t 22:2222

3.远程登录iOS设备密码是"alpine"

代码语言:javascript
复制
ssh root@localhost -p 2222

如下图:

第一次登录时,输入上面的登录命令后,系统会交换RSA密钥,会询问Are sure you want to continue connecting (yes/nofingerpring)? 这里请输入yes

第二次登录时,直接输入root密码(默认是alpine)即可。

第二次登录
第二次登录

4.至此,已经通过USB登录了iOS设备

修改默认密码

越狱后iOS设备就拥有了最高权限,但root默认密码(“alpine”)是众所周知的,如果开启了SSH而不修改默认密码,一旦iOS越狱设备暴露在网络中就很容易被入侵,所以需要修改密码。如下分别是修改root用户和mobile用户默认密码的命令:

代码语言:javascript
复制
# 修改root用户的默认密码
iPhone: ~ root# passwd

# 修改mobile用户的默认密码
iPhone: ~ mobile# passwd mobile

image.png

使用scp传输文件

配置好OpenSSH后,可以使用scp(secure copy)工具在iOS设备和计算机之间互相传输文件。macOS自带了scp。

将Mac上的/Desktop/1.txt文件,拷贝到iPhone上的/test路径

代码语言:javascript
复制
scp -P 2222 ~/Desktop/1.txt root@localhost:~/test

参考

《iOS应用逆向与安全之道》

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • OpenSSH介绍
  • SSH登录iPhone
    • 通过WIFI登录
      • 免密登录
        • 通过USB登录
        • 修改默认密码
        • 使用scp传输文件
        • 参考
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档