GKLBB

当你经历了暴风雨,你也就成为了暴风雨

导航

KAL1 LINUX 官方文档之容器版本 --- Kali Linux LXC/LXD 镜像(更新于2022)

Kali Linux LXC/LXD 镜像

内容:


概述

Kali Linux 容器是理想的解决方案

  • 在其他 Linux 发行版中运行 Kali Linux
  • 为开发或测试活动提供隔离环境

没有虚拟机的开销。 Docker 是应用程序的首选解决方案,而 LXC/LXD 是整个系统的首选解决方案

Linux 容器提供快照和冻结等功能,这在开发或测试软件时非常方便。

Kali 镜像在LXC 和 LXD 的镜像服务器上可用,可以使用“images:”镜像服务器在 LXD 中轻松启动,也可以使用“lxc-download”模板在 LXC 中轻松启动。

LXC 是 Linux 内核包含特性的用户空间接口。通过强大的 API 和简单的工具,它可以让 Linux 用户轻松创建和管理系统或应用程序容器。

LXD 是下一代系统容器管理器。它提供了类似于虚拟机的用户体验,但使用的是 Linux 容器。它基于图像,包含可用于大量 Linux 发行版的预制图像,并围绕一个非常强大但非常简单的 REST API 构建。

LXD 与 LXC:

LXD 是两者中更方便的一种,但仅在 Ubuntu 或其他发行版(如 Kali)中作为 snap 包可用。

LXC 在更多发行版中可用,并且在 Kali 中是首选,因为它是本机支持的,并且不需要 snapd 来运行。


Ubuntu 主机上的命令行 Kali LXD 容器

在 Ubuntu 中安装 Kali Linux 容器只需要几个步骤:

  1. 安装 LXD
  2. 启动 Kali 容器
  3. 在容器内安装额外的包
  4. 创建非root用户
  5. 登录

1 - 通过 snap 安装 lxd 并执行初始设置:

kali@kali:~$ sudo snap install lxd
kali@kali:~$ lxd init

2 - 启动你的第一个 Kali Linux 容器
kali@kali:~$ lxc launch images:kali/current/amd64 my-kali

3 - 通过在容器内安装额外的包
kali@kali:~$ xc exec my-kali -- apt update
kali@kali:~$ xc exec my-kali -- apt install -y kali-linux-default kali-desktop-xfce

4 - 在本例中创建非 root 用户 - “kali”:
kali@kali:~$ lxc exec my-kali -- adduser kali
kali@kali:~$ lxc exec my-kali -- usermod -aG sudo kali
kali@kali:~$ lxc exec my-kali -- sed -i '1 i\TERM=xterm-256color' /home/kali/.bashrc
kali@kali:~$ lxc exec my-kali -- sh -c "echo 'Set disable_coredump false' > /etc/sudo.conf"

5 - 通过用户“kali”登录到新容器
kali@kali:~$ lxc console my-kali

瞧!

容器管理:
  • 开始:lxc start my-kali
  • 停止:lxc stop my-kali
  • 消除:lxc destroy my-kali

Ubuntu 主机上的 GUI Kali LXD 容器

安装 Kali 容器来运行 GUI 应用程序与前面的示例类似,但有几个额外的步骤:

  1. 安装 LXD
  2. 创建 GUI 配置文件并启动 Kali GUI 容器
  3. 在容器内安装额外的包
  4. 创建非root用户
  5. 启动 Kali Xfce 面板
  6. 自定义 Kali Xfce 面板

1 - 通过 snap 安装 lxd 并执行初始设置(如果尚未完成):

kali@kali:~$ sudo snap install lxd
kali@kali:~$ lxd init

2 - 启动你的第一个 Kali Linux 容器

kali@kali:~$ wget https://blog.simos.info/wp-content/uploads/2018/06/lxdguiprofile.txt
kali@kali:~$ lxc profile create gui
kali@kali:~$ cat lxdguiprofile.txt | lxc profile edit gui
kali@kali:~$ lxc profile list
kali@kali:~$ lxc launch --profile default --profile gui images:kali/current/amd64    gui-kali

3 - 通过在容器内安装额外的包
kali@kali:~$ lxc exec gui-kali -- apt update
kali@kali:~$ lxc exec gui-kali -- apt install -y kali-linux-default
kali@kali:~$ lxc exec gui-kali -- apt install -y kali-desktop-xfce

4 - 在本例中创建非 root 用户 - “kali”:

kali@kali:~$ lxc exec gui-kali -- adduser kali
kali@kali:~$ lxc exec gui-kali -- usermod -aG sudo kali
kali@kali:~$ lxc exec gui-kali -- sed -i '1 i\TERM=xterm-256color' /home/kali/.bashrc
kali@kali:~$ lxc exec gui-kali -- echo "export DISPLAY=:0" >> /home/kali/.bashrc
kali@kali:~$ lxc exec gui-kali -- sh -c "echo 'Set disable_coredump false' > /etc/sudo.conf"

5 - 通过启动 Kali Xfce 面板

kali@kali:~$ lxc exec gui-kali -- sudo -u kali xfce4-panel

根据需要自定义面板。

容器管理:
  • 开始:lxc start gui-kali
  • 停止:lxc stop gui-kali
  • 消除:lxc destroy gui-kali

Kali 主机上的特权 Kali LXC 容器

