凌源网站优化,网站建设策划,深圳设计网站排行,企业网站模板 讲湖南岚鸿APP与小程序—信息收集 1. 简介1.1. APK介绍1.2. APP渗透测试介绍 2. 搭建测试环境2.1. Fiddler2.1.1. 下载Fiddler2.1.2. 安装完成页面2.1.3. 语言 2.2. 安装模拟器2.2.1. 调整版本2.2.2. 调整页面2.2.3. 调整网络 3. 安装证书3.1. FiddlercertMaker工具下载3.1.1. Fiddler设置… APP与小程序—信息收集 1. 简介1.1. APK介绍1.2. APP渗透测试介绍 2. 搭建测试环境2.1. Fiddler2.1.1. 下载Fiddler2.1.2. 安装完成页面2.1.3. 语言 2.2. 安装模拟器2.2.1. 调整版本2.2.2. 调整页面2.2.3. 调整网络 3. 安装证书3.1. FiddlercertMaker工具下载3.1.1. Fiddler设置3.1.2. 导出证书 3.2. 下载Window版openssl3.2.1. 添加环境变量3.2.2. 执行命令 3.3. 证书格式转换与重命名3.3.1. 转换为pem证书3.3.2. 查看MD53.3.3. 重命名pem证书 3.4. 上传证书3.4.1. 传输证书3.4.2. 移动证书3.4.3. 转移目录3.4.4. 添加权限3.4.5. 查找证书 3.5. 模拟器代理设置3.5.1. 设置网络3.5.2. 抓包测试 4. APP应用信息收集4.1. AppInfoScanner项目4.1.1. AppInfoScanner依赖库4.1.2. AppInfoScanner使用4.1.3. 验证URL4.1.4. 总结 4.2. APK反编译4.2.1. Android killer下载4.2.2. 基础配置步骤4.2.2.1. 配置java4.2.2.2. 更新替换Apktool4.2.2.3. 修改相关信息4.2.2.4. 修改APKtool 4.2.3. 使用4.2.3.1. 工程搜索4.2.3.2. 工程管理器 4.2.4. 加壳 4.3. Fiddler信息收集4.3.1. 获取数据4.3.2. IP地址利用 4.4. 封包监听4.5. APK资源提取4.5.1. 提取4.5.2. 查看资源 5. 小程序抓包5.1. 安装证书5.2. 抓包测试 1. 简介 通常在一些企业中不单单存在WEB网站可能也会存在APP软件与小程序等这些都是为了更好的为用户提供服务但同时也会存在很多安全问题。 目前APP应用主要分为Android与iOS但是由于苹果的iOS操作系统不是开源的操作系统相较Android比较封闭同时在对iOS系统进行反编译的时候会比较困难所以一边对APP系统进行渗透测试都是在Android中进行测试。
1.1. APK介绍 APK是Android的应用程序包当然你说它是安装包也可以主要就是用于分发与安全移动应用及中间件。
1.2. APP渗透测试介绍 从本质上来说APP渗透测试与WEB渗透测试基本上是没什么区别的APP应用其实就是将WEB网站集成到APP中简单来说你用电脑去访问一个页面是/index.php,如果这个页面中存在相关的漏洞那么你用手机去访问APP中这个页面那么也会存在相关的漏洞。由于程序在开发的时候使用的逻辑是一样的只是在封装的时候采用了不同的封装方式使其你在APP中看到的页面仿佛和电脑上看到的WEB页面有点差异但是总归逻辑上是一致的。 当然如果APP中使用的是http或者https协议那么在抓包的时候和挖掘WEB漏洞一样都可以使用浏览器直接进行访问进行抓包这样就可以对APP进行渗透测试了但是也不排除一些APP使用的是其它协议这时候就需要使用网络接口来进行抓包对其内容进行获取。
2. 搭建测试环境 这里的搭建测试环境其实就是搭建一个模拟器让APP应用在模拟器上进行运行然后对其进行抓包。
2.1. Fiddler 抓包工具其实也可以使用Burp但是Burp在抓app包中不是那么好用所以这里使用fiddler来抓APP的包后面的测试当然可以在Burp中进行测试。
2.1.1. 下载Fiddler 这里比较推荐去官网下载Fiddler而且也没什么限制所以推荐去官网下载。 Fiddler下载连接 这里我用页面翻译了一下前面的英文就是原来的意思这些信息填完就可以下载了这里建议使用一些小手段下载不然可能会比较慢。 2.1.2. 安装完成页面 这里安装很简单就不介绍了主要看一下安装完成的页面吧。 2.1.3. 语言 这里由于页面是英文的如果看起来不是太方便可以使用汉化包进行汉化不过这个汉化和没汉化基本上是一致的子选项都是没汉化的至于如何使用可以看压缩包中的使用教程。 fiddler补丁包提取码vqj5 2.2. 安装模拟器 我这里使用的是夜神模拟器并且把版本调整到安卓7.0版本下载安装我就不说了同时官网连接我也不放了这个官网应该都能找到。
2.2.1. 调整版本 默认下载下来可能都是比较高的版本这里我调整一下版本打开夜神模拟器助手这个是连同模拟器是默认一起安装的点击右下角添加模拟器》选择Android7.0(至于位数随便)点击完就会自动下载与安装然后开机即可。 2.2.2. 调整页面 刚下载下来的模拟器是平板模式建议调成手机模式。 2.2.3. 调整网络 这里的调整网络是不要设置成网桥模式这里一定不要调成网桥模式包括后面如果调试完网络不通请排查一下是否调整为网桥模式了。 3. 安装证书 这里安全证书的原因的是由于在抓包过程中可能会产生https这类协议而这类数据包需要使用到证书来进行许可。 但是设备是android 7.0的系统同时应用设置targetSdkVersion 24的话那么应用默认是不信任安装的Fiddler用户证书的所以你就没法抓到应用发起的https请求然后你在Fiddler就会看到一堆200 HTTP Tunnel to xxx.xxx.xxx:443的请求日志这些都是没有成功抓取的https请求。 下面的办法就是将Fiddler证书装到系统证书目录下伪装成系统证书那么就不存在因为fiddler证书不被信任而无法抓包的问题了。 参考链接
3.1. FiddlercertMaker工具下载 fiddlercertMaker是Bouncy Castle证书生成器因为新版本的Android拒绝超过两年有效期的证书双击下载好的fiddlercertmaker.exe确保已关闭Fiddler会弹出提示导入证书成功这个对话框如果弹出的内容是什么版本不对请下载最新的版本。
fiddlercertMaker下载 3.1.1. Fiddler设置 这里点击toolsoptionshttps该勾选勾选出现弹窗选择yes在https旁边的connections中是设置端口的默认是8888如果不修改就这样吧。 3.1.2. 导出证书 点击Tools - Options - HTTPS - Actions - Export Root Certificate to Desktop导出后在桌面上就能够看到一个证书届时我们就需要使用到这个证书。 3.2. 下载Window版openssl 下拉到下面选择最上面的64位EXE点击下载安装即可。 openssl下载 3.2.1. 添加环境变量 这里需要在cmd中执行所以需要添加一个环境变量。 3.2.2. 执行命令 这里在cmd中中心openssl如果有返回信息那么就证明操作成功了。 3.3. 证书格式转换与重命名
3.3.1. 转换为pem证书 将Fiddler cer证书转pem证书在cmd输入如下命令进行转换
openssl x509 -inform DER -in FiddlerRoot.cer -out FiddlerRoot.pem3.3.2. 查看MD5 从下面可以看到咱们生成Fiddler证书的hash值是e5c3944b
openssl x509 -inform PEM -subject_hash_old -in 证书.pem3.3.3. 重命名pem证书 在桌面上就能够看到一个e5c3944b.0的证书。
ren FiddlerRoot.pem e5c3944b.03.4. 上传证书 这里就需要将证书上传至模拟器中这里准备一台Android7.0的模拟器。
3.4.1. 传输证书 点击夜神模拟器侧边栏的电脑图标选择打开电脑文件夹会跳转打开电脑的目录C:\Users\Administrator\Nox_share将转换好的Fiddler证书e5c3944b.0复制到ImageShare目录下即可 3.4.2. 移动证书 下载MT管理器拖拉到模拟器中安装完成点击打开应用左边打开Pictures目录就可以看到刚才电脑ImageShare目录的Fiddler证书e5c3944b.0 这里下载完MT管理器将APK文件上传到模拟器中即可。 3.4.3. 转移目录 右边点击进入到system/etc/security/cacerts目录然后长按左边的e5c3944b.0文件点击复制即可复制到右边打开的目录那里。 3.4.4. 添加权限 你会发现跟其他已有的系统证书相比e5c3944b.0根本就没有读的权限到时你到信任的凭据也是没法找到这个Fiddler证书的点击MT管理器的左上角找到打开终端 进入到终端之后输入以下命令将e5c3944b.0文件设置为可读即可。 再看看system/etc/security/cacerts目录下e5c3944b.0文件的权限发现确实有读权限了 3.4.5. 查找证书 点击模拟器的设置 - 安全 - 信任的凭据 - 系统往下拉终于看到咱们的Fiddler证书尝试一下抓包也是没问题了。 3.5. 模拟器代理设置 这里设置完代理就可以进行抓包了。
3.5.1. 设置网络 设置-WLAN-长按网络-修改网络-保存这里的代理IP需要写入电脑的IP地址端口就是fd的设置端口默认为8888当设置完后会发现无法上网那么这里就需要将将Fiddler重启一般重启就好了再不行重启电脑也能解决。 3.5.2. 抓包测试 这里我在夜神模拟器中的游戏中心打开一个游戏下载页面可以看到成功获取到页面中的图片信息并且也是https的理流量同时也能够获取到http的流量。 4. APP应用信息收集 在正常的WEB渗透测试过程中第一步就是对网站进行信息收集那么在APP渗透测试中同样第一步也是信息收集只不过APP的信息收集相较于WEB信息收集有点不同由于APP都是封装起来的所以需要对APK文件进行反编译或者在访问APP的时候进行抓包来获取访问的域名、端口、参数等信息。
4.1. AppInfoScanner项目 AppInfoScanner是一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具可以帮助渗透测试工程师、攻击队成员、红队成员快速收集到移动端或者静态WEB站点中关键的资产信息并提供基本的信息输出,如Title、Domain、CDN、指纹信息、状态信息等。 AppInfoScanner项目
4.1.1. AppInfoScanner依赖库 这里首先将文件下载下来这里的下载我就不演示了下载完毕后需要先下载一下依赖库我这里的截图是已经安装完成的提示显示是已满足要求。
python -m pip install -r requirements.txt4.1.2. AppInfoScanner使用 这里我随便找了一个apk文件注意哦最好不要拿大厂的APP软件来进行测试最好找一些非法的我这里使用的就是某妃… 从获取到的信息中就能够提权到相关的URL地址可以拿这些URL地址进行测试。 同时一般大厂制作的APK程序可能都会加壳小厂商就不一定了加壳主要作用就是防止别人随意修改APK文件或者进行破解等避免别人乱搞。
python app.py android -i Your apk file 4.1.3. 验证URL 这里有点尴尬的是某妃好像不提供服务了所以网站都已经关闭了不过还是找到一些内容看到这些线路相比应该都懂是什么了吧。 4.1.4. 总结 通过这个工具能够在不抓包的情况通过APK文件获取到应用包中会访问的网站地址URL地址通过这些地址在进行深层次的渗透测试。 当然拉也可以用上面提到的FIddler进行抓包获取这些域名但是需要一个一个项目去点击才能够实现但是所有工具不是百分比都吧包内的数据获取全的。
4.2. APK反编译 关于反编译方面使用到的软件及工具其实也很多但是很多都不更新了例如Android killer、安卓修改大师等等。 安卓修改大师好像是复活了但是要求呀而且网上虽然要很多破解版但是我测试了好多都无法激活成功同时在之前安卓修改大师疑似存在供应链病毒感染可能最新版的已经解决了但是没有最新版的破解好多都是挂羊头卖狗肉说是10的版本但是下载后都是8的版本同时下载后软件就开始调用cmd这也是比较疑惑了运行起来调用也就罢了都没打开就开始调用所以我也就没有使用。 Android killer是2020.9月就不更新了本次也还是拿这个来演示吧主要是介绍一下反编译获取到的内容不一定就非要用这个比较不是专业搞破解的。 当然网上还是有很多APP反编译的工具的这里我就不介绍了可以自行百度搜索。
4.2.1. Android killer下载 Android killer
4.2.2. 基础配置步骤 在下载好的Android killer需要进行一些配置才能够使用。
4.2.2.1. 配置java 第一次打开会显示配置java SDK环境暂时不用管他。 进来后是英文的这时候点击配置在常规中能够看到调整语言的选项调整后重启即可这里配置java最好是1.8的java。 4.2.2.2. 更新替换Apktool 这里需要先更新一下Apktool直接去官网下载最新的然后替换即可。 Apktool下载 这里可以看到在根目录下有一个binapktoolapktool就能够看到一个apktool_2.4.1用最新的替换它,我这里下载后最新的是2.7.0版本的。 4.2.2.3. 修改相关信息 修改AndroidKiller根目录下的binapktool下的apktool.bat和apktool.ini文件。 修改apktool.bat替换里面的原先的apktool_2.4.1.jar替换后为apktool_2.7.0.jar。 这个也是同理。 4.2.2.4. 修改APKtool 这里修改上面后测试并不行需要在这个管理器中添加一下才可以不然会报错。 4.2.3. 使用 很详细的反编译我也不是太懂我们需要的只是获取APP中相关信息主要其实就是一些IP把页面转换为web界面来进行渗透测试而已。
4.2.3.1. 工程搜索 直接将下载下来的APK文件拖入进去分析即可然后在工程搜索就可以找http://或者https://开头的地址了。 4.2.3.2. 工程管理器 在工程管理器这里也可以看到很多页面可以点击进去看看比如这里就看到了很多的IP地址等。 4.2.4. 加壳 在一些大公司开发的APP中基本上都会加壳就是为了避免被破解或者反编译如果加壳了那么就需要进行脱壳当然也有很多一键脱壳的但是可能会存在一些问题这些就没办法了只是提供一个思路。 当然这里也可以直接使用一些查加壳的工具有壳如果你是授权的其实可以直接找人家测试如果非授权的并且不是太懂APP开发的这些就… 4.3. Fiddler信息收集 关于这个fiddler信息收集其实就是抓包直接看效果吧。 不过这里还是需要在提一嘴我发现模拟器关闭后再重启发现Fiddler无法抓包了直接就获取不到数据了后来我排查了一下是我再宿舍的网和办公室的网络的IP是不一样的替换后重启依旧无效后来又把模拟器关闭代理让其能够上网然后再去设置代理同时候又重启Fiddler才行所以在Android7.0以上抓包还是比较麻烦的同时问题也多但是有没办法。
4.3.1. 获取数据 这是我测试某妃的时候打开获取到的数据其实能够看到php的版本、IP地址、URL等信息这些都足矣用来进行渗透了。 4.3.2. IP地址利用 这里获取到IP地址了那么是不是可以利用这个IP地址进行渗透测试呢可以利用一些在线端口扫描等进行测试。 4.4. 封包监听 在部分情况下可以不同设置代理就可以监听访问的地址与端口类似于本地使用火绒剑这里工具一样我这里使用的夜神模拟器但是一打开封包监听工具就自动退出可能是不能使用吧雷神模拟器好像能用。 这里我放工具的链接里面也有相关的教程。 封包拦截器
4.5. APK资源提取 在某些情况下可能获取不到APK文件的提取那么就需要使用到APK资源提取工具这里网上工具很多我这里就截个图但是好用的APK资源提取暂时没有看到所以就不提供了这里看一下效果吧。
4.5.1. 提取 这里就是将获取不到的APK文件打包一下打包完就可以获取了。 4.5.2. 查看资源 这里其实可以通过解压缩方式将APK文件进行解压出来解压出来后就能够看到相关的APK资源了。 5. 小程序抓包 在小程序抓包这里其实有点麻烦哦由于微信问题有些情况下是抓不到包的同时默认情况下Fiddler抓到的包都是http的如果想要抓到https的就需要将证书安装在默认浏览器中。
5.1. 安装证书 这里安装证书一定要在控制面板中打开internet选择进行安装证书同时在安装的时候一定要选择受信任的根证书颁发机构,这样安装的证书才有效果。 5.2. 抓包测试 这里安装好证书后就可以进行抓包测试了至于信息收集我这里就不赘述了和APP的信息收集方式是一样的。