1.介绍
1.1 效果演示
通过这篇文章我们能够实现在网页上使用Kali, 并且相比在传统的Vmware中安装Kali占用资源更少并且响应速度更快, 并且支持动态缩放分辨率以及复制粘贴文本内容甚至能够安装QQ, 搭配上内网穿透就能够在任意的设备上远程使用Kali.
1.2 环境要求
操作系统要求: Linux系统
可以是本地vmware虚拟机, 也可以是云服务器, 发行版本可以是ubuntu也可以是centos, 下面的步骤都是基于ubuntu进行
环境要求
docker环境, 下面会介绍安装步骤.
2.安装Docker
2.1 Docker简介
Docker 是一种开源的容器化平台,通过将应用程序及其所有依赖项打包到容器中,实现快速部署、跨环境运行和资源有效利用,提升了软件开发和部署的便捷性、安全性和性能, 可以将其理解为一种虚拟化技术, 但和Vmware不同, Docker容器共享宿主系统内核,相比 VMware虚拟机更轻量级,启动更快,占用更少资源。在将来我们将分享更多基于Docker构建的应用。
想要更深入的了解Docker安装使用可以参考菜鸟Docker教程:
Docker 教程 | 菜鸟教程 – 自行搜索菜鸟docker教程
2.2 安装Docker
kasmweb/kali-rolling-desktop这个项目是基于docker构建的一个WEB版本的KALI, 实际上是通过VNC访问KALI, 但他的这个VNC是从noVNC中二次开发的一个项目, 相比原有的noVNC优化了非常多的功能.
所以我们在安装kali之前需要先通过一条命令安装docker, 不同操作系统下的安装和docker的使用可以参考2.1中的链接进行安装, 下面的所有演示步骤都是基于ubuntu22.04操作系统进行.
sudo apt update && sudo apt install docker.io
2.3 查看是否安装成功
使用docker需要拥有root权限, 所以在运行docker时我们需要使用sudo执行如下命令
sudo docker run hello-world
如果出现下面的内容说明docker已经成功安装并运行
- 下载并启动Kali
3.1 下载Kali
通过执行下面的命令, 使用我们上面安装的Docker下载指定版本的Kali容器镜像, 该镜像内包含了Kali中的常用工具, 下载好后就不需要额外手动安装工具, 所以体积也较大需要耐心等待一段时间等待其自动下载解压完成.
sudo docker pull kasmweb/kali-rolling-desktop:1.14.0
6339d7ed6072a2d319bcd5c500264e9
3.2 通过镜像启动Kali
使用下面的命令启动Kali的容器
sudo docker run -itd --shm-size=2048m -p 6901:6901 --name kali -e VNC_PW=password kasmweb/kali-rolling-desktop:1.14.0
itd : 这三个参数合在一起使用,分别表示:
-i: 保持标准输入打开。
-t: 分配一个伪TTY终端。
-d: 在后台运行容器。
–shm-size=2048m: 设置给该容器分配的内存大小为2048M字节, 可以根据自己设备的内存情况分配内存, 但是建议大一点。
-p 6901:6901: 将容器的端口6901映射到宿主机的端口6901,允许通过6901端口访问容器中运行的应用程序。
–name kali: 为容器指定一个名称为”kali”,用于在后续操作中使用这个容器。
-e VNC_PW=password: 设置一个环境变量VNC_PW的值为password,这个环境变量用于VNC远程连接时的密码验证。
3.3 赋予默认用户ROOT权限(可选)
因为安全原因, 系统默认的用户kasm-user没有ROOT权限, 所以我们需要通过docker执行容器内命令赋予其免密执行sudo的权限
sudo docker exec --user root -it kali bash -c ‘echo “kasm-user ALL=(ALL) NOPASSWD: ALL” >> /etc/sudoers’
docker exec: 在运行的容器中执行命令。
–user root: 指定以root用户身份执行命令。
it: 这两个参数结合使用,分别表示:
-i: 保持标准输入打开。
-t: 分配一个伪TTY终端。
kali: 指定要执行命令的目标容器,这里是名为”kali”的容器, 这个参数的值就是我们上面通过–name kali指定的名称kali, 也可以换成其他的名称, 但是对应的操作容器时候也需要指定对应设置的名称。
bash: 在容器中执行的命令是启动一个bash shell。
-c ‘echo “kasm-user ALL=(ALL) NOPASSWD: ALL” >> /etc/sudoers’: 这部分命令的作用是将"kasm-user ALL=(ALL) NOPASSWD: ALL"这行内容追加到/etc/sudoers文件中,这行内容的含义是允许kasm-user用户在任何主机上以任何用户身份执行任何命令时无需输入密码。
3.4 访问KALI
获取我们宿主机的IP,通过 https://ip:6901 进行连接; 例如我的Linux宿主机的IP地址为192.168.5.128, 通过浏览器访问地址https://192.168.5.128:6901 输入默认的用户名密码 kasm_user/password ,其中的password是我们3.2中启动Kali时设置的参数
账号面慢输入完成后即可访问到我们的Kali进行操作了, 为了方便我们的复制粘贴操作我建议允许浏览器访问我们的剪贴板, 之后我们就可以如同操作虚拟机一样使用WEB版本的KALI了.
- Kali的启停和删除
4.1 关闭Kali
只需要在宿主机上执行一条命令, 即可暂时关闭Kali
暂时关闭kali容器
sudo docker stop kali
重新启动kali容器
sudo docker start kali
查看所有的docker容器情况
sudo docker ps -a
4.2 删除Kali
同样的只需要一条命令即可删除Kali, 但是需要注意请备份好自己的重要数据.
sudo docker rm -f kali
image
- TIPS
5.1 遇到问题或错误
在操作过程中如果遇到任何错误或者问题, 可以留言或私信我, 我会帮助大家解决遇到的问题.
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取