Free Shipping on orders over US$49.99

Make The World’s Smallest Laptop For Hacking And Everything Else


AshwaniCarrying a machine everywhere, which is capable of doing ethical hacking without getting noticed, is important in some hacking related tasks for which you may not like to carry a big laptop. For this we need a smart device to test the exploitation and network penetration and injection of malware and viruses. Ethical hacking requires small-size machine that is as capable as a full-specs laptop but small enough to be hidden and carried anywhere. So, here is how you can make the world’s smallest hacking device that has a full touch keyboard.

MaterialsTo begin with, we have to decide some exciting specs for the laptop, so that we can select the hardware parts and operating system (OS) for the hacking machine accordingly. The following are some features we want in our laptop for hacking:

Fig. 1: Author’s prototype
Fig. 1: Author’s prototype

Linux is considered to be the best operating system (OS) for ethical hacking and Kali is one of the best Linux flavoured OS because it comes with pre setup of various exploitation tools for penetration hacking and testing, such as Metasploit, Aircrack-ng, and Wireshark.

Fig. 3: The laptop running Linux
Fig. 3: The laptop running Linux
Fig. 4: Laptop size compared to finger
Fig. 4: Laptop size compared to finger

Designing the laptop

After collecting the components listed in the Bill of Materials, we need to design the case or body of the laptop that is to hold the hardware inside it safely. We may design the laptop body in three parts. First, the base part where we keep the main hardware, viz, Raspberry Pi, battery, and charging system. In the base we make two cuts: one in front for the Ethernet and USB and the other for power and charging of the battery.

Fig. 5: The laptop’s touch keyboard
Fig. 5: The laptop’s touch keyboard
Fig. 6: The laptop’s base
Fig. 6: The laptop’s base

Next, we design the top cover of the base to hold a touch e-paper based keyboard. We make a cut in the top cover to fix the touch panel keyboard inside it, as shown in Fig. 7.

Fig. 7: Base cover to hold the keyboard
Fig. 7: Base cover to hold the keyboard

Next, we design the LCD panel’s support for the laptop. For that we make the enclosure in the same size as the display and keep the thickness same as well.

Fig. 8: LCD panel
Fig. 8: LCD panel

After designing the laptop body, we can 3D print its parts.

Fig. 9: LCD panel’s back cover
Fig. 9: LCD panel’s back cover

Prerequisite

Before proceeding further, we need to prepare the Raspberry Pi board with Kali Linux. For that, go to Kali Linux official website and download its latest version for an ARM based device like Raspberry Pi. Next, download the Raspberry Pi disk imager and install it. Insert the SD card in USB drive and prepare it with Kali Linux OS using Raspberry Pi disk imager by choosing Kali Linux OS image file in Raspberry Pi disk imager.

Fig. 10: Preparing SD card with Kali Linux OS
Fig. 10: Preparing SD card with Kali Linux OS

Preparing OS for SPI display

For our laptop we can choose any display for Raspberry Pi that is up to 8.9cm (3.5-inch) in size. An HDMI based touch display is recommended as we are using a touch e-ink display for the keyboard panel, which is an SPI, and two SPI displays can cause conflict in communication. However, the SPI touch e-ink display used for keyboard uses only its touch function that is I2C based, so the SPI of other displays does not cause that much of a problem.

An SPI based display was used in the prototype because it had already been bought, but use of 8.9cm HDMI touch display is recommended instead. By using the HDMI display, you can skip the following steps (required for SPI display) and go straight to the keyboard preparation section.

Fig. 11: Connecting SPI display with Raspberry Pi
Fig. 11: Connecting SPI display with Raspberry Pi

To use the SPI display, we need to install the drivers and setup the SPI touch display. So, open the terminal and run the following command in Linux terminal to install the driver and setup the display for Raspberry Pi:

git clone https://github.com/goodtft/
LCD-show.git
chmod -R 755 LCD-show
cd LCD-show/
sudo ./LCD35-show

After installing the driver, connect the SPI display, as shown in Fig. 11, and solder the pins to Raspberry Pi as per Table 2.SPI display connections

Preparing the touch keyboard

We need to prepare the keypad system for the laptop for giving input to the laptop. As we wish to make a full touch keyboard panel, we are using the touch e-ink display as the touch based keypad, but we need software to use it as keyboard.

