• 当前位置: 首 页 > 教育百科 > 其他 > 正文

    APP 渗透抓包环境

    :2025年04月06日
    走在网安路上的哥布林

    AppInfoScanner是一款移动端信息收集工具,支持收集Android、iOS、WEB、H5、静态网站的关键资产信息。MobSF是移动安全框架,可用于移动应用安全、渗透测试、恶意软件分析和隐私分析。

    常用工具

    信息收集:AppinfoScanner

    https://github.com/kelvinBen/AppInfoScanner [1]

    一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具,可以帮助渗透测试工程师、攻击队成员、红队成员快速收集到移动端或者静态 WEB 站点中关键的资产信息并提供基本的信息输出,如:Title、Domain、CDN、指纹信息、状态信息等。

    • 下载

    git clone https://github.com/kelvinBen/AppInfoScanner.gitcd AppInfoScannerpython -m pip install -r requirements.txt

    • 运行

    python app.py android|ios|web -i APK|DEX|IPA|Mach-o|web File

    评估框架:MobSF

    https://github.com/MobSF/Mobile-Security-Framework-MobSF [2]

    移动安全框架(MobSF)是 Android、iOS 和 Windows Mobile 中移动应用程序的安全研究平台。MobSF 可用于各种用例,如移动应用安全、渗透测试、恶意软件分析和隐私分析。静态分析器支持流行的移动端二进制文件,如 APK、IPA、APPX 和源码。同时,动态分析器支持双端应用程序,并为交互式仪器测试、运行时数据和网络全流量分析产品提供平台。

    docker pull opensecurity/mobile-security-framework-mobsf:latestdocker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:lates

    # Default username and password: mobsf/mobsf

    移动端渗透系统:mobexler

    https://mobexler.com [3]

    Mobexler 是基于 Elementary OS 的定制虚拟机,旨在帮助进行 Android 和 iOS 应用程序的渗透测试。Mobexler 预装了各种开源工具、脚本等黑客必备软件,这些都是安全测试 Android 和 iOS 应用程序所必需的。

    解析工具:AppMessenger

    https://github.com/sulab999/AppMessenger [4]

    一款适用于以 APP 病毒分析、APP 漏洞挖掘、APP 开发、HW 行动/红队/渗透测试团队为场景的移动端(Android、iOS、鸿蒙)辅助分析工具,可以帮助 APP 开发工程师、病毒分析师、漏洞/安全研究员提高工作效率,帮助渗透测试工程师、攻击队成员/红队成员快速收集到移动端中关键的资产信息并提供基本的信息输出,如:包名(packageName)、版本(versionName\versionCode)、应用签名(Signature)、文件MD5、SDK、URL、APP 漏洞等信息。

    插桩工具:Frida

    https://github.com/frida/frida [5]

    Firda 是一款易用的跨平 Hook 工具, Java 层到 Native 层的 Hook 无所不能,是一种动态的插桩工具,可以插入代码到原生 App 的内存空间中,动态的去监视和修改行为。

    注意事项:与 Xposed 无法共存。
    • 本地安装 frida、frida-tools、frida-dexdump

    pip install frida frida-tools frida-dexdump

    • 移动设备安装 frida-server 并运行

    $ adb devices$ adb root$ adb push frida-server /data/local/tmp/$ adb shell "chmod 755 /data/local/tmp/frida-server"$ adb shell "/data/local/tmp/frida-server &"$ adb shell ps | grep frida-server

    • 端口转发

    adb forward tcp:27042 tcp:27042

    • 获取进程

    frida-ps -Ufrida-ps -R

    获得模拟器位数:getprop ro.product.cpu.abi

    脱壳脚本:frida-dexdump

    https://github.com/hluwa/frida-dexdump [6]

    frida-dexdump 是一种 FRIDA 工具,用于查找 DEX 并将其转储到内存中,以支持安全工程师分析恶意软件。

    • 本地安装

    pip install frida-dexdump

    • 脱壳命令

    frida-dexdump -U -f 包名称 -d -o /tmp/dexdump

    脱壳脚本:BlackDex

    https://github.com/CodingGay/BlackDex [7]

    BlackDex 是一个运行在 Android 上的脱壳工具,支持 5.0~12,无需依赖任何环境,任何手机都可以使用,包括模拟器。只需几秒,即可对已安装包括未安装的 APK 进行脱壳。

    抓包利器:r0capture

    https://github.com/r0ysue/r0capture?tab=readme-ov-file [8]

    仅限安卓平台,无视所有证书校验或绑定、通杀 TCP/IP 四层模型中应用层的全部协议、通杀所有应用层框架、无视加固。

    • Spawn 模式

    python3 r0capture.py -U -f com.coolapk.market -v

    • Attach 模式,抓包内容保存成 pcap 文件供后续分析

    python3 r0capture.py -U com.qiyi.video -v -p iqiyi.pcap

    老版本 Frida 使用包名,新版本 Frida 使用 APP 名。 APP 名必须是点开应用后,frida-ps -U 显示的那个应用名字。

    抓包环境搭建

    模拟器:MuMu 12

    第一步:Burp 导出证书

    文件名以.der结尾。

    第二步:转换 pem 证书

    需要用到openssl(以 kali 为例),将der证书复制到 kali 中,用openssl进行处理:

    openssl x509 -inform der -in burp.der -out bp.pemopenssl x509 -subject_hash_old -in bp.pemmv bp.pem 9a5ba575.0

    也可以使用在线转换网站:http://web.chacuo.net/netsslcer2pem [9]

    将pem格式的证书复制到 Windows 下。

    第三步:修改 MuMu 配置

    在“设置中心”将“磁盘共享”设置为“可写系统盘”。

    开启手机 Root 权限。

    重新启动。

    第四步:ADB 传输证书

    在 MuMu 安装目录的 shell 文件夹下,存在adb.exe。

    D:\Programs\MuMuPlayer12\shell>adb.exe devices* daemon not running; starting now at tcp:5037* daemon started successfullyList of devices attached

    查看模拟器调试端口:

    连接:

    D:\Programs\MuMuPlayer12\shell>adb.exe connect 127.0.0.1:16384connected to 127.0.0.1:16384

    D:\Programs\MuMuPlayer12\shell>adb root

    切换到模拟器点击允许。

    传输pem证书:

    D:\Programs\MuMuPlayer12\shell>adb.exe push D:/tools/Burp证书/9a5ba575.0 /system/etc/security/cacerts/D:/tools/Burp证书/9a5ba575.0: 1 file pushed, 0 skipped. 3.7 MB/s (1326 bytes in 0.000s)

    进入交互环境,查看文件是否存在:

    D:\Programs\MuMuPlayer12\shell>adb.exe shellishtar:/ # cd /system/etc/security/cacertsishtar:/ # ls

    发现传输的文件是没有后缀的,进行修改:

    ishtar:/system/etc/security/cacerts # cp 9a5ba57 9a5ba575.0ishtar:/system/etc/security/cacerts # rm 9a5ba57

    第五步:抓包测试

    先创建监听器。

    模拟器上修改网络配置。

    可以正常抓包,也没有弹窗警告。

    抓不到数据包原因

    抓不到数据包有情况两种,一种是代理的原因,另一种是证书的原因。

    代理原因

    APP 在启动的时候检测是否开启了代理模式,如果开启了代理模式,就会出现无法连接的情况。

    证书原因

    APP 接收数据是利用抓包软件的证书来进行交互,但是服务端去校验证书的时候发现和 APP 的证书不一致。

    如果数据走的 HTTPS 协议,那么数据包有三种验证情况:

    1. 无检验,客户端不存在证书校验,服务器也不存在证书校验。

    2. 单项校验,客户端存在校验服务端证书,服务器也不存在证书校验。

    3. 双向校验,客户端存在证书校验,服务器也存在证书校验。

    绕过反代理

    通过 proxifier 对模拟器进行代理转发。

    绕过证书校验

    Xposed + JustTrustMe + JustMePlush

    Xposed 是一个可以改变系统行为的框架,通过在 Android 应用程序中插入自己的代码来实现。

    注意事项:与 Frida 无法共存。

    JustTrustMe 是一个 Xposed 模块,用于绕过 Android 应用中的 SSL 证书检查。

    JustMePlus 是一个 Xposed 模块,它扩展了 JustTrustMe 的功能,提供了更多的选项和更好的用户体验。

    先安装 Xposed 框架,然后在 Xposed 安装器中激活 JustTrustMe 和 JustMePlus 模块。以下是如何操作的基本步骤:

    1. 下载安装 Xposed 框架

    2. 重启设备以激活 Xposed

    3. 安装 JustTrustMe 和 JustMePlus

    4. 重启设备

    5. 开启代理

    6. 在 Xposed 中启用 JustTrustMe 和 JustMePlus 模块

    7. 重启设备(其实就是利用这两个模块,把 APP 里面的检测功能屏蔽掉)

    8. 打开 JustMePlush,选择要抓包的 APP

    Xposed 框架只是解决单向证书校验,如果是双向验证还是需要用 Frida 来解决。

    安装 Magisk

    https://mumu.163.com/help/20240202/35044_1136675.html [10]

    第一步:下载 Kitsune Mask

    下载链接:https://github.com/HuskyDG/magisk-files/releases [11]

    安装后点击完成。

    重启模拟器,启动 Kitsune Mask。

    第二步:安装 Magisk

    在 Kitsune Mask 界面,点击 Magisk 栏目右侧的安装。

    选择“直接安装(直接修改/system)”。

    出现 ALL done! 说明安装成功,重启模拟器。

    再次打开 Kitsune Mask。

    安装 LSPosed 框架

    项目地址:https://github.com/LSPosed/LSPosed [12]

    第一步:开启 Zygisk

    点击“设置”。

    开启“Zygisk”。

    第二步:推送 LSPosed 框架

    将下载的 LSPosed-v1.9.2-7024-zygisk-release.zip 传到/sdcard/Download目录下。

    D:\Programs\MuMuPlayer12\shell>adb.exe push D:/tools/APP渗透工具/LSPosed-v1.9.2-7024-zygisk-release.zip /sdcard/Download/LSPosed-v1.9.2-7024-zygisk-release.zip

    D:/tools/APP渗透工具/LSPosed-v1.9.2-7024-zygisk-releas...ile pushed, 0 skipped. 33.3 MB/s (2462055 bytes in 0.071s)

    第三步:安装 LSPosed 框架

    从本地安装。

    选择框架所在目录。

    安装框架。

    出现下图内容说明安装成功。

    重启模拟器。

    虽然显示安装成功,但在桌面上找不到 LSPosed 图标,因为 LSPosed 是寄生到系统,默认隐藏的。

    第三步:安装 manager.apk

    解压 LSPosed-v1.9.2-7024-zygisk-release.zip。

    将 manager.apk 拖到模拟器,直接安装。

    安装 JustTrustMe++

    项目地址:https://github.com/JunGe-Y/JustTrustMePP/tree/master/app/release [13]

    直接推拽安装即可。

    引用链接

    [1]: https://github.com/kelvinBen/AppInfoScanner

    [2]: https://github.com/MobSF/Mobile-Security-Framework-MobSF

    [3] https://mobexler.com: https://mobexler.com/

    [4]: https://github.com/sulab999/AppMessenger

    [5]: https://github.com/frida/frida

    [6]: https://github.com/hluwa/frida-dexdump

    [7]: https://github.com/CodingGay/BlackDex

    [8]: https://github.com/r0ysue/r0capture?tab=readme-ov-file

    [9]: http://web.chacuo.net/netsslcer2pem

    [10]: https://mumu.163.com/help/20240202/35044_1136675.html

    [11] https://github.com/HuskyDG/magisk-files/releases: about:blank

    [12]: https://github.com/LSPosed/LSPosed

    [13]: https://github.com/JunGe-Y/JustTrustMePP/tree/master/app/release

    原文来源:https://mp.weixin.qq.com/s/0guv1OeKVhH8ICx8mtTTMQ

    [编辑:宋聪乔 &发表于江苏]
    [我要纠错]

    来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
    声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。

    关键词: 常用工具 信息 收集 AppinfoScannerhttps github.com
    有价值
    0
    无价值
    0
    猜您喜欢
    最热文章

    暂不支持手机端,请登录电脑端访问

    正在加载验证码......

    请先完成验证