ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

MASTG iOS 设备 Shell 完全指南:SSH、USB 隧道、逆向 Shell 与模拟器 Shell 实战

MASTG iOS 设备 Shell 完全指南:SSH、USB 隧道、逆向 Shell 与模拟器 Shell 实战 文档教程网络安全【免费下载链接】mastgThe OWASP Mobile Application Security Testing Guide (MASTG) is a comprehensive manual for mobile app security testing and reverse engineering. It describes technical processes for verifying the OWASP Mobile Security Weakness Enumeration (MASWE) weaknesses, which are in alignment with the OWASP MASVS.项目地址https://gitcode.com/gh_mirrors/ow/mastg点击查看免费下载在 iOS 移动端安全测试中获取设备 Shell 是最基础却最高频的操作——无论是检查应用沙箱中的数据、分析系统配置还是为动态分析如 Frida、代理抓包打通通道都离不开它。本篇基于 OWASP MASTG 仓库中的 MASTG-TECH-0052 技术文档系统讲解四种 Shell 获取方式Wi-Fi 远程 SSH、通过 USB 端口转发的 SSH、越狱设备本机终端应用含反向 Shell 技巧以及 iOS 模拟器 Shell 与xcrun simctl文件/生命周期操作。读完本文你可以独立完成真机与模拟器的 Shell 接入、默认密码找回、USB 隧道配置并掌握模拟器上安装、启动、沙箱文件提取等完整测试工作流。前提条件越狱设备与第三方应用商店与 Android 可以通过 adb 工具直接adb shell进入设备不同iOS 的远程 Shell 只能通过 SSH 访问且设备必须已越狱。本文档假设你已完成越狱并安装了 Sileo或功能等价的 Zebra 包管理器。Sileo 是适用于 iOS 12 上 rootless 与 rooted 越狱的第三方应用商店提供apt/dpkg的图形化界面随 Dopamine、palera1n 等主流越狱方案预装。在 Sileo 中搜索并安装OpenSSH包即可为设备启用 SSH 服务。安装完成后把主机与 iOS 设备接入同一 Wi-Fi 网络并在设备的设置 - Wi-Fi菜单中点按所连网络的信息图标记下设备 IP 地址。需要提醒的是通过 Sileo 等第三方商店安装的应用并未经过 Apple 官方校验安装未知应用存在风险应只在受控的实验室环境中操作。Wi-Fi 远程 SSH Shell拿到设备 IP 后在主机上执行以下命令即可登录为 root 用户$ ssh root192.168.197.234 root192.168.197.234s password: iPhone:~ root#输入exit或按 Control D 可退出会话。使用 SSH 访问 iOS 设备时需要记住两个关键事实系统默认用户为root和mobile两个用户的默认密码均为alpine。安全警告务必修改root和mobile的默认密码。同一局域网内的任何人都可以发现你的设备 IP并使用广为人知的默认密码alpine登录从而直接获得设备 root 权限。忘记 SSH 密码三步重置回 alpine如果你忘记了密码想将其重置回默认值alpine可以在越狱设备的本机 Shell 上执行编辑文件/private/etc/master.password找到如下两行root:xxxxxxxxx:0:0::0:0:System Administrator:/var/root:/bin/sh mobile:xxxxxxxxx:501:501::0:0:Mobile User:/var/mobile:/bin/sh将xxxxxxxxx替换为/smx7MYTQIi2M该值是密码alpine的哈希保存并退出。之后重新ssh root设备IP即可用alpine登录。无 Wi-Fi 环境通过 USB 进行 SSH 转发在真实黑盒测试中现场常常没有可靠的 Wi-Fi 可用。此时可以使用 usbmuxd 体系下的 iproxy 工具通过 USB 转发连接设备上的 SSH 端口。usbmuxd 是一个监控 USB iPhone 连接的 socket 守护进程它能把移动设备上 localhost 的监听 socket 映射到主机的 TCP 端口从而让你无需实际网络连接就能 SSH 进设备iproxy 则进一步把设备上的某个端口转发到主机端口专门解决某些越狱不对外网暴露 SSH 端口的问题。在 macOS 上连接 iOS 设备后执行$ iproxy 2222 22 waiting for connection该命令把 iOS 设备上的22端口映射到本机 localhost 的2222端口注意与 MASTG-TOOL-0055 页的提示一致各包管理器中的 libimobiledevice 工具往往版本过旧建议从源码编译以获得最佳效果。随后在新终端窗口中连接设备$ ssh -p 2222 mobilelocalhost mobilelocalhosts password: iPhone:~ mobile%这一 USB 通道能力在 MASTG 的多个技术条目中都会被复用例如MASTG-TECH-0063 拦截代理设置在iproxy 2222 22基础上再执行ssh -R 8080:localhost:8080 mobilelocalhost -p 2222做反向端口转发把设备流量经 USB 路由到主机的 Burp 代理MASTG-TECH-0053 主机与设备数据传输登录后用tar打包应用 Data 目录再通过scp -P 2222 rootlocalhost:/tmp/data.tgz .拉回主机分析。本机终端应用与反向 Shell从主机远程登录固然方便但在网络异常、或被测设备恰好需要本地排障时越狱设备上的终端应用terminal emulator非常有用。例如可以经 Sileo 安装 NewTerm 2 这类终端应用文档写作时支持 iOS 10.0 至 16.2。另一个更关键的场景部分越狱出于安全原因显式禁用了入站 SSH。此时可以借助本机终端应用从设备向外发起 SSH打一个反向 Shell 回主机再反过来从主机连入。原理是利用 SSH 的-R远程端口转发参数ssh -R remote_port:localhost:22 usernamehost_computer_ip把主机的 22 端口映射到设备本地的一个端口上。具体两步操作第 1 步在设备本机终端应用中运行提示时输入主机上mstg用户的密码ssh -R 2222:localhost:22 mstg192.168.197.235第 2 步回到主机终端运行提示时输入 iOS 设备root用户的密码ssh -p 2222 rootlocalhost这样即使入站 SSH 被越狱方案禁用也完成了设备主动外联 → 主机反向接入的完整回路与前面 MASTG-TECH-0063 中经 USB 反向转发访问 Burp的思路一脉相承都是 SSH 端口转发技术在黑盒测试中的典型应用。模拟器 Shell 与 xcrun simctl 工作流没有越狱设备时iOS 模拟器是重要的测试载体。在 Mac 终端执行以下命令即可进入模拟器 Shellxcrun simctl spawn booted /bin/sh但要注意模拟器是一个裁剪过的环境不包含ls、bash、sudo、su等许多标准 UNIX 工具因此直接进 Shell 用处有限。ls缺失时仍可用下面的方式手动浏览目录cd / echo *在模拟器中直接运行命令不需要进入交互式 Shell也可以直接用xcrun simctl spawn在模拟器内执行任意可执行文件。例如列出模拟器的环境变量xcrun simctl spawn booted /usr/bin/env访问模拟器的文件系统模拟器的数据容器沙箱包含应用的Documents、Library、tmp目录是存放用户数据的地方。用下面这条命令可以在 Finder 中打开指定 Bundle ID示例为org.owasp.mastestapp.MASTestApp-iOS的数据容器open $(xcrun simctl get_app_container booted org.owasp.mastestapp.MASTestApp-iOS data)若要打开应用二进制容器存放已安装.app包及其系统文件省略data参数即可open $(xcrun simctl get_app_container booted org.owasp.mastestapp.MASTestApp-iOS)这一操作对应 MASTG 测试项中检查应用数据目录结构的常见步骤——先拿到容器路径再逐一审查 Documents/Library/tmp 中的敏感数据。应用安装、卸载、启动与终止向当前已启动的模拟器安装.app包xcrun simctl install booted ./MASTestApp-iOS.app安装后即可围绕 Bundle ID 执行卸载、启动、终止xcrun simctl uninstall booted org.owasp.mastestapp.MASTestApp-iOS xcrun simctl launch booted org.owasp.mastestapp.MASTestApp-iOS xcrun simctl terminate booted org.owasp.mastestapp.MASTestApp-iOS打开 URL 与深链测试在模拟器 Safari 中打开一个 Web URLxcrun simctl openurl booted https://mas.owasp.org打开已安装应用的自定义深链假设应用支持masapp://schemexcrun simctl openurl booted masapp://这条命令是验证 universal link 与自定义 URL scheme 处理逻辑的便捷入口可与 MASTG 中平台交互MASVS-PLATFORM相关测试项配合使用。录屏与截屏取证录制模拟器屏幕并保存为.mov文件Control C 停止录制xcrun simctl io booted recordVideo ./recording.mov截取当前画面保存为.png文件xcrun simctl io booted screenshot ./screenshot.png两者都适合用作测试报告中的行为证据如登录失败、敏感信息泄露的可视化记录。小结与后续衔接本篇覆盖了 MASTG 中 iOS 设备 Shell 获取的完整技术谱系场景手段关键命令有 Wi-Fi 的越狱真机OpenSSH 远程 SSHssh root设备IP默认密码alpine无 Wi-Fi 的越狱真机iproxy USB 端口转发iproxy 2222 22ssh -p 2222 mobilelocalhost入站 SSH 被禁用本机终端 反向 Shell设备端ssh -R 2222:localhost:22 mstg主机IP模拟器xcrun simctlspawn/get_app_container/install/openurl/io掌握 Shell 之后后续技术条目会在此基础上展开如 MASTG-TECH-0059 访问应用数据目录登录后用ipainstaller -i定位 Bundle/Data 路径、MASTG-TECH-0053 主机-设备数据传输tarscp拉取沙箱数据以及基于同一 USB 隧道搭建的流量拦截代理。结合 MASTG 测试用例库中的 MASVS-STORAGE、MASVS-PLATFORM 测试项即可把 Shell 能力落地为可执行、可验证的安全测试步骤。赞分享文档教程网络安全【免费下载链接】mastgThe OWASP Mobile Application Security Testing Guide (MASTG) is a comprehensive manual for mobile app security testing and reverse engineering. It describes technical processes for verifying the OWASP Mobile Security Weakness Enumeration (MASWE) weaknesses, which are in alignment with the OWASP MASVS.项目地址https://gitcode.com/gh_mirrors/ow/mastg点击查看免费下载相关推荐Android 设备 Shell 访问实战基于 OWASP MASTG 的远程 Shell 与设备端终端方案Android 设备 Shell 访问实战基于 OWASP MASTG 的远程 Shell 与设备端终端方案 访问目标设备的 Shell 是移动应用安全测试中文档教程网络安全Excalidraw手绘白板3分钟跑通的完整指南Excalidraw手绘白板3分钟跑通的完整指南 开会要画流程图正式绘图工具学起来麻烦PPT里拖几根线又不像样。Excalidraw 是一款免费开源的虚拟前端UI组件协同办公Windows 11系统优化终极指南如何让你的电脑提速51%Windows 11系统优化终极指南如何让你的电脑提速51% 你是否厌倦了Windows 11的缓慢响应和资源占用想要摆脱预装软件的困扰恢复系统的纯净与高桌面应用CLI上一篇finance-go核心功能解析股票、加密货币、外汇等10金融数据类型全攻略下一篇Trippy网络诊断工具3步轻松定位网络问题的终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进