01-搭建逆向环境

一、SSH介绍:SSH、OpenSSh

  • SSH 为Secure Shell 的缩写,意为“安全外壳协议”;SSH 为建立在应用层基础上的安全协议。

  • SSH是一种可以为 远程登录 提供安全保障的协议

  • 使用SSH,可以把所有传输的数据进行加密,“中间人”攻击方式就不可能实现,能防止DNS欺骗和IP欺骗
    01-搭建逆向环境_第1张图片
    SSH.png
  • OpenSSH

    • 是SSH协议的免费开源实现
    • 可以通过OpenSSH的方式让Mac远程登录到iPhone

二、在越狱iPhone上安装OpenSSH

  • 在iPhone上通过Cydia安装OpenSSH工具(软件源http://apt.saurik.com)

三、Mac远程登录到iPhone

1、SSH是通过TCP协议通信,所以要确保Mac和iPhone在同一局域网下,比如连接着同一个WiFi

  • 在Mac的终端输入
ssh 账户名@服务器主机地址
比如:ssh [email protected]
账户名包含:root权限、mobile权限
  • 初始密码:alpine
    01-搭建逆向环境_第2张图片
    Cydia中查看登录的初始密码@2x.png
  • 查看主机地址
    01-搭建逆向环境_第3张图片
    iPhone中查看主机地址.png

四、SSH通信

SSH通信分3大主要阶段

  • 建立安全连接
  • 客户端认证
  • 数据传输

1、建立安全连接

当客户端确认要连接某个服务器时,服务器会提供自己的身份证明给客户端(其中包含服务器的公钥)
01-搭建逆向环境_第4张图片
®
01-搭建逆向环境_第5张图片
客户端保存服务器的身份证明.png

2、客户端认证

SSH-2提供了2种常用的客户端认证方式,SSH-2默认会优先尝试“密钥认证”,如果认证失败,才会尝试“密码认证”

  • 1.基于密码的客户端认证
    • 使用账号和密码即可认证
      01-搭建逆向环境_第6张图片
      使用账号和密码认证.png
  • 2.基于密钥的客户端认证
    • 免密码认证
    • 最安全的一种认证方式
      01-搭建逆向环境_第7张图片
      客户端免密码认证.png
  • 在客户端生成公钥和私钥
    01-搭建逆向环境_第8张图片
    客户端生成公钥和私钥.png
  • 上传客户端公钥到服务器
    01-搭建逆向环境_第9张图片
    上传客户端公钥到服务器.png
  • 免密码登录
    01-搭建逆向环境_第10张图片
    免密码登录成功.png

小结:

使用ssh-copy-id root@服务器主机地址 把客户端的公钥内容追加到服务器的授权文件(~/.ssh/authorized_keys)尾部
ssh-copy-id会将客户端~/.ssh/id_rsa.pub的内容自动追加到服务器的~/.ssh/authorized_keys尾部
  • 3.手动上传客户端公钥到服务器的授权文件
    • 3.1手动拷贝客户端公钥到服务器
      01-搭建逆向环境_第11张图片
      手动拷贝客户端公钥到服务器.png
    • 3.2手动追加客户端公钥到服务器授权文件中,之后删除拷贝到服务器中的客户端公钥文件
      01-搭建逆向环境_第12张图片
      手动追加客户端公钥到授权文件中.png
    • 3.3免密码登录成功
      01-搭建逆向环境_第13张图片
      免密码登录成功.png

小结:

  • 复制客户端的公钥到服务器某路径
  • scp ~/.ssh/id_rsa.pub root@服务器主机地址:~
  • scp是secure copy的缩写,是基于SSH登录进行安全的远程文件拷贝命令,把一个文件copy到远程另外一台主机上
  • cat ~/id_rsa.pub >> ~/.ssh/authorized_keys追加公钥内容到授权文件尾部

3、数据传输

1、WiFi传输
WiFi传输.png

  • 端口是设备对外提供服务的窗口,每个端口都有一个端口号共65535个
  • 有些端口号是保留的,已经规定了用途,比如
    • 21端口:提供FTP服务
    • 22端口:提供SSH服务
    • 80端口:提供HTTp服务
    • 更多保留端口号
  • iPhone默认使用22端口进行SSH通信,采用的是TCP协议;这样在我们连接iPhone后在终端输入命令的时候如果网速不好时,特别卡

2、USB进行传输

默认情况下,由于SSH走的是TCP协议,Mac是通过网络连接的方式SSH登录到iPhone,要求iPhone必须连接同一个WiFi;为了加快传输速度,也可以通过USB连接的方式进行传输
01-搭建逆向环境_第14张图片
USB方式传输.png
  • 1.执行脚本把iPhone22端口映射到客户端10010端口
    01-搭建逆向环境_第15张图片
    远程设备22端口映射到客户端的10010端口.png
  • 2.通过登录客户端的10010端口来登录iPhone,并且传输数据时,只需传给客户端10010端口就可以了
    01-搭建逆向环境_第16张图片
    通过客户端映射10010端口来登录远程设备.png

小结:

  • 将iPhone的22端口(SSH端口)映射到Mac本地的10010端口
  • 这个端口可以是一个没有被使用或保留使用的任意端口
  • 执行映射脚本是加上-t参数是为了能够同时支持多个SSH连接
  • 端口映射完毕后,以后如果想跟iPhone的22端口通信,直接跟Mac本地的10010端口通信就可以了
  • 新开一个终端界面,SSH登录到Mac本地的10010端口使用如下方式
  • 远程拷贝文件也是可以直接跟Mac本地的10010端口通信的,比如:将Mac上的/Desktop/a.txt文件,拷贝到iPhone上的/test路径
scp - P 10010 ~/Desktop/1.txt root@localhost:~/test
scp 的端口号参数是大写的-P

你可能感兴趣的:(01-搭建逆向环境)