封裝定制自己的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