封装定制自己的Kali-Linux ISO

Kali Linux ISO简介
构建自定义的Kali ISO既简单,有趣又有意义。您几乎可以使用Debian动态构建脚本来配置Kali ISO构建的任何方面。
这些脚本允许开发人员通过提供一个框架来轻松构建实时系统映像,该框架使用配置集来自动化和自定义构建映像的所有方面。
Kali Linux开发团队已采用了这些脚本,并且已使用它们来制作正式的Kali ISO版本。
您应该在哪里建立ISO?
最理想的是在预装Kali的环境里定制你的Kali ISO.如果不是这样,请务必使用最新版本的live-build脚本。
一、准备就绪-设置实时构建系统
- 我们首先需要通过使用以下命令安装和设置实时构建及其要求来准备Kali ISO构建环境:
> sudo apt update
> sudo apt install -y curl git live-build cdebootstrap
> git clone https://gitlab.com/kalilinux/build-scripts/live-build-config.git
- github kali_live镜像包装地址github地址入口
- 现在,您只需输入
目录并运行我们的build.sh包装器脚本,即可构建更新的Kali ISO ,如下所示live-build-config
> cd live-build-config/
> ./build.sh --verbose
- 该build.sh脚本将需要一段时间才能完成,因为它会下载创建ISO所需的所有必需软件包,取决于你的网络快慢。
二、配置Kali ISO构建(可选)
构建说明
如果您想自定义您的Kali Linux ISO,本节将解释一些细节。通过kali-config目录,Kali Linux live build支持各种自定义选项,这些选项在Debian live build 4.x页面上有详细记录。但是,对于不耐烦的人,这里是一些重点。
使用不同的桌面环境构建Kali
从Kali 2.0开始,我们现在支持各种桌面环境的内置配置,包括 KDE,Gnome,E17,I3WM,LXDE,MATE和XFCE
。要构建其中的任何一个,您将使用类似于以下内容的语法:
#These are the different Desktop Environment build options:
> ./build.sh --variant {gnome,kde,xfce,mate,e17,lxde,i3wm} --verbose
#To build a KDE ISO:
> ./build.sh --variant kde --verbose
#To build a MATE ISO:
> ./build.sh --variant mate --verbose
#...and so on.
控制构建中包含的软件包
- 您的构建中包含的软件包列表将出现在相应的
目录中。
kali- $ variant
- 例如,如果要构建默认的Xfce ISO,则应使用以下软件包列表文件
。
-kali-config / variant-xfce / package-lists / kali.list.chroot
- 默认情况下,此列表包括
元软件包以及其他一些软件包。可以将它们注释掉并替换为包的手动列表,以包括在ISO中以获得更大的定制性。
kali-linux-default
说明
目录里包含了定制ISO的各种重要的自定义选项,这些选项在Debian的live build 3.x页面有文档说明.然而如果你没有耐心,请特别注意以下的配置文件:
config
包含要安装在Kali ISO里的软件包的列表.你可以指定移除已经安装的软件包.也可以切换你的Kali ISO的桌面环境(KDE,Gnome,XFCE,LXDE等).
config/package-lists/kali.list.chroot
目录允许我们在不同阶段调用脚本封装定制Kali Live ISO.更多关于hooks的信息,参考live build 手册.举个例子,Kali是这样添加取证模式的引导菜单的:
hooks/ – hooks
$ cat config/hooks/forensic-menu.binary
#!/bin/sh
cat >>binary/isolinux/live.cfg <<END
label live-forensic
menu label ^Live (forensic mode)
linux /live/vmlinuz
initrd /live/initrd.img
append boot=live noconfig username=root hostname=kali noswap noautomount
END
三、封装ISO
在封装ISO之前,可以指定需要的架构,选择amd64或者i386.还要注意 lb build
需要root权限.如果你不指定架构,live build将根据你现在使用的架构来封装ISO.
- 如果你想在在32位系统封装64位的ISO,务必打开多架构支持:
> dpkg --add-architecture amd64
> apt-get update
- 配置live-build封装64位或者32位ISO:
> lb config --architecture amd64 # for 64 bit
# ...or...
> lb config --architecture i386 # for 32 bit
# ...finshed...
> lb build
- 最后一个命令需要一些时间,因为它下载所有需要的软件包然后封装ISO.可以先去喝杯咖啡.
四、为今后封装ISO提速
如果你打算经常定制ISO,你可以把kali的软件包缓存在本地便于今后的封装.最简单的就是安装apt-cacher-ng,然后在每次打包时配置http_proxy环境变量.
> apt-get install apt-cacher-ng
> /etc/init.d/apt-cacher-ng start
> export http_proxy=http://localhost:3142/.... # setup and configure your live build
> lb config --apt-http-proxy http://127.0.0.1:3142/
> lb build
五、为较早的i386架构封装ISO(附加)
i386架构封装ISO
Kali Linux i386 ISO已启用PAE。如果您需要禁用PAE的较旧硬件的默认内核,则需要重建Kali Linux ISO。
- 重建过程与上述过程基本相同,不同之处在于,需要按如下所示在
中将auto / config
。首先,安装先决条件。686-pae参数更改为586
> sudo apt install -y git live-build cdebootstrap debootstrap
> git clone https://gitlab.com/kalilinux/build-scripts/live-build-config.git
- 接下来,针对适当的架构在
中进行更改:auto / config
> cd live-build-config/
> sed -i 's/686-pae/686/g' auto/config
- 最后,运行您的构建。
> ./build.sh --arch i386 --verbose
在基于非KALI DEBIAN的系统上构建KALI
您可以在Kali以外的基于Debian的系统上轻松运行实时构建。以下说明已经过测试,可以与Debian和Ubuntu一起使用。
- 首先,我们通过确保系统已完全更新来准备系统,然后继续下载Kali存档密钥链和实时构建软件包。
> sudo apt update
> sudo apt upgrade
> cd /root/
> wget http://http.kali.org/pool/main/k/kali-archive-keyring/kali-archive-keyring_2018.2_all.deb
> wget https://archive.kali.org/kali/pool/main/l/live-build/live-build_20190311_all.deb
- 完成后,我们将安装一些其他依赖项和以前下载的文件。
> sudo apt install -y git live-build cdebootstrap debootstrap curl
> sudo dpkg -i kali-archive-keyring_2018.2_all.deb
> sudo dpkg -i live-build_20190311_all.deb
- 准备好所有环境后,我们通过设置构建脚本并检查出构建配置来开始实时构建过程。
> cd /usr/share/debootstrap/scripts/
> echo "default_mirror http://http.kali.org/kali"; sed -e "s/debian-archive-keyring.gpg/kali-archive-keyring.gpg/g" sid > /tmp/kali
> sudo mv /tmp/kali .
> sudo ln -s kali kali-rolling
> cd ~
> git clone https://gitlab.com/kalilinux/build-scripts/live-build-config.git
> cd live-build-config/
- 此时,我们必须编辑build.sh脚本以绕过版本检查。为此,我们注释掉下面的
。exit 1
# Check we have a good debootstrap
ver_debootstrap=$(dpkg-query -f '${Version}' -W debootstrap)
if dpkg --compare-versions "$ver_debootstrap" lt "1.0.97"; then
if ! echo "$ver_debootstrap" | grep -q kali; then
echo "ERROR: You need debootstrap >= 1.0.97 (or a Kali patched debootstrap). Your current version: $ver_debootstrap" >&2
exit 1
fi
fi
- 进行更改后,脚本应如下所示:
# Check we have a good debootstrap
ver_debootstrap=$(dpkg-query -f '${Version}' -W debootstrap)
if dpkg --compare-versions "$ver_debootstrap" lt "1.0.97"; then
if ! echo "$ver_debootstrap" | grep -q kali; then
echo "ERROR: You need debootstrap >= 1.0.97 (or a Kali patched debootstrap). Your current version: $ver_debootstrap" >&2
# exit 1
fi
fi
- 此时,我们可以正常建立ISO
> sudo ./build.sh --variant light --verbose
发布日期:2020/09/22
作者:DreamStaro