In some hacking-related duties, where you might not want to carry a large laptop, it’s vital to carry a machine that can perform ethical hacking covertly. To test the exploitation, network penetration, and injection of malware and viruses, we need a smart device for this. A compact system that can perform as well as a full-specs laptop while still being concealable and portable is necessary for ethical hacking. So, here’s how to create the smallest hacking tool in the world with a complete touch keyboard.
Hardware Required
- Raspberry Pi 4
- 8.9cm Touch LCD Display
- 5.43cm Touch e-ink display
- 5V Battery+Charging IC
- Laptop 3D Printed Parts
- Wire
To choose the appropriate hardware components and operating system (OS) for the hacking machine, we must first settle on some intriguing laptop specifications.
- Hacking tools that are portable, concealable, and easy to carry anywhere are as small as our finger.
- Full multi-touch keyboard built-in.
- Multi-touch tablet with support for hacking
- equipped for wireless and network exploitation, penetration testing, and hacking; equipped with Wi-Fi, BLE, and Bluetooth connectivity
Because it already has a variety of exploitation tools for penetration cracking and testing, like Metasploit, Aircrack-ng, and Wireshark, Kali is one of the best Linux flavoured operating systems (OS) for ethical hacking.
Designing the laptop
After gathering the parts outlined in the Bill of Materials, we must design the laptop’s shell or body to securely house the internal hardware. The laptop body could be divided into three halves. First, the base section, where the Raspberry Pi, battery, and charging system are kept. We build two cuts in the base: one for the Ethernet and USB up front, and the other for power and battery charging.
Next, we design the base’s top cover to accommodate a touch-based, e-paper keyboard. As shown in Fig, we cut a hole in the top cover and insert the touch panel keyboard.
The laptop’s support for the LCD display is the next thing we create. To do this, we maintain the thickness and make the enclosure the same size as the display.
After designing the laptop body, we can 3D print its parts.
Prerequisite
We must install Kali Linux on the Raspberry Pi board before moving on. Visit the Kali Linux website to obtain the most recent version for an ARM-based device, such as the Raspberry Pi. Install the Raspberry Pi disc image after downloading it. By selecting the Kali Linux OS image file in the Raspberry Pi disc imager, insert the SD card into the USB drive and prepare it with Kali Linux OS.
Preparing OS for SPI display
Any monitor for the Raspberry Pi that is up to 8.9 cm (3.5 inches) in size can be used with our laptop. We utilize a touch e-ink display that is an SPI for the keyboard panel, and two SPI displays can interfere with each other’s communication, so it is advised to use an HDMI-based touch display instead. The SPI of other displays does not really pose a problem because the SPI touch e-ink display used for the keyboard employs just its touch feature, which is I2C based.
Because it was previously purchased, an SPI-based display was utilized in the prototype; nevertheless, it is advised to use an 8.9 cm HDMI touch display. You can skip the next steps (necessary for SPI display) and get right to the part on setting up the keyboard if you’re using an HDMI monitor.
Installing the drivers and configuring the SPI touch display are prerequisites for using the SPI display. To install the driver and configure the display for the Raspberry Pi, open the terminal and type the following command in the Linux terminal:
git clone https://github.com/goodtft/ LCD-show.git chmod -R 755 LCD-show cd LCD-show/ sudo ./LCD35-show |
Connect the SPI display to the Raspberry Pi after installing the driver, as illustrated in Fig. 11, and solder the pins in accordance with Table 2.
Preparing the Touch Keyboard
To input data into the laptop, the keypad system needs to be ready. We are using the touch e-ink display as the touch-based keypad because we want to create a full touch keyboard panel, but we need software to use it as a keyboard.
The keys must be visible on the e-ink display in order to create the touch keyboard. Therefore, download a vector image of the keyboard’s keys. Download the touch e-ink display library after resizing the image to fit the e-ink display. Since we are utilizing the waveshare touch e-ink display here, launch Linux and enter the command below to download the necessary driver and library:
sudo pip3 install gpiozero wget http://www.airspayce.com/mikem/ bcm2835/bcm2835-1.68.tar.gz tar zxvf bcm2835-1.68.tar.gz cd bcm2835-1.68/ sudo ./configure && sudo make && sudo make check && sudo make install sudo apt-get install wiringpi sudo apt-get update sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 install RPi.GPIO sudo pip3 install spidev cd ~ git clone https://github.com/waveshare/ Touch_e-Paper_HAT |
To display the image on an e-ink display, go to Example and run the code. Change “pic” to a vector representation of a keyboard layout in that code, execute it, then turn the Raspberry off. (Note: Before executing the code, connect the e-ink touch display to the Raspberry using its GPIO pins.) Even when the power is turned off, the display will still show the same image until you refresh it. E-ink displays employ a unique technology that allows the electrically triggered ink molecules to remain on the display, just like printed ink does on paper.
The next step is to write the code that will recognize the touch spots on the touch e-ink display that we make contact with and transform those keyboard signals into inputs for Kali Linux on the Raspberry Pi. There are several Python packages available that allow you to virtually input mouse and keyboard signals without actually connecting a mouse or keyboard. To provide virtual keyboard input to the Raspberry Pi in the prototype, we used the pynput Python library package. So, to install Pynput, open the Linux terminal and type the following command:
sudo pip3 install pynput |
Prepare the code that will examine the touch points and turn each key we press on the keyboard into key input after that.
Code checking touchpoints and converting into keyboard input
Check the touch locations on the display where we will be touching the e-ink display that is being used as a keyboard and import the library and pynput modules for virtual input to Raspberry Pi as shown in Fig. 13. Then, as illustrated in Fig. 14, construct a while loop and provide the function to utilise pynput for the keyboard inputs to the Raspberry Pi.
The Raspberry Pi’s SPI port’s SPI(0,0) must now be changed to a second SPI. Change all instances of SPI(0,0) in the code for the e-ink touch display to SPI(1,0), then save the changes by opening the lib folder. Add the line indicated by the arrow in Fig. 15 to the config.txt file of the Raspberry Pi in the boot folder at the root of the Raspberry Pi to activate the second SPI port.
Enabling other SPI on Raspberry Pi
As illustrated in Table 2, attach the e-ink display to the Raspberry Pi using the pins. We are only connecting the pins of the touch controller of the e-ink display to the Raspberry Pi because we are only using the touch component and the touch controller is I2C based.
Preparing the laptop
Fix all the hardware in the 3D-printed laptop case we produced previously after setting up everything in the libraries and modules, connecting the components, and soldering. Fix the parts in the manner depicted in Figs. 17 through 20. Place the battery and charging apparatus inside the case, leaving the GND and 5V pins of the Raspberry Pi exposed.
Testing
Congratulations! The tiniest hacking laptop in the world is prepared to work its magic. Run the keyboard code while the laptop is powered on. Now, despite its diminutive size, you can use it as a hacking tool that is just as potent as a commercially marketed hacker laptop.
The laptop is portable and can be used for network security testing, penetration testing, and network security securing. Of course, you can also use it to do regular work, play games, view videos, or browse the internet, just like you would with any other laptop. This smallest laptop is capable of performing any task that your standard laptop can.
Conclusion
I hope all of you have understood how to design The World’s Smallest Laptop For Hacking And Everything Else. We MATHA ELECTRONICS will be back soon with more informative blogs soon.