网站入侵

网站入侵,入侵渗透,怎么样入侵网站,黑客怎么拿站,黑客接单

Android渗透测试环境搭建

                       

在上一章中,我们了解了 Android 安全及其系统结构的基本知识。本章将了解如何建立 Android 渗透试验环境包括下载和配置 Android SDK 和 Eclipse。我们将深入了解 ADB,了解如何创建和配置 Android 虚拟设备(AVD)。

2.1 建立开发环境

为了构建 Android 应用程序或创建 Android 虚拟设备需要配置开发环境来运行这些应用程序。因此,我们需要做的第一件事就是下载 Java 开发工具包(JDK),其中包括 Java 运行时的环境(JRE):

  • 为了下载 JDK,我们需要访问http://www.oracle.com/technetwork/java/javase/downloads/index.html,并根据我们的平台下载 JDK 7。就像下载并运行下载的可执行文件一样简单。在下面的屏幕截图中,您可以看到 安装在我的系统上Java:
  • 一旦我们下载并安装 JDK,我们需要在我们的系统上设置环境变量,以便从任何路径执行 Java。对于 Windows 用户,我们需要右键单击My Computer(我的电脑)图标,然后选择Properties(属性)选项。
  • 接下来,我们需要从顶部选项卡列表中选择Advanced system settings(高级系统设置)选项:
  • 一旦我们进入System Properties右下角可以看到(系统属性)对话框Environment Variables...(环境变量)选项。当我们点击它时,我们可以看到另一个窗口,包括系统变量及其值System variables(系统变量)部分:
  • 在新的弹出对话框中,我们需要单击Variables(变量)下PATH文本框,并键入 Java 安装文件夹的路径:对于 Mac OS X,编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/编辑/.bash_profile并将 文件Java 路径追加PATH变量。在 Linux 在机器中,我们需要编辑./bashrc文件并附加环境变量行。这里是命令:$ nano ~/.bashrc $ export JAVA_HOME=`/usr/libexec/java_home -v 1.6` or export JAVA_HOME=`/usr/libexec/java_home -v 1.7` 也可以通过从终端运行以下命令来检查 Java 安装配置是否正确:$ java --version
  • 一旦我们下载并配置 Java 下一步是下载环境变量http://developer.android.com/sdk/index.html中提供的 Android ADT 包。ADT 包是由 Android 团队准备的完整包包包括配置 ADT 插件,Android SDK 工具,Android 平台工具,最新 Android 平台和模拟器的 Android 系统图像 Eclipse。这大大简化了早期下载和使用 Android SDK 配置 Eclipse 的整个过程,因为现在一切都提前配置好了。
  • 一旦我们下载 ADT 包,我们可以解压并打开 Eclipse 文件夹。
  • 启动时,ADT 包会要求我们配置 Eclipse 工作区。workspace(工作空间)所有 Android 将存储应用程序开发项目及其文件的位置。在这种情况下,我默认保留了所有内容,并选择了它们Use this as the default and do not ask me again(以此为默认值,不再问我)复选框:
  • 一旦完全启动,我们可以继续创建 Android 虚拟设备。Android 虚拟设备用于特定版本的 Android 模拟器配置。模拟器与 Android SDK 软件包提供的虚拟设备,开发人员可以操作正常设备的应用程序,并在实际设备上与之互动。这不是 Android 设备但仍想创建 设备Android 应用程序的开发者也很有用。
  • 这里要注意的一个有趣的特性是,在 Android 模拟器在 中运行ARM 在上面,模拟的一切都与真实设备完全相同。然而,在 iOS 中,我们的模拟器只是模拟环境,没有相同的组件和平台。

    2.2 创建 Android 虚拟设备

    为了创建Android我们需要执行以下操作:

  • 访问 Eclipse 顶栏,然后点击 Android 图标旁边的设备图标。这将打开一个新的Android Virtual Device Manager(Android 虚拟设备管理器)窗口包含所有虚拟设备的列表。点击是一个很好的选择New创建新的虚拟设备。
  • 我们也可以从终端运行 android 命令并访问工具,然后管理 AVD 来启动 Android 虚拟设备。或者,我们可以简单地指定 AVD 名称,使用模拟器-avd [avd-name]命令启动特定的虚拟设备。这将打开一个需要 的新窗口Android 虚拟设备配置的所有属性(尚未创建)。如下截图所示,我们将配置所有选项:
  • 一旦点击OK并返回到 AVD 管理器窗口,我们将看到新的 AVD。
  • 现在,只要选择新的 AVD,然后单击Start...(开始)启动我们创建的虚拟设备。它可能需要很长时间来加载你的第一次使用,因为它正在配置所有的硬件和软件来给我们真正的电话体验。
  • 在之前的配置中,为了节省虚拟设备的启动时间,选择Snapshot复选框也是一个不错的选择。
  • 一旦设备加载,我们现在可以访问我们的命令提示符并使用 android 命令检查设备配置。这两个进制文件位于安装/sdk/tools文件夹下的adt-bundle文件夹中。
  • 我们设置位置sdk文件夹中的tools和platform-tools文件夹的位置就像我们以前使用的环境变量一样。
  • 运行以下命令:android list avd 我们可以在下面的屏幕截图中看到,上面命令的输出显示了我们系统中所有现有的 Android 虚拟设备列表:
  • 我们将继续使用 ADB 或 Android Debug Bridge 开始使用设备,我们已经在上一章看到了。我们也可以在终端中执行emulator -avd [avdname]命令运行模拟器。
  • 2.3 渗透试验实用工具

    现在,让我们详细了解一些有用的 Android 实用Android Debug Bridge,Burp Suite 和 APKTool。

    Android Debug Bridge

    Android Debug Bridge 是一个客户端 – 服务器程序允许用户连接到模拟器或Android 设备交互。它包括客户端(在系统上运行)、处理通信的服务器(也在系统上运行)以及在模拟器和设备上作为后台过程运行的保护程序。客户端用于 ADB 通信默认端口始终为 5037,设备使用从 555 到 5585 端口。

    让我们继续,通过运行adb devices命令开始与启动的模拟器交互。它将显示模拟器启动并运行并连接到 ADB:

    C:\Users\adi0x90\Downloads\adt-bundle\sdk\platform-tools>adb devicesList of devices attachedemulator-5554 device

    在某些情况下,即使模拟器正在运行或设备已连接,您也不会在输出中看到设备。在这种情况下,我们需要重新启动 ADB 服务器,杀死服务器,然后再次启动:

    C:\Users\adi0x90\Downloads\adt-bundle\sdk\platform-tools>adb kill-serverC:\Users\adi0x90\Downloads\adt-bundle\sdk\platform-tools>adb start-server* daemon not running. starting it now on port 5037 ** daemon started successfully *

    我们也可以使用它pm所有ADB 中使用:

    adb shell pm list packages

    如下面的屏幕截图所示,我们将获得安装在设备上的所有软件包列表,这可能在未来阶段有用:

    另外,我们可以使用它dumpsys meminfo然后是adb shell命令,获取所有应用程序及其当前内存占用的列表

    我们也可以得到它logcat(这是读取 Android 设备事件日志的工具),并将其保存到特定文件,而不是在终端上打印:

    adb logcat -d -f /data/local/logcats.log

    此处的-d指定转储完整日志文件并退出标志,-f将标志指定为文件,而不是在终端上打印。我们在这里使用/data/local位置,而不是任何其他位置,因为这个位置可以写在大多数设备中。

    我们也可以使用它df命令检查文件系统一和可用的空间和大小:

    在 Android SDK 还有一个很棒的工具,叫 MonkeyRunner。该工具用于自动化和测试 Android 应用程序,甚至与应用程序交互。例如,我们可以使用 10 自动触摸、敲击和事件来测试应用程序adb shell中使用monkey 10命令:

    [email protected]:/ # monkey 10monkey 10Events injected: 10## Network stats: elapsed time=9043ms (0ms mobile,0ms wifi,9043ms not connected)

    我们可以在 ADB 使用它们。我们将继续下载其他我们将来使用的工具。

    Burp Suite

    下一章中使用的最重要的工具之一是 Burp 代理。我们将使用它来拦截和分析网络流量。通过拦截流量数据,可以评估和发现应用程序中的许多安全漏洞。在以下步骤中执行此操作:

  • 我们现在从官方网站http://portswigger.net/burp/download.html下载 burp 代理。下载安装后,需要打开 Burp 窗口,如下图屏幕截图所示。您还可以使用以下命令安装 Burp:java –jar burp-suite.jar 我们可以在下面的截图中看到,我们已经运行了 Burp 并显示默认界面:
  • 在 Burp Suite 在工具中,我们需要单击Proxy(代理)选项卡并访问Options(选项)选项卡配置代理设置。
  • 在Options选项卡中,我们可以看到默认选项被选中,这是127.0.0.1:8080。这意味着从我们的系统端口8080发送的所有流量都将由 Burp Suite 拦截并显示在其窗口。
  • 我们还需要选择默认代理127.0.0.1:8080并单击Edit(编辑)检查隐藏的代理选项。
  • 接下来,我们需要访问Request handling选项卡(请求处理)并选择Support invisible proxying (enable only if needed)(支持不可见代理(只在需要时使用)复选框:
  • 最后,我们使用它invisible选项操作代理:
  • 一旦设置了代理,我们将启动我们的模拟器和我们刚刚设置的代理。我们将使用以下模拟器命令http-proxy选项:emulator -avd [name of the avd] -http-proxy 127.0.0.1:8080 我们可以在下面的截图中看到如何使用命令:
  • 因此,我们已经配置了 Burp 代理和模拟器导致现在所有模拟器流量通过 Burp。在这里,您正在访问使用 SSL 网站可能会遇到问题,这些问题将涉及到以下章节。

    APKTool

    Android 反向工程中最重要的工具之一是 APKTool。它是反向第三方和封闭的二进制 Android 设计应用程序。这个工具将是我们未来章节逆向主题和恶意软件分析的重点之一。开始使用 APKTool,请执行以下步骤:

  • 为了下载 APKTool,我们需要访问https://code.google.com/p/android-apktool/downloads/list。我们需要下载两份文件:apktool1.5.3.tar.bz2,其中包含 apktool另一个文件取决于平台 – 无论是 Windows,Mac OS X 还是 Linux。
  • 一旦下载和配置完成,为了方便,我们还需要 APKTool 添加到我们的环境变量中。另外, 最好APKTool 设置为环境变量,或首先安装在/usr/bin中。然后我们可以从我们的终端运行 APKTool,如下图所示:
  • 总结

    在本章中,我们使用 Android SDK,ADB,APKTool 和 Burp Suite 建立了 Android 渗透试验环境。这些是 Android 最重要的工具熟悉的最重要的工具。

    在下一章中,我们将学习如何逆向和审计 Android 应用程序。我们还将使用一些工具,如 APKTool,dex2jar,jd-gui 和一些我们自己的命令行必杀技。

           

    发表评论:

    Powered By

    Copyright Your WebSite.Some Rights Reserved.