看我如何打造Android渗透测试环境

简介: 本文讲的是看我如何打造Android渗透测试环境,目前世界上有23亿台智能手机,预计到2020年将增长到61亿,到时全球共有73亿人,几乎每人平均有一个智能手机。因为手机可以产生大量关于携用户的个人信息,并且未来也是公司和机构的网络关键切入点,所以这意味着对智能手机的攻击,将会成为黑客的主要攻击对象。
本文讲的是 看我如何打造Android渗透测试环境

看我如何打造Android渗透测试环境

目前世界上有23亿台智能手机,预计到2020年将增长到61亿,到时全球共有73亿人,几乎每人平均有一个智能手机。因为手机可以产生大量关于携用户的个人信息,并且未来也是公司和机构的网络关键切入点,所以这意味着对智能手机的攻击,将会成为黑客的主要攻击对象。

在本文中,我将探讨如何对智能手机进行攻击的各种手段,不过攻击手段通常会因操作系统(iOS,Android,Windows Phone等)的不同而有所变化。由于Android是最广泛使用的操作系统(目前占得市场份额为82.8%),苹果的iOS占13.9%,微软的Windows Phone占2.6%,而BlackBerry操作系统少得可怜,只占市场的0.3%,而且,其最新的设备使用的也是Android,因此本文就只讨论对Android的黑客攻击。

我将创建一个安全的虚拟环境,以便测试各种黑客攻击手段。首先,我将构建一些Android虚拟设备。其次,我将下载并安装智能手机Pentest框架。该框架由美国国防部资助,由Georgia Weidman亲自构建,是针对智能手机漏洞进行构建和测试的最佳工具。

现在,就让我开始构建和部署Android虚拟设备。

步骤1:打开终端

当然,要开始,你得先装Kali Linux,并打开你的终端设备。

看我如何打造Android渗透测试环境

步骤2:安装所需的库

为了在Debian 64位操作系统(例如Kali)上运行这些Android虚拟设备,我需要安装几个密钥库,而通常它们在默认情况下是不包含在系统中的。幸运的是,你只需输入kali>apt-get install lib32stdc ++ 6 lib32ncurses5 lib32zl

,就可以在Kali上可以轻松找到这些库,无需再安装。

有了了这3个库后,我现在就可以安装Android软件开发工具包(SDK)了。

步骤3:安装Android SDK

使用Kali自带的Iceweasel浏览器,我可以直接访问Android的SDK网站并下载Android SDK工具。要注意的是,确保你下载了Linux套件。你可以下载并安装Windows或Mac套件,然后在Kali中测试这些虚拟设备,但这会使事情变得更加复杂。所以为了简单,我发现了一个可以直接在Kali上进行操作的方法。

看我如何打造Android渗透测试环境

下载完毕后,你可以使用Kali自带的GUI归档工具或命令行进行解压缩。

看我如何打造Android渗透测试环境

步骤4:进入工具目录

接下来,我需要输入kali>cd/android-pentest-framework/sdk/tools进入到SDK目录下的工具目录。

看我如何打造Android渗透测试环境

一旦我进入工具目录,只需输入kali>./android就可以运行Android应用程序。

看我如何打造Android渗透测试环境

此时,SDK Manager会打开如上所述的GUI。现在,我将下载Android 4.3和Android 2.2版本的操作系统来进行练习。不要注意的是,你要确认这两个操作系统出现在列表中。如果存在,则选中它们并点击“Install XX packages”按钮。随后SDK就会自动将这两个操作系统下载到你的Kali上。

步骤5:Android虚拟设备管理器

下载完所有的软件包之后,我现在需要构建我的Android虚拟设备了。从上面的SDK Manager中,选择“工具”->“管理AVD”,就会出现下图所示的安卓虚拟设备管理器界面。

看我如何打造Android渗透测试环境

点击“创建”,打开如下的界面。创建两个Android虚拟设备,一个用于Android 4.3,另一个用于Android 2.2。为了方便,我直接把这两个设备命名为安卓4.3和安卓2.2。

看我如何打造Android渗透测试环境

如上图所示,选择Nexus 4设备和对应的目标(Android 4.3的API 18和Android 2.2的API 8)在皮肤(Skin)选项,请选择皮肤与动态硬件控制(Skin with dynamic hardware controls)。其他选项就不用更改了,默认设置就好。不过在SD卡选项上,将值设定为100MiB。 

步骤6:启动Android虚拟设备

在创建两个Android虚拟设备后,Android虚拟设备管理器应该使用两个设备:

看我如何打造Android渗透测试环境

选择其中一个虚拟设备,然后“开始”。

看我如何打造Android渗透测试环境

此时,Android模拟器会启动,构建你的Android虚拟设备。请耐心等待,这可能需要一些时间。完成后,你的虚拟设备就会出现在Kali的桌面上了。

看我如何打造Android渗透测试环境

步骤7:安装Pentest框架

你可以从https://github.com/georgiaw/Smartphone-Pentest-Framework.git下载Pentest框架:

看我如何打造Android渗透测试环境

步骤8:启动Apache和MySQL

由于需要一个Web服务器和MySQL数据库,请还要输入下面两个命令开启这两项服务:

kali>service apache2 start

kali>service mysql start

看我如何打造Android渗透测试环境

步骤9:编辑配置文件

像几乎所有基于Linux的应用程序一样,智能手机Pentest框架会通过纯文本配置文件进行配置。不过前提是,我需要输入kali>cd/root/Smartphone-Pentest-Framework/frameworkconsole进入带有框架控制台子目录的目录。

