custom-kali-linux
is a collection of customized Kali Linux images for various use cases. All these images are available on my docker-hub repo. These images are based on kalilinux/kali-rolling
, but they differ in terms of the packages used during the build process. There are two main packages used:
kali-desktop-core
🖥️kali-linux-default
🛡️
For more information about the different Kali Linux packages, please visit the official metapackages page.
All images in this repository provide access to the server via RDP (port 13389) 🖥️, VNC (port 5908) 🖥️, and SSH (port 20022) 🔐. The repository offers four main tags:
-
core
: These images are built with thekali-linux-core
package and have minimal dependencies (related to text editing and version control). They provide lightweight instances and correspond to the Long Term Support (LTS) version ofcustom-kali-linux
. Updates are less frequent. 🌱 -
default
: This image is built with thekali-linux-default
package and includes additional CLI tools for cybersecurity. It is also tagged aslatest
. 🚀 -
meta
: Built from the base imageraviprakash1907/custom-kali-linux:default
, this image is designed for metaverse and extended reality (XR) development and is expected to receive frequent updates. 🌟 -
meta-lite
: Built uponraviprakash1907/custom-kali-linux:core
, this image is lightweight, offering minimal cybersecurity tools. However, it's also tailored for metaverse and extended reality (XR) development, receiving frequent updates likecustom-kali-linux:meta
. ✨
The easiest way to use this image is by running the following docker run
command:
$ docker run -it --rm raviprakash1907/custom-kali-linux:<tag>
This command provides minimal access to the container via the terminal. To access it via RDP, VNC, and SSH clients, use this command instead:
$ docker run -it --rm -p 5908:5908 -p 13389:13389 -p 20022:20022 raviprakash1907/custom-kali-linux:<tag>
To bind volumes when using the image, you can execute the following command:
$ docker run \
-it \
--rm \
--name kali-custom \
-p 5908:5908 -p 13389:13389 -p 20022:20022 \
--mount type=bind,src="$(pwd)/kali",target=/home/trustworthy \
raviprakash1907/custom-kali-linux:<tag>
User:
trustworthy
Password:trustworthy
User:
root
Password:toor
Here, we provide a sample Dockerfile
used to build the image:
FROM raviprakash1907/custom-kali-linux:<tag>
# Switching to root for installation
USER root
## Exposing additional ports for dynamically binding services while testing (beyond port 49151)
EXPOSE 55510
# Start
RUN /bin/sh
And a docker-compose.yml
file:
version: "3.0"
services:
kali:
build: .
container_name: custom-kali-meta
ports:
- 13389:13389
- 20022:20022
- 5908:5908
- 55510:55510
volumes:
- ./kali/:/home/trustworthy
command: /bin/sh
meta:
image: raviprakash1907/custom-kali-linux:meta
You can build and use the container with a single command:
$ docker-compose up