标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2024-3084]   作者: 小螺号 发表于: [2022-04-26]

本文共 [216] 位读者顶过

App面临的主要风险

客户端

· 传统逆向分析类(反编译、调试、加密/签名破解…)

· 用户已经中招类(输入记录、导出组件、进程注入…)[出自:jiwo.org]

服务端

· 系统组件类(MS17-010脏牛、心脏滴血…)
· 业务应用类(注入,跨站,越权,执行,上传,下载,弱口令…)

APP测试=APP本地测试+WEB渗透测试


客户端测试

本地测试部分顾名思义,真正进行攻击或利用时也是要在本地才能实施。除了逆向分析和敏感信息泄露部分外,基本都是以用户手机已经运行了恶意程序为前提进行的,实际可利用性大多不高。

客户端测试-环境准备

JDK

·因为Android的环境是JAVA环境,开发和很多工具基于JAVA环境。
 ADT(推荐Android Studio-官方IDE)
·Eclipse的Android开发扩展包,包括adbe Monitor和安卓虚拟机。
 IDA Pro
·跨平台调试工具,主要用于动态分析(Dump内存,脱壳等)
 SDK、NDK
·SDK用于编译Android不简版本使用的Java层可执行文件((Java.
 dex文件)
·NDK用于编译Android使用的Native层可执行文件(C/C++、So文件)
 测试环境
·真机Root+Xposed、Root+VirtualXposed.

 Arm(推荐)或x86虚拟机、模拟器


流量分析工具

·BurpSuite/Fiddler/Charles针对HTTP/HTTPS流量分析利器.
·Wireshark(定位代码)针对非HTTP协议流量分析(如Socket)
逆向分析工具
·AndroidKiller_v1.3.1/ApklDE反汇编工具(集成工具).
·Jadx/JEBJava层代码分析工具
·Frida/Xposed/SubstrateCydia动态注入框架
·MT管理器Android端反汇编工具(集成工具)
·IDA ProNative层代码分析工具(动态调试)


服务端测试

APP包含二进制指令的可执行程序,实现页面展示和部分逻辑控制,随着HTML5的发展,有些APP实际上是个“浏览器”。从这个角度看,APP有点像是WEB前端。

APK的构成

1. https://blog.csdn.net/hyg1165269653/article/details/90942882
2. https://www.jianshu.com/p/77ac6f6f2311
3. https://www.jb51.net/article/224643.htm

客户端静态安全-反编译保护

· 早期:解压Apk,使用dex2jar工具把classes.dex转jar,使
  用jd-gui或luyten打开jar文件。
· 现在:直接把Apk文件拖入AndroidKiller_v1.3.1/ApkIDE/Jadx/JEB


客户端静态安全-代码混淆

· 测试方法:反汇编Apk (参考反编译保护测试项)查看类名是否可读
· 修复方法:使用混淆工具进行混淆(DexGuard、ProGuard)

客户端静态安全-安装包签名

· 测试方法:使用JDK中/jre/bin目录下的jarsigner和keytool

客户端静态安全-完整性检验

测试方法:

· 反汇编Apk(参考反编译保护测试项)
· 修改资源或代码文件

· 重打包签名安装(正常运行则说明有问题)


修复方法:

· 代码中对代码文件(classes.dex)做完整性校验
· 代码中对Apk包做完整性校验

· 代码中对签名文件(META-INF/MANIFEST.MF)中classes.dex哈希值的校验


  操作方法
  ApkTool+SignApk:
  1.解包后可修改并重新打包;
  2.可查看AndroidManifest.xml;

  3.可查看smali源码(适用于JAVA反编译失败的情况);


解包:

1.  java -jar apktool.jar d -f apk文件路径-o解包目标文件夹

打包:

1.  java -jar apktool.jar b -f待打包的文件夹-o输出apk路径

APK必须进行签名后,方可安装和运行:

1.  java -jar signapk.jar testkey.x509.pem testkey.pk8 待签名apk文件路径 签名后输出apk路径

客户端静态安全–组件导出安全

· 安装drozer客户端apk文件

· 在APP内开启31415监听

· 转发APP监听的31415端口流量到电脑的31415端口

· 启动电脑端的drozer.bat console connect

· 执行命令

1.  run app.package.attacksurface Packagename
2.  run app.activity.info -a Packagename
3.  run app.provider.info -a Packagename
4.  run app.service.info -a Packagename
5.  run app.broadcast.info -a Packagename
————————————————
版权声明:本文为CSDN博主「网络¥安全联盟站」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44309905/article/details/122781528

评论

暂无
发表评论
 返回顶部 
热度(216)
 关注微信