然后,打开自带文本编辑器的配置文件。这一步我用到了Linux上的文本编辑器Leafpad,输入kali>leafpad config即可。

看我如何打造Android渗透测试环境

我将需要编辑IPADDRESS变量和SHELLIPADDRESS变量以显示你的Kali系统的实际IP地址(你可以通过键入“ifconfig”找到它)。

步骤10:启动框架

现在,就可以启动智能手机Pentest框架。只需输入kali> ./framework.py即可。

这样就可以打开如下图所示的框架菜单了。

看我如何打造Android渗透测试环境

至此为止,Android渗透测试环境就打造完成。




原文发布时间为:2017年9月7日
本文作者:luochicun
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
1月前
|
敏捷开发 运维 测试技术
探索自动化测试在持续集成环境中的关键作用
【2月更文挑战第18天】 随着敏捷开发和DevOps文化的普及,持续集成(CI)已成为软件开发过程中不可或缺的组成部分。本文将深入探讨自动化测试在持续集成环境中的重要性,分析其如何提高软件交付速度、保障质量并减少人工干预。通过对现代软件工程实践中自动化测试策略的剖析,揭示了其在维护高效率和高质量软件产品中的核心地位。
31 7
|
1月前
|
敏捷开发 监控 jenkins
探索自动化测试在持续集成环境中的关键作用
【2月更文挑战第14天】 随着敏捷开发和持续集成(CI)的普及,自动化测试已成为确保软件质量和加速交付过程的重要环节。本文旨在深入探讨自动化测试在持续集成环境中的核心价值,分析其如何提高测试效率,减少人工错误,并保障产品的快速迭代与发布。通过对自动化测试工具、策略及最佳实践的综合评述,为读者呈现一个全面的自动化测试实施指南。
18 0
|
2月前
|
监控 安全 Android开发
【新手必读】Airtest测试Android手机常见的设置问题
【新手必读】Airtest测试Android手机常见的设置问题
|
3月前
|
消息中间件 Java 测试技术
Spring Cloud Alibaba环境问题之测试环境失败如何解决
Spring Cloud Alibaba提供了一套在Spring Cloud框架基础上构建的微服务解决方案,旨在简化分布式系统的开发和管理;本合集将探讨Spring Cloud Alibaba在实际应用中的部署和使用技巧,以及该框架常见问题的诊断方法和解决步骤。
|
3月前
|
C++
jrtplib开源库系列之一:jrtplib介绍、安装和测试(window 10环境介绍)
关于jrtplib库网上已经有很多介绍,而且目前jrtplib作者已经停止更新(Apr 18, 2020),最新版本为v3.11.2。本系列内容也以该版本进行介绍。 相信你已经对RTP/RTCP协议有一定的了解,并想更深入的了解RTP协议的具体实现,jrtplib就是使用使用C++实现的RTP/RTCP协议。具体标准为RFC3550,如果想仔细阅读原文,但是对英文又有点吃力,可以参考我的博客RTP/RTCP中英文对照,在博客的后面有百度链接,是对RFC3550的中文翻译,可能很多地方不太准确,有些内容是自己添加进去的,希望不会影响你的阅读。
34 0
|
1月前
|
敏捷开发 监控 Devops
探索自动化测试在持续集成环境中的关键作用
【2月更文挑战第15天】 本文旨在探讨自动化测试作为软件开发过程中不可或缺的一环,尤其在持续集成(CI)环境中的显著影响。通过深入分析自动化测试的实施策略和最佳实践,文章揭示了如何有效提升软件交付速度和质量。文中不仅讨论了自动化测试的基本概念和框架选择,还详细阐述了其在CI流程中的关键步骤及潜在挑战,并提出了相应的解决方案。
20 4
|
1月前
|
敏捷开发 测试技术 持续交付
探索自动化测试在持续集成环境中的关键作用
【2月更文挑战第15天】 随着敏捷开发和持续集成(CI)实践的普及,自动化测试已成为确保软件质量和加速产品上市速度的核心环节。本文将深入探讨自动化测试在持续集成环境中的重要性,分析其如何提高测试效率,减少人工干预的错误,并实现快速反馈循环。通过案例分析和最佳实践分享,我们将揭示自动化测试策略对提升软件开发流程的影响,以及如何有效地将其整合到现代软件生命周期管理中。
|
14天前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
34 6
|
1月前
|
敏捷开发 监控 数据管理
探索自动化测试在持续集成环境中的关键角色
【2月更文挑战第24天】 在当今软件开发的快节奏环境中,自动化测试不再是一个选择,而是确保产品质量和加速市场交付的必要条件。本文将深入探讨自动化测试在持续集成(CI)环境中的重要性,分析其如何提高测试效率、降低错误率,并最终促进开发流程的持续改进。我们将通过具体的案例研究和最佳实践,揭示自动化测试策略的关键要素,以及如何在CI流程中有效集成自动化测试。
|
1月前
|
敏捷开发 分布式计算 数据管理
探索自动化测试在持续集成环境中的优化策略
【2月更文挑战第18天】 在高速迭代的软件开发过程中,自动化测试已成为确保产品质量和加快交付速度的关键。本文深入探讨了自动化测试在持续集成(CI)环境中面临的挑战,并提出了一系列优化策略。通过对测试流程、工具选择和测试数据管理等方面的细致分析,旨在为软件测试人员提供实用的改进方法,以提高自动化测试的效率和准确性。