美文网首页
逆向环境搭建

逆向环境搭建

作者: 木槿WEIXIAO | 来源:发表于2021-08-24 08:36 被阅读0次

    提高工作效率的工具

    • 1.Alfred:便捷搜索
    • 2.XtraFinder:增强型Finder
    • 3.iTerm2:完爆Terminal
    • 4.Go2Shell:从Finder快速定位到命令行工具

    Mac远程登录到iPhone

    • 1.作用:用Mac终端命令操作iPhone
    • 2.连接:使用OpenSSH远程登录
      • A.在iPhone上通过Cydia安装OpenSSH工具(软件源:http://apt.saurik.com
      • B.首先保证Mac和iPhone在同一局域网下
      • C.在Mac终端输入 ##ssh 账户名@服务器主机地址##
        • 例如:ssh root@10.1.1.168
        • 服务器地址也就是手机的ip地址
      • D.初始密码是alpine,密码可以在OpenSSH里面查看
      • E.登录成功以后就可以使用终端操控iPhone
      • F.退出登录的命令是 exit
    • 3.iOS账户,iOS下有两个常用账户Root Mobile
      • Root:最高权限账户
      • Mobile:普通权限账户,只能操作一些普通文件,不能操作系统级别的软件,
      • 登录mobile的命令就是 ssh mobile@10.1.1.168
      • root和mobile的初始密码都是alpine

    SSL OpenSSL

    • OpenSSH OpenSSL很容易弄混
    • OpenSSH的加密就是通过OpenSSL完成的

    SSH的版本

    • 1.一共两个版本
      • SSH-1
      • SSH-2
    • 2.现在用的比较多是SSH-2,客户端和服务端SSH版本保持一致才能进行通信。
    • 3.查看SSH版本
      • 客户端:/etc/ssh/ssh_config
      • 服务端:/etc/ssh/sshd.config

    SSH通信过程

    • 1.建立安全链接
    • 2.客户端认证
    • 3.数据传输

    1.建立安全链接

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


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


      image.png

    在建立安全链接的过程中,如果报错:服务器的身份信息发生变更

    image.png
    • 1.如果确定要链接此服务器,删掉之前的服务器公钥信息就行 ssh-keygen -R 服务器IP地址
    • 2.或者直接打开known_hosts文件删除服务器的公钥信息就行 vim ~/.ssh/known/hosts

    SSH客户端的认证方式

    • 1.SSH-2提供了两种客户端认证方式。
      • A.基于密码的客户端认证(使用账号,密码即可认证)
    • 2.基于密钥的客户端认证
      • A.免密码认证
      • B.安全的认证方式
        SSH-2会先进行密钥认证,如果认证失败,才会进行账号密码认证

    SSH->基于密钥的客户端认证

    image.png
    • 1.在客户端生成一对相关联的密钥(key pair):一个公钥(Public Key),一个私钥(Private Key)
      命令:SSH-keygen
      • A.一路敲回车即可
      • B.OpenSSH默认生成的是RSA密钥,可以通过-t参数指定密钥类型
      • C.生成的公钥 ~/.ssh/id_rsa.pub
      • D.生成的私钥 ~/.ssh/id_rsa
    • 2.把客户端生成的公钥内容追加服务器的授权文件(~/.ssh/authorized_keys)尾部
      命令:ssh-copy-id root@服务器地址
      • A.需要输入root账户的登录密码
      • B.ssh-copy-id会自动把客户端的/.ssh/id_rsa.pub追加到服务器的/.ssh/authorizes_keys尾部
    • 3.第二步中使用ssh-copy-id root@服务器地址进行操作,其实还有一种手动操作将 公钥->授权文件尾部
      • A.复制客户端的公钥到服务器的某个路径
        命令:scp ~/.ssh/id_rsa.pub root@服务器地址
        scp是secure copy的缩写,是基于SSH登录进行安全的文件拷贝命令,把一个文件安全的拷贝到另一个主机上
        上面的命令将客户端的/.ssh/id_rsa.pub拷贝到服务器的地址
      • B.SSH登录服务器
        命令:ssh root@服务器地址(需要输入root用户的登录密码)
      • C.在服务器创建.ssh文件夹
        命令:mkdir .ssh
      • D.追加公钥内容到授权文件底部
        命令:cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
        -E.删除公钥
        命令:rm ~/id_rsa.pub

    文件权限问题

    如果配置了免密码登录以后,还是需要输入密码,需要在服务器端设置文件权限,以下数字代表不同的权限信息,不做过多解释,可自行百度

      1. chmod 755 ~
    • 2.chomd 755 ~/.ssh
    • 3.chomd 644 ~/.ssh/authorized_keys

    22端口

    • 1.端口就是设备对外提供服务的窗口,每个端口都有端口号(范围是0~65535,共2^16个)
    • 2.有些端口号是保留的,已经规定了用途,例如:
    • 3.iPhone默认使用22端口进行SSH通信,采用的是TCP协议


      image.png

    通过USB进行SSH登录

    • 1.默认情况下,由于SSH走的是TCP协议,Mac是通过网络连接的方式SSH登录到iPhone,要求iPhone连接Wifi


      image.png
    • 2.为了加快传输速度,也可以通过USB连接的方式进行SSH登录
      • A.Mac上有一个usbmuxd,他可以将Mac数据通过USB传输到iPhone
      • B.usbmuxd路径:/System/Library/PrivateFrameworks/MobileDevice.framework/Resources/usbmuxd


        image.png

    usbmuxd使用指南1

    • 1.下载usbmuxd工具包(下载v1.0.8版本,主要用到里面的一个python脚本:tcprelay.py)地址
    • 2.将iPhone的22端口(SSH端口)映射到Mac本地的10010端口
      • A.cd ~/Documents/usbmuxd-1.0.8/python-client
      • B.python tcprelay.py -t 22:10010
      • C.加上 -t 是为了能够同时支持多个SSH连接


        image.png
    • 3.注意事项:要想保持端口映射状态,不能终止此命令行
    • 4.不一定要10010端口,只要不是保留端口就可以

    usbmuxd使用指南2

    • 1.端口映射完毕后,以后如果想跟iPhone的22端口进行通信,直接跟Mac本地的10010端口通信就可以了
    • 2.新开一个终端页面,SSH登录到本地的10010端口(以下二选一)
      • A.ssh root@localhost -p 10010
      • B.ssh root@127.0.0.1 -p 10010
      • C.localhost是一个域名,指向的IP地址是127.0.0.1,本机虚拟网卡的IP地址
    • 3.usbmuxd会将本地10010的端口的TCP协议数据,通过USB连接转发到iPhone的22端口
    • 4.远程copy文件也可以直接跟Mac本地的10010端口通信
      A. scp -P 10010 ~/.Desktop/1.txt root@localhost:~/test
      B.将Mac上的/.Desktop/1.txt文件,拷贝到iPhone的/test目录下
      C.scp的端口号参数是大写的 -P

    sh脚本文件

    • 1.我们可以将经常执行的一系列终端命令放入sh脚本文件中(shell),然后执行脚本文件


      image.png
    • 2.可以通过sh,bash,source命令来执行sh脚本文件
      A.sh,base
      1.当前shell环境会启动一个子线程来执行脚本文件,执行过后会返回父进程的shell环境
      2.例如执行cd指令时,在子线程中会进入cd的目录,但在父进程中环境并没有更改,也就是说并没有改变目录
      B.source
      1.在当前的环境中执行shell脚本文件
      2.执行cd会跳转到cd的目录
      3.source可以用一个“.”代替比如 . test.sh


      image.png

    相关文章

      网友评论

          本文标题:逆向环境搭建

          本文链接:https://www.haomeiwen.com/subject/nxzobltx.html