iOS逆向笔记(1)-SSH内容

885 阅读3分钟

一.SSH、OpenSSH简单介绍

SSH: Secure Shell的缩写,意思是"安全外壳协议",是一种可以为远程登录提供保障安全的协议 使用SSH,可以把所有的传输数据进行加密,“中间人”攻击方式就是不可能实现能防止DNS欺骗和IP欺骗

截屏2021-10-13 上午10.47.31.png OpenSSH 是SSH协议的免费开源发现 可以通过OpenSSH的方式让Mac远程登录到iPhone

二.使用 OpenSSH 实现远程登录

要时间远程登录前提必须是: 1.在已经越狱的手机上安装OpenSSH工具 2.由于SSH是通过TCP协议通信,所以要确保Mac和iPhone在通一个局域网下,比如连接这同一个Wifi

1.登录步骤

在Mac的终端输入 ssh账户名@服务器主机地址(手机)

例如:ssh root@192.168.100.** (这里的服务器是手机)

密码默认:alpine

退出 :exit

2.root和mobile:

ios下有两个常用账户root、mobile

2.1:root

root:最高权限账户,$HOME是/var/root

登录:ssh root@192.168.100.**

默认密码:alpine

2.2.mobile

mobile:普通权限用户 登录mobile:ssh mobile@192.168.100.**

默认密码:alpine

2.3root和mobile登录密码修改

修改root和mobile用户的登录密码(登录root账号后,分别通过passwd,passwd mobile完成) image.png

三.SSL、OpenSSL

SSL: Secure Socket Layer的缩写,是为网络通信提供安全及数据完成性的一种安全协议,在传输层对网络进行加密

OpenSSL:SSL的开源实现 绝大部分HTTPS请求等价于:HTTP+OpenSSL OpenSSH的加密就是通过OpenSSL完成的

四.SSH版本

SSH协议一共有两个版本:SSH-1、SSH-2

现在用的比较多的是SSH-2,

客户端和服务端要保持一致才能通信

查看SSH版本(查看配置文件的Protocol字段)

  1. Mac客户端: 终端命令:cd /etc/ssh cd /etc/ssh

image.png

cat ssh_config

image.png 2. Ipone服务端: cd /etc/ssh cat ssh_config image.png

image.png

SSH的通信过程 主要分为3大主要阶段 建立安全连接、客户端认证、数据传输

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

image.png 如果客户端无服务端的公钥信息,就会询问是否连接此服务器

在建立安全连接过程中,可能遇到以下错误信息:提醒服务器的身份信息发生变更

image.png 如果确定要连接此服务器,删除掉之前的服务器的公钥信息就行 命令:ssh-keygen -R 服务器的IP地址 或者直接打开known_hosts文件删除服务器的公钥信息就行

五.客户端认证

5.1常用的客户端认证方式

  • 基于密码的客户端认证: 使用账号密码即可认证
  • 基于秘钥的客户端认证: 免密码认证 最安全的一种认证方式

SSH-2默认会有限尝试“秘钥认证”,如果认证失败,才会尝试“密码认证” 建立基于秘钥的免密码认证流程

image.png

5.2具体的实现流程

5.2.1生成id_rsa(私钥文件)和id_rsa.pub(公钥文件)

ssh-keygen -t rsa(指定算法) 使用ssh默认就是rsa算法

image.png 如图确定生成 id_rsa(私钥文件)和id_rsa.pub(公钥文件)

5.2.2将id_rsa.pub(公钥文件)追到到授权文件尾部

ssh-copy-id root@192.168.100.99

image.png