What is Kali Linux?
Kali Linux is a Debian-based Linux distribution aimed at advanced Penetration Testing and Security Auditing. Kali contains several hundred tools that are geared towards various information security tasks, such as Penetration Testing, Security research, Computer Forensics, and Reverse Engineering. Kali Linux was released on March 13, 2013.
In this How-to, we will look at the process of installing Kali Linux on a Hyper-V server as VM and how to configure some of the penetration tools required for the basic setup.
Here, we have downloaded the latest ISO file from the Kali Linux website and used the ISO image for creating a new VM on the Hyper-V Server.
- Windows Server 2019 with Hyper-V role
- Enough storage and RAM (Used 1 Gb RAM and 140 Gb of Disk for Kali Linux)
- Network connectivity on the Hyper-V Server
- Latest Kali Linux ISO file
Create a new VM on the Hyper-V Server for Kali Linux Installation
Open Hyper-V Manager on the Windows 2019 server, right-click Server → New → Virtual Machine
- Specify Name and location — Provide a name for the VM and location for the VM on the server
- Specify Generation – Generation 2 is used
- Assign Memory – Allocate memory for the VM – 1024 MB is used
- Configure Networking – Select Existing Virtual switch
- Connect Virtual Hard Disk – Create a new virtual hard disk, provide the location and size of the disk attached to the VM
- Installation options – Select Install an operating system from a bootable CD/DVD-ROM. Then, choose Media as an Image file and provide the path for the ISO file
- Finally, click the Finish button on the Summary page to create the VM
Kali Linux Installation
After creating a new VM, power ON and connect to the console, the installation menu will appear as below:
We are installing Kali Linux with Graphical mode.
Step 1: Choose Graphical Install and click Enter
Step 2: On the next screens – Select Language, Select Location, Select Keyboard and click the continue option to proceed.
In the next screen, you will see network configuration options. By default, machines will be configured with DHCP IPs. You also have the option to manually configure the network.
Step 3: Enter VM IP Address, Netmask and Default Gateway details of your network environment and click continue option to proceed.
Step 4: After configuring the network details, you need to enter the hostname and domain name for the computer.
Step 5: Now, set up users and passwords for the VM. Enter a new username and password to login to the VM and click on continue.
Step 6: On the next steps, you will be asked to configure the Disk Partition.
You can manually partition the disk or you can use the different standard disk partitioning schemes listed as Guided.
In Guided partition, you can use the entire disk or entire disk with Logical Volume Manager (LVM) or entire disk with Encrypted LVM.
Note: In Linux, Logical Volume Manager is a device-mapper target that provides logical volume management for the Linux kernel. Most modern Linux distributions are LVM-aware.
We have chosen Guided partition with LVM for this process.
Further, in the Partition Disks configuration, you also have the option to divide the partition into several partition schemes, such as separate size for /home /tmp and /var partitions.
We are selecting “All files in one partition, and hence the operating system is created by default partition scheme, with / and /boot partition only.
Step 7: Now, provide the total disk size for the partition and click continue to proceed.
Step 8: In the next screen, you will be asked to confirm whether you want to write changes to the disk. Select the option Yes, and click Continue.
The below screen shows these changes with the displayed partition and will be formatted with ext4 filesystem.
After formatting the disk, basic packages will be installed.
During installation, you can configure the package manager. This will allow you to install all additional packages from the nearby repository online. You can select the country nearby repository to find the packages and install from there using apt-get command
Step 9: If your system is connected to the Internet through web-proxy, you can provide the details in this section below. Else, leave the proxy information page and click continue.
Step 10: The next screen is Software Selection. Since in the first stage, only the base system is installed you can add additional software with the base system in this section. Select “Install tools by purpose” to add Kali Linux tools.
Step 11: After the successful installation of basic packages and Kali Linux tools, the Grub boot loader will be installed on the hard disk from where the Linux OS is booted. Click Yes to proceed.
Step 12: Then, select the partition where the base system is installed for Installing the bootloader and click continue.
Step 13: After the successful installation of the GRUB boot loader, the total OS installation is completed. Now, you will be asked to reboot the system. Click continue to proceed.
Step 14: After reboot, Kali Linux Installation is successfully completed. Now, you can log in with the created user credentials.
For adding additional packages, you can use the Terminal emulator at the top of the screen.
By default, the created user is a privileged administrator. By using sudo su command, you will get root privileges and can install any available packages using apt-get packet manager.
Packages and Tools available in Kali Linux:
Some of the useful packages and tools available in Kali Linux is listed in this URL below. These tools & packages can be installed using apt-get package manager.
- Cmospwd – CmosPwd is a cross-platform tool to decrypt the password stored in CMOS used to access a computer’s BIOS setup. This application works out of the box on most modern systems
- SSLsplit – SSLsplit is a tool for man-in-the-middle attacks against SSL/TLS encrypted network connections
- HTTPTunnel – HTTPTunnel is a tunneling software that can tunnel network connections through restrictive HTTP proxies
- Hashcat – hashcat is the world’s fastest and most advanced password recovery utility, supporting five unique modes of attack for over 200 highly-optimized hashing algorithms
- Webshells – A collection of web shells for ASP, ASPX, CFM, JSP, Perl, and PHP servers
- YARA – Tool to identify and classify malware samples
- Valgrind – Valgrind is a system for debugging and profiling Linux programs. With this tool suite, you can automatically detect many memory management and threading bugs
Deploying a Kali Linux in a physical machine or as a VM in any hypervisor is straightforward and simple. Also, as a System Administrator or Linux Administrator, you can easily learn about the tools on the Kali Linux platform that gives you knowledge on the penetration testing, vulnerability analysis, preventing sniffing & spoofing, password attacks, and hardware hacking.