三 远程登录(OpenSSH)/USB登录到手机

  • 如何通过OpenSSH远程登录到手机
  • 如何通过USB登录到手机
  • OpenSSH通信原理与USB登录本质

我们经常在Mac的终端上,通过敲一些命令来完成一些操作,iOS和Max OS X都是基于Darwin(苹果的一个基于Unix的开源系统内核)所以iOS中同样支持终端的命令操作,在逆向工程中,我们经常会通过命令来操纵iPhone,为了能够让Mac终端命令行能够作用在iPhone上,我们需要Mac和iPhone建立连接,接下来我们看一下如何去建立连接。

一 如何通过OpenSSH远程登录到手机
步骤一 安装OpenSSH

通过Cydia搜索OpenSSH,然后点击安装(Cydia作者Jay Freeman 写的一个工具)。


安装OpenSSH
步骤二 打开Mac上的终端输入:
ssh root@192.168.1.5

192.168.1.5是你手机IP地址,注意你的iPhone要和Mac在同一个局域网内。

输入密码 :alpine

初始密码是固定的
登录到手机上来了

看applede-iPhone,就带表登录到手机上了


登录到手机

OK OpenSSH就这简单的三步骤,有些时候,可能会遇到一些问题

ssh: connect to host 192.168.1.5 port 22: Connection refused

出现这个问题去网上搜索吧,我遇到的问题是一值卡在那不动,好长时间返回time out,网上搜说iOS10.0以上本地自带USB连接,不需要Wi-Fi连接,我的机器是iOS10.2,用USB连接是好的。这个Wi-Fi连接不上还是不知道具体原因。

二 如何通过USB登录到手机

因为通过Wi-Fi登录iPhone网络不好的情况下,输入一些终端命令会比较卡,逆向中我们经常用的是USB登录到远程手机,下面我们来了解下该怎么做

步骤一 下载usbmuxd工具包

usbmuxd下载地址:https://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.gz

步骤二 端口映射

将iPhone的22端口映射到Mac本地的10001(只要不是常用端口,这个可以随便写)端口

xmldeMacBook-Pro:~ xml$ cd /Users/xml/Downloads/usbmuxd-1.0.8\ 2/python-client/
xmldeMacBook-Pro:python-client xml$ python tcprelay.py -t 22:10001
进入到tcprelay.py文件夹下,执行python命令
步骤三 登录到手机
xmldeMacBook-Pro:~ xml$ ssh root@localhost -p 10001
按提示输入密码,就登录成功了

到此USB登录就这简单的三部,以后每次我们登录手机,只要执行后两部就可以了。因为命令比较长,又经常用,我们可以封装成一个简单的脚本,方便使用。
1 新建一个usbconnect.sh文件,文件内容就是python-client xml$ python tcprelay.py -t 22:10001
2 新建一个 sshlogin.sh, 文件内容就是步骤三的命令。
3 把这两个文件放到用户根目录下
4 每次登录你先执行 sh usbconnect.sh,在执行是sh sshlogin.sh就可以了

好了,如果你是急于上手开发,那么了解上面的内容就已经足够了,如果还想进一步了解它们的原理细节,那么就请接着往下看。

三 OpenSSH通信原理与USB登录本质
3.1什么是SSH,OpenSSH,SSL,OpenSSL?

1 SSH Secure Shell的缩写,意为“安全外壳协议”,是一种可以为远程登录提供安全保障的协议,使用SSH,可以把所有传输的数据进行加密,"中间人攻击“的方式就不可能实现,能防止DNS欺骗和IP欺骗
2 OpenSSH是SSH协议的免费开源实现,可以通过OpenSSH的方式让Mac远程登录到iPhone
3 SSL Secure Sockets Layer的缩写,是为网络提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密
4 OpenSSH SSL的开源实现,绝大部分HTTPS请求等价于:HTTP+OpenSSL,OpenSSH的加密就是通过OpenSSL完成的。
3.2 SSH的版本
SSH协议一共有两个版本:SSH-1,SSH-2,现在用的比较多的是SSH-2,客户端和服务端本要保持一致才能通信,

查看Mac端SSH版本
xmldeMacBook-Pro:~ xml$ cd /etc/ssh
ls 查看下面的文件
xmldeMacBook-Pro:ssh xml$ cat ssh_config
Prorocol 2 就代表是版本2
查看iPhone手机端SSH版本
applede-iPhone:~ root# cd /etc/ssh
applede-iPhone:/etc/ssh root# ls
moduli  ssh_config  sshd_config
applede-iPhone:/etc/ssh root# cat ssh_config
两个版本都有
3.3 SSH 通信的过程

分为三步

1 建立安全连接

在建立安全连接过程中,服务器会提供自己的身份证明


服务端把公钥,发送给客户端,第一次连接,会提示是否要保存认证信息,保存在known_hosts文件中,然后客户端每次拿着这个公钥,发送数据到服务器端,服务器,用自己的私钥再进行验证
2 客户端认证

1 密码登录验证

xmldeMacBook-Pro:~ xml$ sh login.sh
root@localhost's password:

2 基于密钥的客户端认证,它是一种免密认证,是最安全的一种认证方式。SSH-2会先尝试这种方式的认证,如果失败,才会采用第一种密码认证的方式,我们来看看怎么做这个免密认证。
1 客户端(Mac)生成公钥和私钥文件~/.ssh/id_rsa.pub ** ** ~/.ssh/id_rsa

