在任意手机上使用完整的Kali Linux

第1章 准备开始

1.1 技术背景

之前的这篇文章里,我们学会了如何在任意已ROOT的手机上使用Kali Linux。不过,在很多情况下,由于厂商限制,手机不能够被ROOT。

而且,即使使用之前文章中的方案,模拟出的Kali Linux也仍然没有真实的Kali完整,并可能在一些小细节上出现问题。

好在,我们有终极解决方案——我们可以用虚拟化的方式在安卓手机上模拟出一个完整的x86_64 Kali Linux。

对于在ARM架构的安卓设备上运行x86_64已不足为奇,我们在之前的文章里已完全可以做到,并还运行了好几个不同版本的Windows。很显然,这个方法也适用于运行任何x86_64系统。

1.2 性能可以达到何种程度?

在我的小米6X上运行的该Kali虚拟机可以以可接受的速度响应命令,并至少能够满足日常使用。

1.3 摘要

我们已经了解了技术的可行性,以及与其它技术对比的优势劣势。我们也已经掌握了在已ROOT手机上运行Kali)以及在手机上运行任何x86_64系统的方。由于大量的细节和思路已经在后者中提到,我们在这篇文章内会跳过很多细节,将重点放在最重要的部分。

我们将在电脑上用VMWare Workstation创建一个最简安装的纯命令行Kali Linux虚拟机,并将它传输到手机上运行。然后,我们会改善体验,因为黑黑的纯命令行给人极不友好的感觉。

第2章 在电脑上创建一个最简Kali Linux虚拟机

2.1 安装VMWare Workstation Pro

我假设你还没有安装该软件。请参考之前文章的2.2节安装VMWare Workstation Pro。

2.2 下载Kali Linux amd64 ISO镜像

关于为什么要下载镜像,也在之前文章的2.1节做出了解释。

我们去Kali 官网上下载推荐的64位ISO镜像
在这里插入图片描述
如果直接下载对你而言存在困难,你可以使用Torrent下载。

2.3 用VMWare创建虚拟机

2.3.1 新建虚拟机

在VMWare中使用创建新的虚拟机创建一个新的虚拟机。其各项配置可以参考下图的设置。对于其中各参数的具体含义,可以在之前文章的2.3.1节看到。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

VMWare在客户机操作系统类型中没有设置Kali Linux。但由于Kali基于Debian,我们用版本最相近的Debian系统类型代替。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将ISO复制到虚拟机文件夹,并添加。
在这里插入图片描述

2.3.2 安装系统

启动虚拟机,选择Install安装纯命令行Kali。在这里插入图片描述

我们可以选择简体中文。
在这里插入图片描述

时区选择中国
在这里插入图片描述

选择汉语
在这里插入图片描述

经过一段时间的安装后,我们被要求设置设备名。
在这里插入图片描述

我们被要求填写域名。可以留空。
在这里插入图片描述

为了安全起见,我们需要创建一个日常使用的普通用户。设置显示时的友好全名。
在这里插入图片描述

以及其用户名。
在这里插入图片描述

我们可以设置一个简单的密码,如果你确信你在私有安全的网络上使用它。
在这里插入图片描述

我们不需要复杂的分区方法。使用整个硬盘即可。
在这里插入图片描述

选择我们的硬盘。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我们不勾选任何桌面或工具集(不勾选时[ ]中应无*),这样Kali将保持最简安装。
在这里插入图片描述

选择是。
在这里插入图片描述
在这里插入图片描述

继续,然后系统会自动重启。
在这里插入图片描述

2.3.3 进入系统

之后,我们便可成功登录,看到了彩色的zshell。
在这里插入图片描述

我们尝试连接网络,发现可以。
在这里插入图片描述

2.4 启用远程连接

2.4.1 安装SSH

为了之后使任意设备都能连接到虚拟机,我们需要在Kali上安装SSH服务。执行下面的命令安装SSH。

sudo apt update
sudo apt install openssh-server -y

2.4.2 启用SSH服务

我们将启动SSH服务,并将其设置为开机启动。

sudo systemctl start ssh
sudo systemctl enable ssh

2.4.3 验证SSH服务可用

