跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

Kali Linux & Containerization (Apple's Container)

精选回复

发布于

如果您是Apple 用户,您可能听说过Apple 在WWDC 2025 期间即将推出的功能容器化。

快h2:

Container 是一个CLI 工具,与容器化配合使用。这就是最终用户与之交互的内容。容器化处理创建容器,与Virtualization.framework 进行通信。Virtualization.framework 是虚拟机管理程序API(高级),并通过Hypervisor.framework.Hypervisor.framework 为每个容器创建一个新的虚拟机。framework 是低级虚拟机管理程序API,它使用macOS 内核(虚拟机管理程序)。它类似于Microsoft 的Windows Subsystem for Linux 2 (WSL),其中启动了一个非常小的轻量级虚拟机(VM)背景,因此Linux 内核可以在非Linux 主机上使用(WSL2 使用Hyper-V)。不要与WSL1 混淆,它更像是WINE!

它将针对下一个主要操作系统版本macOS“Tahoe”26 以及macOS“Sequoia”15 公开发布。

容器化支持“符合开放容器倡议(OCI)”的容器,幸运的是我们的Kali 镜像就是这样!

设置

如果我们在尝试运行容器时看到的第一件事是:

~ % 容器

zsh: 命令未找到: 容器

~%

mldr;我们需要安装它。

快速检查以确保我们的系统受支持:

~ % sw_vers-产品版本

15.5

~%

~ % uname -m

ARM64

~%

我们在Apple Silicon 系列设备(又名arm64)上使用macOS 15.5。

我们很高兴出发!

如果安装了Homebrew:

〜%brew安装--木桶容器

==正在下载https://github.com/apple/container/releases/download/0.2.0/container-0.2.0-installer-signed.pkg

==从https://release-assets.githubusercontent.com/github-product-release-asset/993475914/c5fb6 下载a42-f282-4dd7-95c2-af9b142f0ed1?sp=rsv=2018-11-09sr=bspr=httpsse=2025-07-17T14%3A06%3A32Zr

######################################################################################################################################################################## 100.0%

==安装Cask 容器

==使用sudo 运行容器安装程序;可能需要密码。

密码:

installer: 软件包名称为container-0.2.0-installer-signed

installer: 在基本路径/升级

installer: 升级成功。

容器安装成功!

~%

否则,我们可以从github.com/apple/container 手动获取(签名的)安装文件。在编写它的container-0.2.0-installer-signed.pkg时。

现在当我们尝试运行它时:

~ % 容器

OVERVIEW: 适用于macOS 的容器平台

USAGE: 容器[--debug] 子命令

选项:

--debug 启用调试输出[environment: CONTAINER_DEBUG]

--version 显示版本。

-h, --help 显示帮助信息。

容器子命令:

创建创建一个新容器

delete, rm 删除一个或多个容器

exec 在正在运行的容器中运行新命令

检查显示有关一个或多个容器的信息

kill 杀死一个或多个正在运行的容器

list, ls 列出容器

日志获取容器stdio 或启动日志

run 运行容器

start 启动一个容器

stop 停止一个或多个正在运行的容器

图像子命令:

build 从Dockerfile 构建镜像

图像,图像,i 管理图像

registry, r 管理注册表配置

其他子命令:

builder 管理镜像构建器实例

system, s 管理系统组件

~%

mldr;但我们还没有完全做到这一点!

当我们使用容器尝试与Containerization交互时,我们可能会得到:

~ % 容器ls

Error: Interrupted: 'internalError: '未能列出容器'(cause: 'interrupted: 'XPC 连接错误: 连接无效'')

确保容器系统服务已通过“容器系统启动”启动。

~%

我们可以通过在后台启动服务来解决这个问题:

~ % 容器系统启动

验证apiserver 正在运行.

正在安装基本容器文件系统.

没有配置默认内核。

从[https://github.com/kata-containers/kata-containers/releases/download/3.17.0/kata-static-3.17.0-arm64.tar.xz] 安装推荐的默认内核? [是/否]: 是

正在安装内核.

~%

现在我们开始比赛了!

运行容器

像Docker 和Podman 一样,我们可以按照预期运行容器:

~ % 容器运行--rm -i -t kalilinux/kali-rolling

┌──(root㉿9ff4685f-76e1-42fa-86ba-f12e76c79843)-[/]

└─#id

uid=0(root) gid=0(root) groups=0(root)

第一次运行时,容器需要拉取容器镜像。

当前默认的容器注册表是DockerHub(Kali 位于其中)。

我们能够实现与Docker/Podman 相同的功能,如您所期望的,例如共享目录:

〜%容器运行--remove --interactive --tty --volume $(pwd):/mnt --workdir /mnt docker.io/kalilinux/kali-rolling:latest

┌──(root㉿4be77ff5-bd57-4076-8bf0-8e51caff047e)-[/mnt]

└─# uname -a

Linux 4be77ff5-bd57-4076-8bf0-8e51caff047e 6.12.28 #1 SMP 5 月20 日星期二15:19:05 UTC 2025 aarch64 GNU/Linux

别名

一旦一切按预期工作,我们可以创建一个快速别名,以避免每次重新输入完整命令:

〜%别名container-shell='容器运行--remove --interactive --tty --entrypoint=/bin/bash --volume $(pwd):/mnt --name'$(主机名-s)-$(mktemp -u XXXXXX)'--workdir/mnt'

~%

~ % echo 'alias container-shell='容器运行--remove --interactive --tty --entrypoint=/bin/bash --volume $(pwd):/mnt --name '$(hostname -s)-$(mktemp -u XXXXXX)' --workdir /mnt'' ~/.zshrc

~%

~ % 容器外壳kalilinux/kali-rolling:latest

┌──(root㉿mba22-vB9af6)-[/mnt]

└─#

疑难解答

目前容器化存在一些已知的限制,尤其是使用macOS“Sequoia”15,例如容器的网络访问无法获取IP 地址或无法访问网络。如果您遇到这些问题,我们建议您阅读并遵循Apple 的建议。

就像这样,我们有一种在macOS 上运行Kali 容器的快速方法。这是我们“Kali Everywhere”持续承诺的一部分,我们将您需要的工具放在尽可能多的地方,并方便您使用。运行Kali 的方法有很多种,请务必查看我们的Kali 获取页面,找到最适合您需求的方法。

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。