xmldeMacBook-Pro:.ssh xml$ cd ~/.ssh
xmldeMacBook-Pro:.ssh xml$ ssh-keygen
xmldeMacBook-Pro:.ssh xml$ ls -l
total 56
-rw-r--r--@ 1 xml  staff   230  3 10  2018 config
-rw-------  1 xml  staff  1675  2 16 22:38 id_rsa
-rw-r--r--  1 xml  staff   408  2 16 22:38 id_rsa.pub
-rw-------  1 xml  staff  1084  2 16 22:10 known_hosts
-rw-r--r--  1 xml  staff  1255  2 16 15:33 known_hosts.old
-rw-------  1 xml  staff  3326  3 10  2018 lerpo-GitHub
-rw-r--r--  1 xml  staff   775  3 10  2018 lerpo-GitHub.pub

2 客户端将公钥内容追加到服务器端(iPhone)授权文件(~/.ssh/authorized_keys)的尾部
3 服务器端进行登录认证

mldeMacBook-Pro:.ssh xml$ ssh-copy-id root@localhost -p 10001
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/xml/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@localhost's password:

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh -p '10001' 'root@localhost'"
and check to make sure that only the key(s) you wanted were added.

再登录就不需要密码了

xmldeMacBook-Pro:~ xml$ ssh root@localhost -p 10001
applede-iPhone:~ root#

查看是否加入到了服务器验证文件尾部我们看到下面~/.ssh/authorized_keys与 ~/.ssh/id_rsa.pub内容是一样的

xmldeMacBook-Pro:~ xml$ ssh root@localhost -p 10001
applede-iPhone:~ root# cat ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChUWSIe2E7w6t7yLQ2ery10mYHPoLdPbEgjC9X7lVaiIT+7YWMz2E50UoI+kcd+Ctr7ScKsPFiKqR24no4neznv3AHFbTOTsRuP3DE7EkrU33+OPWSOSK/dT8W9HcwAlBkxHOBlMc7fAoTLvAFBcL8nvG5AE0GIRqzLKJ5ZMEcAJPB5Mg0PwmNH6oX2/34BZ0BZeYDmINtgkCunmeXRyhIEhpFY/1GtJmUU1oyVO8bDbOYGmNll6lcjWaqS2ou4U7Obr8k84snfO6cXVZ6xz6mkP8keI7rLiq2x2Bjt40Kvht9km4eNOuvL0qobKhzEM1XQXzudY/5m4B38xr7Fi5p xml@xmldeMacBook-Pro.local
applede-iPhone:~ root# exit
logout
Connection to localhost closed.
xmldeMacBook-Pro:~ xml$ cat ~/.ssh/
config            id_rsa.pub        known_hosts.old   lerpo-GitHub.pub
id_rsa            known_hosts       lerpo-GitHub
xmldeMacBook-Pro:~ xml$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChUWSIe2E7w6t7yLQ2ery10mYHPoLdPbEgjC9X7lVaiIT+7YWMz2E50UoI+kcd+Ctr7ScKsPFiKqR24no4neznv3AHFbTOTsRuP3DE7EkrU33+OPWSOSK/dT8W9HcwAlBkxHOBlMc7fAoTLvAFBcL8nvG5AE0GIRqzLKJ5ZMEcAJPB5Mg0PwmNH6oX2/34BZ0BZeYDmINtgkCunmeXRyhIEhpFY/1GtJmUU1oyVO8bDbOYGmNll6lcjWaqS2ou4U7Obr8k84snfO6cXVZ6xz6mkP8keI7rLiq2x2Bjt40Kvht9km4eNOuvL0qobKhzEM1XQXzudY/5m4B38xr7Fi5p xml@xmldeMacBook-Pro.local
xmldeMacBook-Pro:~ xml$

如果上面操作完成后还是需要密码登录可能是权限不足,需要这样操作。

chmod 755 ~
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized.keys

3 数据传输

3.4 usb登录本质

Mac上有个服务程序usbmuxd,可以将mac的数据通过usb传输到iPhone上去


usbmuxd的存放路径 /System/Library/PrivateFrameworks/MobileDevice.framework/Resources/usbmuxd

首先通过SSH登录到我们本地自定义的一个端口,然后在通过usbmuxd通过usb将数据转发到iPhone 22端口上去,那么如何让SSH登录到我们自定义的端口上呢,那就是通过我们上面讲的usbmuxd工具包,这个python工具,虽然我们数据是通过usb传输的,但是我们还是通过SSH协议来进行的,所以哪些SSH连接验证等操作根Wi-Fi连接方式是一样的。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • 一、WIFI连接登录:Mac(客户端)登录到iPhone(服务器) 为什么要Mac端要远程登录到iPhone端?—...
    Lovell_阅读 7,952评论 6 8
  • Mac远程登录到iPhone 需求:我们经常在Mac的终端上,通过敲一些命令行来完成一些操作 分析:iOS和Mac...
    斑驳的流年无法释怀阅读 502评论 0 2
  • 一、Mac远程登录到iPhone 1.我们经常在Mac的终端上,通过敲一些命令来完成一些操作iOS和Mac OS ...
    张璠阅读 479评论 0 0
  • iOS逆向开发(一)----SSH 前期准备:一台iOS9.1完美越狱手机,越狱手机上安装Cydia,Apple ...
    会笑的Even阅读 831评论 0 0
  • 学习了一段时间的iOS逆向工程,在此记录一下学习中的遇到的问题和知识点 越狱 iOS逆向必须要有一个越狱手机,最好...
    Rathen阅读 1,475评论 1 0