一种针对安卓原生app漏洞的靶场系统技术方案

技术编号:26222971 阅读:12 留言:0更新日期:2020-11-04 10:54
本发明专利技术提供了一种针对安卓原生app漏洞的靶场系统,包括:在云服务器里面pull一个docker镜像Docker‑Android作为基础镜像,然后用所述基础镜像启动一个docker容器,接着在宿主机用adb工具安装好有漏洞的apk,部署好题目的所有环境,然后封装成docker镜像保存在本地。本发明专利技术利用docker镜像来模拟安卓系统运行apk,当安全人员需要复现一种特定版本的漏洞时,就可以点击创建漏洞环境,然后后端服务器就会利用构建好的特定安卓版本的漏洞镜像启动一个docker容器,这个容器就相当于一个安卓版本的真机,完美解决了这种繁琐的问题。

【技术实现步骤摘要】
一种针对安卓原生app漏洞的靶场系统
本专利技术涉及网络安全领域,尤其涉及一种针对安卓原生app漏洞的靶场系统。
技术介绍
随着经济的不断发展,近十年移动互联网应用向用户各类生活需求深入渗透,促进手机上网使用率增长。与此同时,移动安全的问题也日益增长,不少不法分子利用原生app中隐藏的漏洞对用户进行攻击,造成窃取用户信息、破坏用户数据、影响移动终端运行、恶意推送广告等问题。为了减少这类事件的发生,安全人员设计出了一种以apk形式的靶场以供安卓漏洞的学习,这种靶场就是用Android原生代码写出一个有各种漏洞类型的apk,然后安装到安卓系统上,当挖出漏洞之后就可以对其进行验证。因为apk只能在安卓系统的沙箱上面运行,而服务器又是linux系统或者window系统,所以现有的靶场只有针对web渗透和pwn漏洞利用,而针对apk的靶场只有安装在安卓系统本地的,缺少针对apk漏洞远程利用的平台。
技术实现思路
为了解决apk无法在服务器上运行的问题,本专利技术提供了一种针对安卓原生app漏洞的靶场系统,所述系统通过如下方式建立:在云服务器里面下载一个docker镜像Docker-Android作为基础镜像,然后用所述基础镜像启动一个docker容器,接着在宿主机用adb工具安装好有漏洞的apk,部署好题目(每一种漏洞都相当于一个题目)的所有环境,然后封装成docker镜像保存在本地。所述docker镜像Docker-Android能够用于与移动网站测试和Android项目相关的所有操作。所述有漏洞的apk是用安卓原生代码写的一个具有对应漏洞的程序。apk有很多种不同的漏洞,每种漏洞都需要对应的环境。对应漏洞指的是对应安卓原生app的漏洞。所述adb工具用于通过电脑端与模拟器或者真实设备交互;所述apk的安装和部署题目的所有环境的操作都是由安装了adb工具的宿主机通过相应的adb命令来进行操作;当生成题目环境的时候,通过对应的题目镜像启动一个docker容器生成做题环境。做题指的是用户通过利用漏洞来获取保存在安卓app中的特定数据作为答案,可验证用户是否利用成功。所述生成题目环境的操作是利用docker命令对已经封装好安卓环境的docker镜像生成和启动一个docker容器,并做好端口的映射,以供adb工具连接的时候使用。Docker-Android只是一个基础的镜像,这里的镜像指的是在Docker-Android的基础上,再在上面设置好漏洞环境然后再封装成的镜像。当系统接收到用户上传的apk,即观点证明poc,将其保存到本地的临时文件夹里。用户上传的apk是自己编写的一个漏洞利用程序,利用该程序可以获取安装好有漏洞的apk的特定数据,来验证漏洞是否利用成功。所述观点证明poc是用户用安卓原生代码写的能够对漏洞进行漏洞证明的一个安卓原生apk程序。观点证明poc等于用户上传的apk,即用户上传的apk就是一个漏洞证明样例。用appium-python框架编写脚本,首先利用adb工具连接好安卓模拟器,再利用脚本运行具有对应漏洞的apk,随机生成一段数字并得到其哈希值,将哈希值作为正确的答案的标志flag保存在宿主机中安装好有漏洞的apk里面,接着运行用户上传的观点证明poc,如果漏洞利用成功就会在日志上输出flag,最后生成一个app运行日志反馈给用户以供查看。利用appium-python框架提供的api函数编写自动化脚本,然后通过终端命令运行脚本即能够对app实现自动化的操作;所述随机生成一段数字并得到其哈希值,是利用random函数生成一段随机数并用md5加密得到的值;所述生成一个app运行日志是通过脚本把app运行过程中的日志进行保存,并过滤出一个特定的输出日志的标签名tag的日志保存在本地并反馈给用户。用户在前端能够查看生成的app运行日志,查看poc运行的详细过程以及是否输出了flag,并能够提交flag,当系统接收到用户提交上来的flag,把它和之前保存的哈希值进行对比,如果一致则表示正确得到了保存在有漏洞apk的特定的值,并将结果反馈给用户。有益效果:针对不同漏洞需要不同的安卓版本,使得安全人员需要安装很多种不同的版本来进行漏洞复现和学习的繁琐问题,本专利技术利用docker镜像来模拟安卓系统运行apk,当安全人员需要复现一种特定版本的漏洞时,就可以点击创建漏洞环境,然后后端服务器就会利用构建好的特定安卓版本的漏洞镜像启动一个docker容器,这个容器就相当于一个安卓版本的真机,完美解决了这种繁琐的问题。还有一个最大的问题就是由于目前只有本地apk靶场,这就限制了一些安卓漏洞的复现环境,如远程后端账号密码的明文存储、远程任意命令执行等漏洞,这对安全人员的复现学习的过程无疑是致命的。而本专利技术的设计是基于linux云服务器,不仅可以创建本地漏洞环境,还具备了远程了漏洞环境的功能,完美解决了漏洞环境的限制问题。附图说明下面结合附图和具体实施方式对本专利技术做更进一步的具体说明,本专利技术的上述和/或其他方面的优点将会变得更加清楚。图1是本专利技术架构图。具体实施方式如图1所示,本专利技术提供了一种针对安卓原生app漏洞的靶场系统,先在云服务器里面pull一个Docker-Android(一个类似安卓系统的docker镜像)的docker镜像作为基础镜像,然后用该镜像启动一个docker容器,接着在宿主机用adb工具(AndroidDebugBridge(安卓调试桥)tools,它就是一个命令行窗口)安装好有漏洞的apk(Androidapplicationpackage的缩写,即Android安装包),部署好题目的所有环境,(环境指的是对应漏洞的安卓版本,有漏洞的apk程序)然后封装成docker镜像保存在本地。所述的Docker-Android,可用于与移动网站测试和Android项目相关的所有操作。(操作指的是安卓apk的安装、卸载、运行等)所述的apk是用安卓原生代码写的一个具有对应漏洞的程序。所述的adb工具用于通过电脑端与模拟器或者真实设备交互。由于模拟运行的这个安卓系统没有可视化界面,所以只能通过adb工具连接模拟器进行对应的操作。(这里的操作指的是有漏洞apk和用户上传的apk的安装、卸载、运行,在有漏洞的apk进行flag的保存等)所述的apk安装和部署题目环境的操作都是由安装了adb工具的宿主机通过相应的adb命令来进行操作。当用户点击生成题目环境的时候,通过对应的题目镜像启动一个docker容器生成做题环境。(做题环境指的是对应漏洞的安卓版本,有漏洞的apk程序和保存在其里面的flag)所述的生成题目环境的操作是利用docker命令对已经封装好安卓环境的docker镜像生成和启动一个docker容器,并做好端口的映射,以供adb工具连接的时候使用。当接收到用户上传的apk,即poc(ProofofCon本文档来自技高网...

【技术保护点】
1.一种针对安卓原生app漏洞的靶场系统,其特征在于,所述系统通过如下方式建立:/n在云服务器里面下载一个docker镜像Docker-Android作为基础镜像,然后用所述基础镜像启动一个docker容器,接着在宿主机用adb工具安装好有漏洞的apk,部署好题目的所有环境,然后封装成docker镜像保存在本地。/n

【技术特征摘要】
1.一种针对安卓原生app漏洞的靶场系统,其特征在于,所述系统通过如下方式建立:
在云服务器里面下载一个docker镜像Docker-Android作为基础镜像,然后用所述基础镜像启动一个docker容器,接着在宿主机用adb工具安装好有漏洞的apk,部署好题目的所有环境,然后封装成docker镜像保存在本地。


2.根据权利要求1所述的系统,其特征在于,所述docker镜像Docker-Android能够用于与移动网站测试和Android项目相关的所有操作。


3.根据权利要求2所述的系统,其特征在于,所述有漏洞的apk是用安卓原生代码写的一个具有对应漏洞的程序。


4.根据权利要求3所述的系统,其特征在于,所述adb工具用于通过电脑端与模拟器或者真实设备交互;
所述apk的安装和部署题目的所有环境的操作都是由安装了adb工具的宿主机通过相应的adb命令来进行操作;
当生成题目环境的时候,通过对应的题目镜像启动一个docker容器生成做题环境。


5.根据权利要求4所述的系统,其特征在于,所述生成题目环境的操作是利用docker命令对已经封装好安卓环境的docker镜像生成和启动一个docker容器,并做好端口的映射,以供adb工具连接的时候使用。


6.根据权利要求5所述的系统,其特征在于,当系统接收到用户上传的apk,即观点证明poc,将其保存到本地的临时文件夹里。
...

【专利技术属性】
技术研发人员:朱志权赵俊单夏烨任新新段吉瑞
申请(专利权)人:光通天下网络科技股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1