目前世界上有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,并打开你的终端设备。
步骤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上进行操作的方法。
下载完毕后,你可以使用Kali自带的GUI归档工具或命令行进行解压缩。
步骤4:进入工具目录
接下来,我需要输入kali>cd/android-pentest-framework/sdk/tools进入到SDK目录下的工具目录。
一旦我进入工具目录,只需输入kali>./android就可以运行Android应用程序。
此时,SDK Manager会打开如上所述的GUI。现在,我将下载Android 4.3和Android 2.2版本的操作系统来进行练习。不要注意的是,你要确认这两个操作系统出现在列表中。如果存在,则选中它们并点击“Install XX packages”按钮。随后SDK就会自动将这两个操作系统下载到你的Kali上。
步骤5:Android虚拟设备管理器
下载完所有的软件包之后,我现在需要构建我的Android虚拟设备了。从上面的SDK Manager中,选择“工具”->“管理AVD”,就会出现下图所示的安卓虚拟设备管理器界面。
点击“创建”,打开如下的界面。创建两个Android虚拟设备,一个用于Android 4.3,另一个用于Android 2.2。为了方便,我直接把这两个设备命名为安卓4.3和安卓2.2。
如上图所示,选择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虚拟设备。请耐心等待,这可能需要一些时间。完成后,你的虚拟设备就会出现在Kali的桌面上了。
步骤7:安装Pentest框架
你可以从https://github.com/georgiaw/Smartphone-Pentest-Framework.git下载Pentest框架:
步骤8:启动Apache和MySQL
由于需要一个Web服务器和MySQL数据库,请还要输入下面两个命令开启这两项服务:
kali>service apache2 start
kali>service mysql start
步骤9:编辑配置文件
像几乎所有基于Linux的应用程序一样,智能手机Pentest框架会通过纯文本配置文件进行配置。不过前提是,我需要输入kali>cd/root/Smartphone-Pentest-Framework/frameworkconsole进入带有框架控制台子目录的目录。
然后,打开自带文本编辑器的配置文件。这一步我用到了Linux上的文本编辑器Leafpad,输入kali>leafpad config即可。
我将需要编辑IPADDRESS变量和SHELLIPADDRESS变量以显示你的Kali系统的实际IP地址(你可以通过键入“ifconfig”找到它)。
步骤10:启动框架
现在,就可以启动智能手机Pentest框架。只需输入kali> ./framework.py即可。
这样就可以打开如下图所示的框架菜单了。
至此为止,Android渗透测试环境就打造完成。