我们检查SSH服务状态,并尝试自己连接到自己的SSH服务。

sudo systemctl status ssh
ssh xyzzklkuser@localhost

在这里插入图片描述
在这里插入图片描述

现在,我们重启虚拟机,确保重启后SSH服务仍然可用。

sudo reboot
sudo systemctl status ssh

在这里插入图片描述

第3章 在手机上使用虚拟机

3.1 准备工作

我们将使用Limbo运行虚拟机。对于Limbo的安装,请查看之前文章的3.2节。你还会需要黑客键盘来模拟一个电脑键盘。查看之前文章的第3.3节来安装。关于如何将虚拟机传输到手机,查看之前文章的3.1节。

3.2 新建一个Limbo虚拟机

我们将在Limbo中新建一个虚拟机,使用我们的Kali硬盘文件。其它参数先设置为与我们之前制作的Windows Server 2008虚拟机的参数(参阅之前文章的第3.4节)相同。

对于显示模式,第一次尝试可以使用SDL。确认无故障后可以改为VNC

然后,我们需要设置端口转发。我们将把宿主机的22222端口以tcp协议转发到虚拟机的22端口。为了达到这个目的,在网络下的端口转发中填写如下内容:

tcp:22222:22

在这里插入图片描述

3.3 远程连接到虚拟机的SSH服务

3.3.1 相对于在VNC下使用命令行,使用SSH连接虚拟机

我假设你已经能够正常启动虚拟机。
在这里插入图片描述

这个黑黑的命令行和丑陋的字体,使用起来实在难以接受。所以,现在,你可以用SSH连接到你的虚拟机!你将会体验舒适的SSH客户端带来的感觉!这时,你就需要一个SSH客户端。你可以使用任何你喜欢的SSH客户端。不过,对于安卓用户,有以下几个值得一试的选项。

3.3.2 使用JuiceSSH作为客户端

JuiceSSH使用起来非常舒适。下面,我们用JuiceSSH连接到了虚拟机,并执行了一些命令。
在这里插入图片描述
在这里插入图片描述
由于虚拟机的性能关系,命令的执行算不上迅速,但性能足以应付日常使用。例如,搭建一个红队命令和控制服务器(Command & Control Server)。

3.3.3 使用ConnectBot作为客户端

ConnectBot是一款开源免费的安卓SSH客户端。不过,使用起来似乎在流畅性上不如JuiceSSH。

3.3.4 使用Termius作为客户端

Termius是一款支持iOS平台的SSH客户端。直接在苹果应用商店中搜索Termius即可找到。

3.3.5 使用Termux作为客户端

Termux在安卓系统上模拟出一个同架构的命令行Linux系统。你可以选择用它连接到你的Termux。
要想在Termux上连接到ssh,你需要执行下面的命令。

pkg upgrade
pkg install openssh
ssh 用户名@IP地址
ssh -p 22222 xyzzklkuser@192.168.1.151

这将更新所有包,并将openssh安装到你的termux,以使你能够执行命令ssh

3.4 SFTP服务

你可以使用其它SFTP客户端连接到虚拟机。这将给操作文件系统带来快捷和方便。

第4章 改善体验——让使用虚拟机变得更舒服

4.1 在iPad上使用SSH客户端

相比于安卓手机,iPad的屏幕更大,阅读起来更舒适。我们很有必要把iPad转化成大屏幕。

这时,你就可以在你的iPad上安装Termius,并用它连接到你的虚拟机。

4.2 人体工学输入设备

如果你有蓝牙鼠标和键盘,可以将它们连接到iPad上。这将大大提升打字的速度和舒适度。

第5章 进一步探索

现在,你已有一台在你掌控之下的x64 Kali。你可以拿它做任何事。

5.1 红队C&C

对当前这刻正在写这句话的我,运行一个Cobalt Strike团队服务器会是一个很不错的选择。这意味着,你能拿你的手机作为C&C服务器,控制目标主机或模拟僵尸网络,而无需额外购买单独的服务器。

5.2 保留会话

默认情况下,当你断开一个ssh连接,上面的所有程序都会停止运行。你可能需要用screen命令来保留会话。

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值