# Pentest Distro Builder

This script automates the process of building the most common pentesting Linux distributions, Kali Linux and Parrot Security OS.

## Running

Clone this repository with `git clone --recursive`, then make whatever changes you wish to make.
* Add any .deb files to the debs/ folder that you want installed into the image.
* Add any files to the filesystem/ folder that you want on the final system.
* Add any extra software from the repository you wish to install to the config/software.list.chroot file.
* Add any commands you want to have run during the build process to the config/pentest-distro-builder.chroot file.

When you're ready to build, run `sudo ./runme.sh` .  Once it's complete, the finished image will be copied to the images/ folder, and a log file will be created in the logs/ folder.

If you run the script without any options, it will build whichever OS you are currently running, and prompt for which desktop environment and repository you wish to use.  If you wish, however, you can manually specify these options instead (for example, to script an image to be built nightly or weekly):

| Flag | Option | Description |
| --- | --- | --- |
| -u | Unattended mode | Skip the menu (required for the other options to function) |
| -l | Distribution | Can be either "Kali" or "Parrot" |
| -d | Desktop environment | Can be one of "cinnamon", "gnome", "kde", "lxde", "mate", or "xfce" |
| -r | Repository (optional) | Can be either "default" for the distribution's default repo, or an IP address |

## Examples
`sudo ./runme.sh -u -l Kali -d mate -r 192.168.0.30`

This will build a Kali Linux .iso, with the MATE desktop environment, using a local repository at 192.168.0.30

`sudo ./runme.sh -u -l Parrot -d cinnamon`

This will build a Parrot Security OS .iso, with the Cinnamon desktop environment, using the default Parrot repository.  

If -r is unspecified, then the default will be used.
