在WSL2中配置ADB隧道实现高效安卓渗透测试
在WSL2中设置ADB(隧道)
在Windows Subsystem for Linux 2(WSL2)中设置Android Debug Bridge(ADB)对移动渗透测试至关重要。本指南将介绍如何在WSL2内配置ADB,支持通过USB或Wi-Fi进行连接。
为什么选择WSL2而非Windows主机运行ADB?
虽然ADB可以在Windows上运行,但出于以下原因强烈建议在WSL2中进行渗透测试:
- Linux工具兼容性:许多渗透测试工具(如Frida、Objection和自定义bash脚本)需要或更适合Linux环境
- 脚本自动化优势:在Linux下使用Bash或Python可以更轻松实现APK提取、设备交互、载荷部署和漏洞利用等任务的自动化
简而言之,在WSL2中运行ADB能为移动安全评估提供更简洁、快速和可靠的配置方案。
先决条件
- 已启用开发者选项和USB调试的安卓设备
- 已安装WSL2(Ubuntu、Kali等发行版)
- WSL2中已安装OpenSSH Server
安装ADB
1. Windows端(仅初始设置)
- 下载Android SDK Platform Tools
- 将ZIP文件解压到方便访问的目录(如
C:\Users\YourName\Documents\platform-tools
) - (可选)将platform-tools文件夹添加到系统PATH变量以便全局访问
2. Ubuntu端(WSL2内)
在WSL2的Linux发行版中安装ADB:
sudo apt update
sudo apt install android-tools-adb android-tools-fastboot
验证安装:
adb version
设备连接方法
方法一:Wi-Fi连接
- 在Windows启动ADB服务:
PS> ./adb start-server
* daemon not running; starting now at tcp:5037
* daemon started successfully
- 在设备启用TCP/IP模式:
PS> ./adb tcpip 4444
-
获取设备IP(设置 > Wi-Fi > 高级设置)
-
从WSL2连接设备:
bash> adb connect <设备IP>:4444
already connected to <设备IP>:4444
首次连接时会失败,需在设备上允许USB调试并勾选"始终允许从此计算机连接"
- 验证连接:
bash> adb devices
List of devices attached
<设备IP>:4444 device
方法二:USB连接与SSH隧道
当无法使用Wi-Fi时,可通过SSH隧道使用USB连接。
- 在WSL2安装并启动OpenSSH服务:
bash> sudo apt update
bash> sudo apt install openssh-server
bash> sudo service ssh restart
- 在Windows主机启动ADB服务:
PS> adb kill-server
PS> adb start-server
- 创建Windows到WSL2的SSH隧道:
ssh -R 0.0.0.0:5037:127.0.0.1:5037 username@wsl_ip
该SSH命令在Windows主机和WSL实例间建立反向隧道:
-R
指定反向隧道(远程端口转发)0.0.0.0:5037
表示"在远程机器(WSL)的所有网络接口监听5037端口"127.0.0.1:5037
表示"将流量转发到客户端机器(Windows)的本地5037端口"
- 排查设备未显示问题:
如果在运行adb devices
时没有显示设备,可能需要先终止ADB服务。这可以防止WSL创建自己的服务器,确保其连接到Windows主机服务器。
未建立SSH隧道时在WSL运行adb devices
会显示:
bash> adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
这表明WSL创建了自己的ADB服务器而非使用Windows主机的转发连接。
解决方案是在检查连接前终止WSL中的ADB服务:
bash> adb kill-server
bash> adb devices
这将强制ADB使用SSH隧道与连接设备的Windows主机通信。
成功配置后,将看到已连接设备列表:
List of devices attached
adxxxxxc device
通过建立Windows与WSL2之间的SSH隧道,现在可以直接在WSL中运行移动渗透测试工具或脚本,同时访问连接到Windows的安卓设备。这消除了为Windows重写脚本的需要,显著提升了工作效率。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码