Sostanzialmente creare una iso di un sistema operativo non è molto difficile perchè bastano pochi comandi, il problema è aggiungere tutte le modifiche fatte al sistema operativo. Alla fine le cartelle che dobbiamo creare o modificare non sono molte, ma bisogna stare attenti ad includere tutto prima di creare l’iso altrimenti una volta creata e installata su un PC ci accorgeremmo che mancano dei pezzi e bisognerà ricreare l’iso.
Per prima cosa ci creiamo una cartella chiamata Kali-Iso-Build:
mkdir Kali-Iso_BuildUna volta creata la cartella ci andiamo dentro e lanciamo questo comando:
git clone https://gitlab.com/kalilinux/build-scripts/live-build-config.gitQuesto comando ci creerà un clone di Kali Linux (ovviamente se si vuole copiare una altra distro si dovrà mettere il repository di quella distro), ora tutte le modifiche che andremo a fare le andremo a fare all’interno di questa cartella:
Per prima cosa ci creiamo le seguenti cartelle nel caso in cui non siano presenti:
mkdir live-build-config/config/config/includes.chroot/etc
mkdir live-build-config/config/config/includes.chroot/home
mkdir live-build-config/config/config/includes.chroot/usr
mkdir live-build-config/kali-config/variant-custom
cd live-build-config/kali-config/variant-custom
#Ora all'interno di questa cartella ci andiamo a copiare il contenuto della cartella live-build-config/config, tutte le cartelle e file. Questo lo dobbiamo fare per includere di fatto tutte le modifiche che andremo a fare.
cd includes.chroot
mkdir home
mkdir usr
mkdir etcOra queste tre cartelle home, etc, usr saranno equivalenti alle home, etc, usr del nostro sistema in uso, quindi saranno queste quelle che andremo ad utilizzare maggiormente.
Quindi nel mio caso che ho aggiunto bspwm, sxhkd, ecc dovrò crearmi un utente all’interno della cartella home, un file .config all’interno dell’utente con all’interno tutti i file bspwm, polybar, sxhkd, ecc in entrambi i percorsi live-build-config/kali-config/variant-custom/includes.chroot/home,live-build-config/config/config/includes.chroot/home
Quindi dalle home di entrambi i percorsi digitiamo:
mkdir Kali
cd Kali
mkdir .config
mkdir bspwm polybar sxhkd picom, ecc
Lo stesso lo facciamo nelle cartelle etc e usr, non sto a mettere le cartelle da includere perchè variano nel tempo e quindi ogni volta sarebbe diverso, comunque quelle che ho incluso in quella che ho fatto sono le seguenti:
ls etc
X11 default live mysql profile.d sudoers.d
ls usr
lib share
A livello teorico se vuoi una copia esatta del tuo sistema attuale puoi andare nelle cartelle interessare e copiare tutto il contenuto all’interno di queste qua dell’iso, a livello pratico molto probabilmente sorgeranno comunque degli errori.
Ora vai nella cartella variant-custom e digita:
cd package-lists
nano custom.list.chroot
All’interno di questo file andremo ad inserire tutti i programmi che vogliamo preinstallati all’interno dell’iso, come ad esempio:
bspwm
polybar
picom
kitty
sxhkd
rofi
feh
xfconf
dbus
gdm3
firmware-realtek
sudo
net-tools
nmap
masscan
gobuster
dirb
nikto
burpsuite
sqlmap
wfuzz
aircrack-ng
wifite
ettercap-graphical
bettercap
tcpdump
wireshark
metasploit-framework
exploitdb
netcat
socat
whois
theharvester
sublist3r
amass
whatweb
hashcat
john
hydra
openvpn
responder
curl
wget
smbmap
python3
python3-pip
ruby
perlDopo aver eseguito tutte queste operazioni ci possiamo dirigere alla cartella live-build-config e lanciare i seguenti comandi:
lb --version #Per verificare che il programma sia installato
#In caso non lo fosse lo scarichiamo con il seguente comando
sudo apt update
sudo apt install live-build -y
#Dopo averlo installato possiamo costruire l'iso
sudo ./auto/config
sudo lb build
Questi due comandi ci andranno a creare un file iso.hybrid che si potrà flashare come un qualsiasi file iso o inserire in virtualbox con tutte le nostre modifiche già inserite.
Nel caso in cui nella nuova distro mancassero delle cose e si volessero aggiungere ad una nuova iso non sarebbe necessario rifare tutto da capo perchè con il comando:
sudo lb clean --purgeLanciato dalla cartella live-build-config ci permette di cancellare tutti i file inutili e ripetere l’operazione senza dover ricopiare di nuovo tutto, una volta lanciato questo comando e modificato quello che c’era da modificare possiamo rilanciare i comandi:
sudo ./auto/config
sudo lb buildPer creare una nuova iso.