Reverse LinkOne devices
Download the target firmware
For this laboratory, I downloaded this one: L1-RWH1235AC-V1.2.0.22_pt_UCB01.bin

Extracting rootfs

You can try to use also this version of squashfs if you got some error like this: Can't find a SQUASHFS superblock on file.squashfs. This is a modified version:
gcc version 10 will result in some erros. So, install other version such as 9.x.
After that, add it as the principal version when you use make. 😎
After that, try to get the fs:
User emulation
After execute the web-server, or the /etc/init.d/rcS, you will get the loop:

At this point, you can use GDB server to debug it:
Adding a breakpoint on main, and next, you will see the process will enter in a loop inside the "check_network" call.

and .. check some data ... 😎


Using IDA PRO, you can also reverse the httpd file and the check_network call. Basically, our iface must be renamed to br0 and use the range 192.168.0.0/24.

You got it 🤓


Full emulation
Mount shares
A trick for this router, you can also change the name of the iface: eth0 to br0.
To rename interface eth0 to wan0, edit /etc/udev/rules.d/70-persistent-net.rules file and change NAME="eth0" to NAME="br0".
After that, rename eth0 to br0 here:
On the qemu ssh shell, access the rcS script at: /etc/init.d/rcS, and change the line:
After that, execute your file ./rcS and magic 😎

On your browser: 0.0.0.0/login/Auth

Last updated
Was this helpful?
