导语:在前两篇文章中,我们讲了安卓的基本机构和渗透测试工具,本节我们来深入讲解ADB(安卓调试桥)。

在前两篇文章(安卓应用程序渗透测试一)和(安卓应用程序渗透测试二)中,我们讲了安卓的基本机构和渗透测试工具,本节我们来深入讲解ADB(安卓调试桥)。

安卓调试桥(ADB)

· ADB是一个多功能命令行工具,可以让你与设备进行通信。

· Adb install—用于将apk文件安装到模拟器/连接设备中

· Adb pull—用于从模拟设备(远程)获取一些数据到本地主机(本地)

· Adb push—用于将本地主机的一些数据发送到模拟设备中(远程)

· Adb forward—将套接字连接从本地的指定端口转发到远程模拟器或具体设备的指定端口上

· Adb shell—Adb提供了一个UNIX shell,可用于在模拟器和连接设备上运行各种命令。在终端中,你可以执行所有的adb命令

2.png

我们可以ADB shell来安装应用程序或者可以直接通过使用appuse dashboard来安装

3.png

重点说明

· UID—每次在安卓设备中启动新应用程序时,都会为其分配唯一的用户ID

· PID—每个应用程序都有自己的进程ID

· GID—拥有该进程的应用程序的组ID

· Dumpsys meminfo命令—所有进程详细信息

4.png

Dumpsys meminfo apk文件名。

5.png

Android Package(APK)是安卓应用程序的默认扩展名,它只是一个压缩文件,里面包含了应用程序所需的所有文件和文件夹。

设备上应用程序的所有数据都可以在/data/data目录中找到。

6.png

设备中所有app,也就是apk文件都可以在/data/app目录中找到。

7.png

授予shell的标准权限可以通过查看/system/etc/permissions/目录下的platform.xml文件查看,进入该目录,通过cat命令查看。

8.png

9.png

通过ADB发起攻击

我们通常通过解锁各种手势或者密码来进入手机主页面,这些手势和密码会有一个对应的文件,存储在/data/system/目录中,如图:

10.png

如果你移除了gesture.key或者password.key文件,那么你就可以绕过锁屏,直接进入手机主页了,如图:

11.png

另一种方法

可以试试ADB shell,执行以下命令:

Cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
Update system set value=0 where name='lock_pattern_autolock';
Update system set value=0 where name='lockscreen.lockedoutpermanently'; .quit

然后重启手机,随便乱输一个手势或密码,你都能绕过锁屏直接进入手机。

敬请期待安卓应用程序渗透测试四。

源链接

Hacking more

...