
文档教程网络安全【免费下载链接】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 移动应用安全测试中lsof是一个被低估但极其实用的命令行工具它能在越狱设备上列出指定进程打开的全部文件包括常规文件、目录、动态库、字体、dyld 共享缓存以及网络连接帮助你快速判断应用在运行时访问了哪些敏感数据。本文基于 OWASP MASTGMobile Application Security Testing Guide仓库中的 MASTG-TECH-0080 技术条目结合仓库内相关的 iOS 动态分析条目与配套工具说明完整讲解lsof的安装方法、命令参数、输出字段含义以及它在反逆向监控、临时文件发现等安全测试场景中的实战用法。为什么在 iOS 上必须手动安装 lsof在正式使用lsof之前需要先理解一个 iOS 特有的环境差异。如仓库文档 MASTG-TECH-0067Dynamic Analysis on iOS 所述在 Android或其他 Linux 系系统上进程信息通过_proc filesystem_procfs以可读文本文件的形式暴露拿到 root 权限的设备上解析这些文本文件即可获得目标进程的任何信息但 iOS没有 procfs 等价物。同时苹果为了减小固件体积移除了包括lsof、vmmap在内的许多标准 UNIX 命令行工具。因此在 iOS 上进行动态分析时这些工具需要借助替代渠道自行安装首先需要一台**越狱jailbroken**设备。越狱的主要目的正是关闭 iOS 的代码签名保护机制让任意未签名代码能够运行为安装此类命令行工具和后续动态分析铺路详见 0x06b-iOS-Security-Testing 章节。lsof可以通过包管理器安装例如 MASTG-TOOL-0047Cydia 或现代越狱使用的 Sileo、Zebra 等。仓库文档明确提示Cydia 中的 lsof 可执行文件不是最新版本但足以满足我们的测试目的。安装 lsof通过包管理器或 apt-get在越狱设备上主流安装方式有两种方式一图形化包管理器Cydia / Sileo在 Cydia 中添加仓库例如 BigBoss、Elucubratus 等详见 MASTG-TOOL-0047 的 Sources 配置说明然后搜索并安装包含 lsof 的包例如adv-cmdsAdvanced Command Line或BigBoss Recommended Tools——后者会安装 wget、unrar、less、sqlite3 等大量 iOS 缺失的标准 Unix 工具。方式二SSH 后直接用 apt-get通过 SSH 连接设备后可以直接以 root 身份使用 apt 安装apt-get update apt-get install adv-cmds安装完成后即可在设备终端中调用lsof命令提示符示例iPhone:~ root#。lsof 基础用法全量清单与按进程过滤lsof是功能非常强大的命令能提供关于运行进程的大量信息所有打开的文件清单包括流streams、网络文件和常规文件。不带任何参数lsof会列出系统上所有活动进程所属的全部打开文件。带-c process name返回指定进程名的打开文件清单。带-p pid返回指定 PID 的进程的打开文件清单。lsof的完整选项体系可查阅其 man pageman lsof对应 lsof(8) 手册页。实战示例列出 iOS 应用进程的打开文件针对一个 PID 为 2828 的 iOS 应用进程执行lsof -p 2828输出示例如下取自 MASTG-TECH-0080 原始文档iPhone:~ root# lsof -p 2828 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME iOweApp 2828 mobile cwd DIR 1,2 864 2 / iOweApp 2828 mobile txt REG 1,3 206144 189774 /private/var/containers/Bundle/Application/F390A491-3524-40EA-B3F8-6C1FA105A23A/iOweApp.app/iOweApp iOweApp 2828 mobile txt REG 1,3 5492 213230 /private/var/mobile/Containers/Data/Application/5AB3E437-9E2D-4F04-BD2B-972F6055699E/tmp/com.apple.dyld/iOweApp-6346DC276FE6865055F1194368EC73CC72E4C5224537F7F23DF19314CF6FD8AA.closure iOweApp 2828 mobile txt REG 1,3 30628 212198 /private/var/preferences/Logging/.plist-cache.vqXhr1EE iOweApp 2828 mobile txt REG 1,2 50080 234433 /usr/lib/libobjc-trampolines.dylib iOweApp 2828 mobile txt REG 1,2 344204 74185 /System/Library/Fonts/AppFonts/ChalkboardSE.ttc iOweApp 2828 mobile txt REG 1,2 664848 234595 /usr/lib/dyld ...输出字段逐一解读结合 Android 平台对应的 MASTG-TECH-0027 对字段的解释iOS 输出中各列的语义如下字段含义COMMAND持有该文件的进程命令名本例为iOweApp应用可执行文件名PID进程 ID用于定位目标进程USER运行进程的用户iOS 应用通常以mobile用户运行FD文件描述符。cwd表示进程当前工作目录txt表示进程的文本/代码段文件可执行文件、共享库mem表示内存映射文件TYPE文件类型。DIR为目录REG为常规文件网络相关则为IPv4/IPv6等见下文网络篇DEVICE文件所在设备的设备号主设备号,次设备号SIZE/OFF文件大小或偏移量字节NODE文件节点号NAME文件的完整路径这是安全测试中最需要关注的字段对照上面示例中的每一行可以看到iOweApp进程运行时实际接触到的文件cwd DIR /进程当前工作目录为根目录txt REG .../iOweApp.app/iOweApp应用的主可执行文件位于 Bundle/Application 容器内其 UUID 路径是 iOS 沙盒布局的典型特征txt REG .../tmp/com.apple.dyld/...closuredyld 为本次启动生成的closure 文件启动缓存记录位于 Data/Application 容器内的 tmp 目录txt REG /private/var/preferences/Logging/.plist-cache.*系统日志偏好缓存的 plist 文件txt REG /usr/lib/libobjc-trampolines.dylibObjective-C 运行时 trampolines 动态库txt REG /System/Library/Fonts/AppFonts/ChalkboardSE.ttc进程加载的字体资源txt REG /usr/lib/dyld动态链接器本身。安全测试实战用它做什么发现异常文件与反逆向监控正如 Android 版 MASTG-TECH-0027 指出的核心价值在监控采用混淆或其他反逆向工程技术的应用时NAME文件路径与TYPE文件类型这两个字段可以在不逆向代码的情况下帮你发现异常文件。例如应用可能在运行时对数据执行加解密并临时落盘——lsof能直接暴露这些临时文件的位置与变化结合多次采样对比可以看到进程动态加载了哪些库、打开了哪些数据文件、触碰了哪些系统偏好从而推断其行为如是否将敏感数据写入容器外路径若发现进程打开了自己目录之外的异常路径如/private/var/preferences、其他应用的容器这往往是数据泄漏或越权访问的信号。查看网络连接姊妹技巧进程打开的不只是磁盘文件还包括网络文件。仓库配套条目 MASTG-TECH-0081Get Open Connections 介绍了用 lsof 查看开放端口的写法lsof -i列出系统上所有活动进程的开放网络端口lsof -i -a -p pid-aAND选项用于叠加过滤条件只显示指定 PID 的网络连接。该条目给出了对 PID 1launchd的过滤输出示例可以看到TCP *:ssh (LISTEN)监听端口以及TCP 192.168.1.12:ssh-192.168.1.8:62684 (ESTABLISHED)已建立的 SSH 连接——这同样适用于对目标 App 进程追踪其所有对外通信端点。结合这两条技巧lsof就同时覆盖了文件与连接两大动态分析维度。适用前提与限制必须运行在越狱设备上iOS 默认固件不含lsof且未越狱设备的沙盒与权限模型会限制此类系统级工具的安装与执行。设备要求与越狱背景详见 0x06b 章节。包版本可能偏旧仓库文档明确说明包管理器渠道提供的 lsof 可执行文件并非最新版本但已足够完成打开文件/连接列举任务。与 Android 的差异Android 上可借助 procfs 直接解析进程信息对应 MASTG-TECH-0027 与 MASTG-TECH-0028而 iOS 只能依赖lsof这类被重新引入的工具这是两个平台动态分析流程上的关键区别。输出规模无参数运行lsof会输出全系统所有进程的文件数据量巨大测试时务必用-p或-c限定目标进程并配合 grep 过滤关键路径。小结lsof是 iOS 动态分析工具箱中的基础件安装简单Cydia/Sileo 或 apt-get 一条命令、用法直观-p指定进程、信息密度高文件、库、目录、网络连接一览无余。在 MASTG 的 iOS 测试流程中它是不逆向代码也能感知应用运行行为的快捷通道尤其适合与进程内存监控、网络流量分析等手段配合使用用于快速定位临时敏感文件、可疑动态库加载与隐蔽网络连接。赞分享文档教程网络安全【免费下载链接】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点击查看免费下载相关推荐OWASP MASTG Android 动态分析使用 lsof 获取进程打开文件列表Get Open FilesOWASP MASTG Android 动态分析使用 lsof 获取进程打开文件列表Get Open Files lsof 是 Linux 平台最经典的文文档教程网络安全如何自由切换游戏超分器OptiScaler 免费安装与帧率优化指南如何自由切换游戏超分器OptiScaler 免费安装与帧率优化指南 OptiScaler 是一个免费的开源游戏优化工具它拦截游戏里已有的超分调用DLSS图形学游戏开发MonkeyDev终极指南如何在非越狱设备上自动化逆向iOS应用MonkeyDev终极指南如何在非越狱设备上自动化逆向iOS应用 MonkeyDev是一个强大的iOS逆向工程工具集专为开发者和安全研究人员设计。这个开源项开发工具移动开发上一篇Godot Console 项目教程下一篇File ConverterWindows右键菜单文件转换终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考