SEC-2022版-0007-小程序/APP安全-红队工具
小程序及APP安全概述
小程序/APP安全-内/外安全
内安全
个人理解:源代码本地调试,属于白盒测试的一类。
APP/安卓源码安全大体测试步骤如下:
- 源代码提取
- 功能逻辑与源代分析出关键信息
- 抓取关键信息资产,例如ICO,MD5值
- 借助黑暗引擎对资产信息进行二次搜索,例如使用ICO进行搜索,查出相关网络站点。
- 找到站点信息,结合源码进行安全测试
总结:反编译出源代码,对源代码进行代码审计,获取重要资产信息,包括RES等。
相关工具及功能:
app内在提取-AppInfoScanner
反编译出源代码,在源代码中寻找漏洞,信息收集采集。对源代码进行分析。查壳工具:ApkScan-PKID
如果有壳存在,需要脱壳后再进行扫描。使用Xp框架(安卓逆向)去壳
如果安卓软件找不到apk安卓包==> apk提取工具(提取方式多种多样)资源提取类别:安装包&资源文件
安装包,图片,xml配置文件等
外安全
个人理解:黑盒测试,无法看到源代码,但可以使用抓包调试进行分析
调用工具:使用茶杯、BP、FD等结合使用,结合手机模拟器进行抓包调试。==> 抓包调试属于Web网站测试的范畴。
注意:有的软件是反调试的,它会直接截断相关操作。==>程序带壳。
解决办法:使用去壳工具对安卓应用去壳处理,还有将应用使用特定软件将其从安卓手机当做提取出来。当然,提取的办法多种多样,QQ互传也能提取app。
壳安全-安全加固
个人理解:锁。防止web截取的锁,类似于token那种的。
涉及到的框架有:XP框架,frida(Xposed&JustTrustMe)等。
功能:壳安全,指给应用加防护,防止应用被非法调试。
综合测试
外安全和内安全、加壳安全不是相对独立的。一般可以:
去壳重新封装 ==> 源代码测试(源代码资产信息)==>结合抓包软件实时调试==>根据实时调试获取重要资产信息==>结合代码功能逻辑和功能展示,对源代码进行篡改,得到付费功能等。
总体上来讲,无论是外在内在还是去壳,目标只有一个:获取资产信息,完成对目标的资产信息收集。
深入:安卓逆向,app逆向。
安全测试:代码逻辑,本身代码与抓包分析和UI上的分析相结合。(java代码审计,PHP代码审计)
红队工具篇
黑暗引擎:
网络空间支持搜索资产信息。
批量挖漏洞,批量挖SRC,批量测试漏洞。
1、网络空间四大引擎-Fofa&Quake&Shodan&Zoomeye
https://fofa.info ==> 比较好使,常用
https://quake.360.cn ==> 常用
https://www.shodan.io
https://www.zoomeye.org
批量测试的由来
搜索信息:关联资产,特征资产(网络空间相关语法搜索资产),资产信息
可以使用特征资产搜索出对应的带有相同漏洞的资产,再进行批量测试,最后进行批量提交漏洞。
自动项目
2、自动化信息收集项目-ARL灯塔&Suize水泽&Kunyu坤舆
https://github.com/knownsec/Kunyu
https://github.com/0x727/ShuiZe_0x727
https://github.com/TophantTechnology/ARL
总结:批量化的测试工具集成了功能,但将功能单一独立出来与单点功能的软件进行比较,有些不如单点好。综上所述,使用什么工具视情况而定。
相关资源:
3、单点功能信息收集项目-企查&子域名&指纹识别&社工信息
https://forum.ywhack.com/center.php
➢网络空间-Fofa&Quake&Shodan&Zoomeye
➢工具测评-网络空间-四大黑暗引擎集合版项目
➢工具测评-自动化收集-ARL灯塔&Suize水泽&Kunyu
➢工具测评-单点功能器-企查&子域名&指纹识别&社工