Fig. 12: Keyboard layout on e-ink display
Fig. 12: Keyboard layout on e-ink display

For making the touch keyboard, we need to display the keys on the e-ink display. So, download a vector image having the keys on the keyboard. Resize the image to the size of e-ink display, then download the library for touch e-ink display. Here we are using the waveshare touch e-ink display, so open Linux and run the following command to get the library and driver for the e-ink display:

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

Go to Example and run the code to show the image on e-ink display. In that code change ‘pic’ to keyboard layout vector image and run the code (Note: Attach the e-ink touch display with Raspberry on its GPIO pins before running the code) and then turn off the Raspberry. connection of e-ink display to raspberry PiThe display will remain with the same image even after power is disconnected, until you refresh the display. E-ink display uses a special technology where the ink molecules that are activated electrically remain on the display, like the printed ink on paper.

Fig. 13: Code for keyboard input
Fig. 13: Code for keyboard input

Next, create the code that will identify the touch points on the touch e-ink display that we touch and convert those keyboard signals to inputs for Kali Linux in Raspberry Pi. To input signals of mouse and keyboard virtually, without actually connecting any mouse or keyboard, we have many Python libraries. In prototype we used pynput Python library module to give a virtual keyboard input to Raspberry Pi. So, open the Linux terminal and run the following command to install pynput:

sudo pip3 install pynput

Next, prepare the code that will check the touch points and convert them into key input for each key that we touch on the keyboard.

Fig. 14: Code checking touchpoints and converting into keyboard input
Fig. 14: Code checking touchpoints and converting into keyboard input

Import the library and pynput modules for virtual input to Raspberry Pi, as shown in Fig. 13, and check the touch points on display where we will be touching the e-ink display that is being used as a keyboard. Next, create a while loop and define the function to use pynput for the keyboard inputs to Raspberry Pi, as shown in Fig. 14.

Fig. 15: Changing the SPI number in code
Fig. 15: Changing the SPI number in code

Now we need to change the SPI(0,0 ) of the Raspberry Pi SPI port to a second SPI. Open the lib folder and make a change in the code file of e-ink touch display by changing to SPI(1,0) in every file where SPI(0,0) is written and save that. Next, enable the second SPI port of Raspberry Pi by adding the line marked by arrow in Fig. 15 in config.txt file of Raspberry Pi in boot folder in root of Raspberry Pi.

Fig. 16: Enabling other SPI on Raspberry Pi
Fig. 16: Enabling other SPI on Raspberry Pi

Connect the e-ink display to Raspberry Pi pins as shown in Table 2. As we are using only touch part, and touch controller is I2C based, we are connecting the pins of touch controller of e-ink display only to Raspberry Pi.

Fig. 17: Raspberry Pi fitted in the case
Fig. 17: Raspberry Pi fitted in the case

Preparing the laptop

Fig. 18: Touch keyboard on the top of laptop base
Fig. 18: Touch keyboard on the top of laptop base

After setting up everything in the library and modules, and connecting the components and soldering, fix all the hardware in the 3D-printed laptop case that we made earlier. Fix the components as shown in Fig. 17 through Fig. 20. Fit the battery and charging system inside the case, leaving Raspberry Pi 5V pin and GND pin outside.

Fig. 19: Touch keyboard fixed
Fig. 19: Touch keyboard fixed

Testing

Congratulations! The world’s smallest hacking laptop is ready to show its magic. Power the laptop and run the keyboard code. You are now ready to use it as a hacking machine that is as powerful as a commercially available hacking laptop, in spite of its tiny size.

Fig. 20: The display fixed
Fig. 20: The display fixed

You can carry the laptop anywhere for penetration testing, securing network, and then testing the network security. You can also use it, of course, like any other laptop for normal working, playing games, watching videos, or browsing the internet. Whatever you do on your regular laptop, this smallest laptop is capable of doing the same.

Fig. 21: Laptop running Kali Linux
Fig. 21: Laptop running Kali Linux

Download source code


Ashwini Kumar Sinha is a technology enthusiast

Please note this article is transferred from Electronics For You April 2022 Issue. This article was first published online.





Source link

We will be happy to hear your thoughts

Leave a reply

AmElectronics
Logo
Enable registration in settings - general
Compare items
  • Total (0)
Compare
0
Shopping cart