# Update your system!
apt-get update
apt-get dist-upgrade
# Install needed tools
apt install -y git live-build cdebootstrap curl
# Clone Kali live build config files
git clone git://gitlab.com/kalilinux/build-scripts/live-build-config.git
# Overwrite default package lists with minimal needed packages
cd live-build-config/
cat kali-config/variant-default/package-lists/kali.list.chroot
echo cryptsetup > kali-config/variant-default/package-lists/kali.list.chroot
echo openssh-server >> kali-config/variant-default/package-lists/kali.list.chroot
echo nmap >> kali-config/variant-default/package-lists/kali.list.chroot
# Add files to live filesystem (Configure custom startup script)
mkdir -p kali-config/common/includes.chroot/lib/systemd/system/
# Register a custom "Angela" service to run /usr/bin/startssh
cat << EOF > kali-config/common/includes.chroot/lib/systemd/system/angela.service
[Unit]
Description=Start Custom Script
After=multi-user.target
[Service]
Type=idle
ExecStart=/bin/bash /usr/bin/startssh
[Install]
WantedBy=multi-user.target
EOF
# Create /usr/bin (and parents) on live file system
mkdir -p kali-config/common/includes.chroot/usr/bin/
# Create a "startssh" script to do our nefarious things
cat << EOF > kali-config/common/includes.chroot/usr/bin/startssh
#!/bin/sh
echo hola > /root/test.txt
EOF
# Create live hook to enable our custom service
cat << EOF > kali-config/common/hooks/live/angela.chroot
#!/bin/sh
systemctl enable angela.service || true
EOF
# Make it executable
chmod 755 kali-config/common/hooks/live/angela.chroot
# Create boot config file, adjust prompt, timeout, autoboot, etc:
cat << EOF > kali-config/common/includes.binary/isolinux/isolinux.cfg
include menu.cfg
default vesamenu.c32
prompt 0
timeout 20
ONTIMEOUT live-amd64
EOF
# Build the ISO!
./build.sh --verbose