- 兄弟们首先要有
越狱手机
,然后装好OpenSSH插件
。(小谷就不演示手机越狱过程
了,毕竟班门弄斧了)
1. SSH 登录
1.1. 登录演示
-
介绍下
SSH
,是一种网络协议
,用于加密登录
-
我们
逆向开发
的时候,肯定会用到手机。这个时候我们会用OpenSSH
登录(就是基于SSH
的一个插件
) -
我们用
OpenSSH
登录的话,有2
个用户。一个是root登录
,一个是mobile登录
。我们逆向开发的话,通常用root登录
,毕竟权限比较高 -
- 登录命令(终端直接输入)
ssh root@IP地址
- 登录命令(终端直接输入)
这里的
IP地址
是只你手机连接WiFi的IP
-
- 第一次会有选项
- 第一次会有选项
然后你就可以操作你的手机了. (也可以玩一下
mobile登录
,只是把root
改成mobile
就可以了,不过权限较低
)
1.2. 登录原理
为了
OpenSSH
写一篇博客,肯定说下他的原理了~
- 小谷还是画个图好点:(我们是用电脑登录手机)
1.3. 中间人攻击
上面的登录原理,可能会出现
一丢丢安全隐患
(不知道兄弟们发现了没有,第一次登录的时候回有个RAS的SHA256值
)
1.3.1. 中间人攻击原理
先说下
中间人攻击
。然后说下SSH登录如何防护
的
-
兄弟们可以想象一下。假如,我们链接的
WiFi
做了一波操作:在iPhone
传给Mac
时截取公钥
,发给Mac--自己的公钥
,然后Mac
输完密码,在用自己的私钥
解密,然后在用拿到的iPhone的公钥
加密,传给iPhone
,是不是就有点问题~ -
说的有点麻烦,还是画图比较清晰
1.3.2. 防中间人措施
小谷这么笨都想到了
隐患
,所以SSH这么厉害
可能想的到解决办法,😁
-
兄弟们还记的,第一次登录的时候的
RAS的SHA256值
吧 -
Mac
发送的时候,会有一波校验,这样就可以保证是iphone的公钥
加密了 -
小谷这次就不画图了(画图水准有限~ 😆)
2. 免密登录(公钥登录)
2.1. 免密登录原理
-
兄弟们肯定不想每次都输密码的。所以就产生了
免密登录
-
免密登录
主要是用的Mac电脑的公钥和私钥
-
小谷必须展示一波绘画天赋了~
所以
免密登录
也称公钥登录
2.2. 免密登录演示
- 如果是第一次登录的话,先要生成公钥和私钥
ssh-keygen
-
如果你已经有
公钥私钥
了,它会自动匹配
,那这一步就可以不操作 -
然后请求发送
ssh-copy-id root@IP地址
- 之后就可以不要密码登录了
2.3. config 配置
越懒的人就要想越轻松的办法。(比如我,😆)
- 我们可以用到更轻松的办法。在
~.ssh
中配置config
- 我们登录的话
这样就方便很多了~
3. USB登录
- 由于
逆向开发
的时候。用WiFi链接登录
,有时候会有卡顿
。所以又出来了个USB登录
这个是真的爽
- 我们用
WiFi 登录
时,默认端口为22
,USB登录
的话映射一下端口
就可以了
自己映射的端口不要随便设置,找个用不到的端口。例如:
12345
-
刚才我们输入的
ssh root@ip
==ssh -p 22 root@ip
-
USB登录
网上有好多大佬写的脚本。我这里就说下libimobiledevice
这个工具吧-
我们先安装
brew list libimobiledevice
-
映射端口
iproxy 12345 22
-
之后我们就可以登录了
ssh -p 12345 root@localhost
-
-
我为了不每次都输入,写成了sh脚本。直接调用
我们Mac有个USB插件的识别,我们主要是映射他的接口,目录在
/System/Library/PrivateFrameworks/MobileDevice.framework/Resources
4. 总结
-
OpenSSH
是逆向开发
必须要会的。用多了发现其实就是一个调用脚本的操作了~ -
我下篇博客准备写一篇
砸壳
的。他跟OpenSSH
是一个层次的 -
最后了,希望兄弟们大佬们多多指点~