IMPORTANT:AttackDefense Labs is included with a Pentester Academy subscription! Upgrade Now to access over 1800+ Labs.
Already a Pentester Academy student? Your access will continue uninterrupted. Please use the same Google account to login here.
Not a Pentester Academy student? Try our Free Communitiy Labs
OpenWRT Compilation Setup
wifi-security-advanced-labs-custom-firmware | Level: Easy | Total Lab Runs: 0 | Premium Lab |
OpenWRT is a Linux operating system for embedded devices which allows the user to the customization of the device firmware as per the requirement of the user. It is an open-source project which supports 1200+ devices and has 3500+ packages.
In this lab, OpenWRT build system is provided to practice building custom OpenWRT firmware and kernel module.
Objective: Compile the firmware and kernel modules for a device of your choice.
Commands to create your own build setup
# Updating the packages
apt-get update
# Upgrading the packages
apt-get upgrade -y
# Installing the dependencies
apt-get install -y subversion g++ zlib1g-dev build-essential git python rsync man-db libncurses5-dev gawk gettext unzip file libssl-dev wget zip time git-core
# Adding a low privilege user john
adduser --disabled-password --gecos "" john
# Switching to user John
su john
# Switching to home directory of user John
cd /home/john
# Download a stable OpenWRT code release
wget https://github.com/openwrt/openwrt/archive/v18.06.2.zip
# Unzip the archive
unzip v18.06.2.zip
# Renaming the directory
mv openwrt-18.06.2 latest
# Changing to the directory
cd latest
# Creating the initial configuration
make menuconfig
# Creating the download directory
mkdir -p dl
# Updating the feeds
./scripts/feeds update -a
# Installing the feeds
./scripts/feeds install -a
# Creating the final config
make menuconfig
# Cleaning the build system
make clean
# Downloading the required systems
make download
# Building the firmware
make -j8
Setting variables for kernel module compilation
# Locating staging directory of build system
export STAGING_DIR=/home/john/latest/staging_dir
# Adding binaries to PATH
export PATH=$PATH:/home/john/latest/staging_dir/toolchain-mips_24kc_gcc-7.3.0_musl/bin
# Pointing to Linux kernel code tree
export KERNEL_ROOT=/home/john/latest/build_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/linux-4.14.95
# Setting alias for make with arguments for MIPS architecture
alias mipsmake='ARCH=mips CROSS_COMPILE=mips-openwrt-linux- make'
The following activities are strictly prohibited on this website unless otherwise explicitly stated as allowed in the mission statement:
- Using automated scanners
- Using brute force attacks
- Denial of Service attacks
- Attacking other student machines in challenges where you might achieve a shell on the vulnerable system
- Attacking the lab infrastructure
Users violating the above will be either temporarily or permanently banned from the website.
If you are unsure about an activity, then please contact support to confirm that it is allowed on our website.
Technical Support for this Lab:
There is a reason we provide unlimited lab time: you can take as much time as you need to solve a lab. However, we realize that sometimes hints might be necessary to keep you motivated!
We currently provide technical support limited to:
- Giving hints for a lab exercise
- In rare circumstances, if you have totally given up (NO!!!) then tell you how to solve it. This will be limited to sharing the solution video or lab report
- A lab exercise fails to load or has errors in it
If you need technical support, please email attackdefense@pentesteracademy.com clearly mention the name and link of the lab exercise and other essential details. The more descriptive you are, the faster we can help you. We will get back to you within 24 hours or less.
For adminitrative queries, billing, enterprise accounts etc. please email feedback@binarysecuritysolutions.com