特权容器是由 root 创建并以 root 身份运行的容器。它们比非特权容器设置得更快,但本质上是不安全的。在 Kali 主机上安装特权 Kali Linux 容器只需要:

  1. 安装和设置 lxc
  2. 从镜像服务器下载kali镜像
  3. 启动容器
  4. 连接到容器

1 - 安装 lxc 并设置网络:

kali@kali:~$ sudo apt install -y lxc libvirt0 libpam-cgfs bridge-utils libvirt-clients libvirt-daemon-system iptables ebtables dnsmasq-base
kali@kali:~$
kali@kali:~$ sudo cat <<EOF > /etc/lxc/default.conf
lxc.net.0.type = veth
lxc.net.0.link = virbr0
lxc.net.0.flags = up
lxc.apparmor.profile = generated
lxc.apparmor.allow_nesting = 1
EOF
kali@kali:~$
kali@kali:~$ sudo virsh net-start default
kali@kali:~$ sudo virsh net-autostart default

2 - 从镜像服务器下载 Kali Linux 镜像
kali@kali:~$ lxc-create -t download -n my-kali

这将列出所有可用的图像。

出现提示时,输入:

  • 分布:卡利
  • 发布:当前
  • 架构:amd64(或其他适用)

3 - 启动容器
kali@kali:~$ sudo lxc-start -n my-kali -d

4 - 通过附加到容器
kali@kali:~$ sudo lxc-attach -n my-kali

你有它。接下来,您应该设置一个 root 密码并安装“kali-linux-default”元包。

容器管理:
  • 开始:sudo lxc-start -n my-kali -d
  • 停止:sudo lxc-stop -n my-kali
  • 列表:sudo lxc-ls -f
  • 信息:sudo lxc-info -n my-kali
  • 消除:sudo lxc-destroy -n my-kali

Kali 主机上的非特权 Kali LXC 容器

非特权容器在用户上下文中运行,被认为更安全,并且比使用特权容器更受欢迎。它稍微涉及的设置:

  1. 安装和设置 lxc
  2. 为非特权容器设置 LXC
  3. 从镜像服务器下载kali镜像
  4. 启动容器
  5. 安装一些额外的包
  6. 创建非root用户
  7. 登录

1 - 安装 lxc(如果需要):

kali@kali:~$ sudo apt install -y lxc libvirt0 libpam-cgfs bridge-utils libvirt-clients libvirt-daemon-system iptables ebtables dnsmasq-base

2 - 为非特权容器设置 LXC

kali@kali:~$ echo "$USER veth virbr0 10" | sudo tee -i /etc/lxc/lxc-usernet
kali@kali:~$ sudo sh -c 'echo "kernel.unprivileged_userns_clone=1" > /etc/sysctl.d/80-lxc-userns.conf'
kali@kali:~$ sudo sysctl kernel.unprivileged_userns_clone=1
kali@kali:~$ sudo chmod u+s /usr/libexec/lxc/lxc-user-nic
kali@kali:~$
kali@kali:~$ mkdir -p ~/.config/lxc
kali@kali:~$ cp /etc/lxc/default.conf ~/.config/lxc/default.conf
kali@kali:~$ sed -i 's/lxc.apparmor.profile = generated/lxc.apparmor.profile = unconfined/g' ~/.config/lxc/default.conf

接下来,我们必须添加两行~/.config/lxc/default.conf,其 subuid 和 subguid 与 和 中列出的相/etc/subuid匹配/etc/subgid首先让我们通过 id 获取cat /etc/s*i d grep $USER 结果应该如下所示:

kali:100000:65536
kali:100000:65536

将以下命令中的 ID 替换为上一个输出中的 ID:

kali@kali:~$ echo lxc.idmap = u 0 100000 65536 >> ~/.config/lxc/default.conf
kali@kali:~$ echo lxc.idmap = g 0 100000 65536 >> ~/.config/lxc/default.conf

3 - 从镜像服务器下载 Kali Linux 镜像
kali@kali:~$ lxc-create -t download -n my-kali

这将列出所有可用的图像。

出现提示时,输入:

  • 分布:卡利
  • 发布:当前
  • 架构:amd64(或其他适用)

4 - 启动容器
kali@kali:~$ lxc-start -n my-kali -d

但是在我们登录之前,我们会执行一些安装后的设置任务

5 - 安装默认包:

kali@kali:~$ lxc-attach -n my-kali apt update
kali@kali:~$ lxc-attach -n my-kali apt install -y kali-linux-default

6 - 创建一个非root用户:
kali@kali:~$ lxc-attach -n my-kali --clear-env adduser <username>
kali@kali:~$ lxc-attach -n my-kali --clear-env adduser <username> sudo

7 - 通过非root用户登录
kali@kali:~$ lxc-console

并在初始登录时执行以下操作以在控制台中获取一些颜色:

kali@kali:~$ sed -i '1 i\TERM=xterm-256color' ~/.bashrc
kali@kali:~$ . ~/.bashrc

容器管理:
  • 开始:sudo lxc-start -n my-kali -d
  • 停止:sudo lxc-stop -n my-kali
  • 列表:sudo lxc-ls -f
  • 信息:sudo lxc-info -n my-kali
  • 消除:sudo lxc-destroy -n my-kali

参考:


更新日期:2022 年 7 月 26 日
作者: re4son

 

posted on 2022-10-07 12:16  GKLBB  阅读(871)  评论(0编辑  收藏  举报