赞
踩
在之前的这篇文章里,我们学会了如何在任意已ROOT的手机上使用Kali Linux。不过,在很多情况下,由于厂商限制,手机不能够被ROOT。
而且,即使使用之前文章中的方案,模拟出的Kali Linux也仍然没有真实的Kali完整,并可能在一些小细节上出现问题。
好在,我们有终极解决方案——我们可以用虚拟化的方式在安卓手机上模拟出一个完整的x86_64 Kali Linux。
对于在ARM架构的安卓设备上运行x86_64已不足为奇,我们在之前的文章里已完全可以做到,并还运行了好几个不同版本的Windows。很显然,这个方法也适用于运行任何x86_64系统。
在我的小米6X上运行的该Kali虚拟机可以以可接受的速度响应命令,并至少能够满足日常使用。
我们已经了解了技术的可行性,以及与其它技术对比的优势劣势。我们也已经掌握了在已ROOT手机上运行Kali)以及在手机上运行任何x86_64系统的方。由于大量的细节和思路已经在后者中提到,我们在这篇文章内会跳过很多细节,将重点放在最重要的部分。
我们将在电脑上用VMWare Workstation创建一个最简安装的纯命令行Kali Linux虚拟机,并将它传输到手机上运行。然后,我们会改善体验,因为黑黑的纯命令行给人极不友好的感觉。
我假设你还没有安装该软件。请参考之前文章的2.2节安装VMWare Workstation Pro。
关于为什么要下载镜像,也在之前文章的2.1节做出了解释。
我们去Kali 官网上下载推荐的64位ISO镜像。
如果直接下载对你而言存在困难,你可以使用Torrent下载。
在VMWare中使用创建新的虚拟机
创建一个新的虚拟机。其各项配置可以参考下图的设置。对于其中各参数的具体含义,可以在之前文章的2.3.1节看到。
VMWare在客户机操作系统类型中没有设置Kali Linux。但由于Kali基于Debian,我们用版本最相近的Debian系统类型代替。
将ISO复制到虚拟机文件夹,并添加。
启动虚拟机,选择Install
安装纯命令行Kali。
我们可以选择简体中文。
时区选择中国
。
选择汉语
。
经过一段时间的安装后,我们被要求设置设备名。
我们被要求填写域名。可以留空。
为了安全起见,我们需要创建一个日常使用的普通用户。设置显示时的友好全名。
以及其用户名。
我们可以设置一个简单的密码,如果你确信你在私有安全的网络上使用它。
我们不需要复杂的分区方法。使用整个硬盘即可。
选择我们的硬盘。
我们不勾选任何桌面或工具集(不勾选时[ ]
中应无*
),这样Kali将保持最简安装。
选择是。
继续
,然后系统会自动重启。
之后,我们便可成功登录,看到了彩色的zshell。
我们尝试连接网络,发现可以。
为了之后使任意设备都能连接到虚拟机,我们需要在Kali上安装SSH服务。执行下面的命令安装SSH。
sudo apt update
sudo apt install openssh-server -y
我们将启动SSH服务,并将其设置为开机启动。
sudo systemctl start ssh
sudo systemctl enable ssh
我们检查SSH服务状态,并尝试自己连接到自己的SSH服务。
sudo systemctl status ssh
ssh xyzzklkuser@localhost
现在,我们重启虚拟机,确保重启后SSH服务仍然可用。
sudo reboot
sudo systemctl status ssh
我们将使用Limbo运行虚拟机。对于Limbo的安装,请查看之前文章的3.2节。你还会需要黑客键盘来模拟一个电脑键盘。查看之前文章的第3.3节来安装。关于如何将虚拟机传输到手机,查看之前文章的3.1节。
我们将在Limbo中新建一个虚拟机,使用我们的Kali硬盘文件。其它参数先设置为与我们之前制作的Windows Server 2008虚拟机的参数(参阅之前文章的第3.4节)相同。
对于显示模式,第一次尝试可以使用SDL
。确认无故障后可以改为VNC
。
然后,我们需要设置端口转发。我们将把宿主机的22222
端口以tcp
协议转发到虚拟机的22
端口。为了达到这个目的,在网络
下的端口转发
中填写如下内容:
tcp:22222:22
我假设你已经能够正常启动虚拟机。
这个黑黑的命令行和丑陋的字体,使用起来实在难以接受。所以,现在,你可以用SSH连接到你的虚拟机!你将会体验舒适的SSH客户端带来的感觉!这时,你就需要一个SSH客户端。你可以使用任何你喜欢的SSH客户端。不过,对于安卓用户,有以下几个值得一试的选项。
JuiceSSH使用起来非常舒适。下面,我们用JuiceSSH连接到了虚拟机,并执行了一些命令。
由于虚拟机的性能关系,命令的执行算不上迅速,但性能足以应付日常使用。例如,搭建一个红队命令和控制服务器(Command & Control Server)。
ConnectBot是一款开源免费的安卓SSH客户端。不过,使用起来似乎在流畅性上不如JuiceSSH。
Termius是一款支持iOS平台的SSH客户端。直接在苹果应用商店中搜索Termius即可找到。
Termux在安卓系统上模拟出一个同架构的命令行Linux系统。你可以选择用它连接到你的Termux。
要想在Termux上连接到ssh,你需要执行下面的命令。
pkg upgrade
pkg install openssh
ssh 用户名@IP地址
ssh -p 22222 xyzzklkuser@192.168.1.151
这将更新所有包,并将openssh安装到你的termux,以使你能够执行命令ssh
。
你可以使用其它SFTP客户端连接到虚拟机。这将给操作文件系统带来快捷和方便。
相比于安卓手机,iPad的屏幕更大,阅读起来更舒适。我们很有必要把iPad转化成大屏幕。
这时,你就可以在你的iPad上安装Termius,并用它连接到你的虚拟机。
如果你有蓝牙鼠标和键盘,可以将它们连接到iPad上。这将大大提升打字的速度和舒适度。
现在,你已有一台在你掌控之下的x64 Kali。你可以拿它做任何事。
对当前这刻正在写这句话的我,运行一个Cobalt Strike团队服务器会是一个很不错的选择。这意味着,你能拿你的手机作为C&C服务器,控制目标主机或模拟僵尸网络,而无需额外购买单独的服务器。
默认情况下,当你断开一个ssh连接,上面的所有程序都会停止运行。你可能需要用screen
命令来保留会话。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。