
Nokia G-010G-P ONT
TL;DR
This is a Nokia G-010G-P ONT (Optical network terminal) recovered from a scrapyard running an embedded Linux 2.6.30.9. The ONTs are network devices usually installed in home fiber-optics broadband facilities. Their purpose is to convert the optical signal from the ISP into an electrical signal, so home Gigabit-Ethernet routers can interpret it. These devices can be internal, if integrated inside the router delivered by the ISP; or external, as in the case of this device. When external, it must be installed between the home router and the ISP network, and acts as a demarcation point between the carrier's local loop and the customer's premises wiring.
This is very easy to root this device as telnet port is open and root credentials can be easily found in internet; therefore, it is a good starting point for pentesters wanting to initiate themselves in the field of hardware/IoT hacking. Apart from telnet root, this write-up includes: rooting via UART port, Busybox upgrade, port scanning and web interface enumeration.
KEYWORDS
Nokia G-010G-P, ONT, UART, CP2120, GPON.
REFERENCES
https://www.normann-engineering.com/en/refurbished/products/1234/nokia-g-010g-p/
https://www.normann-engineering.com/products/product_pdf/gpon_equipment/nokia/EN_G-010G-P.pdf
https://www.busybox.net/downloads/binaries/1.18.4/busybox-mips
https://hack-gpon.org/ont-nokia-g-010g-p/
https://forum.openwrt.org/t/help-for-how-to-root-the-g-010g-p-via-usb-ttl/115656
TOOLING
Screwdriver, CP2102 USB to UART converter, Dupont wire connectors.
ENUMERATION
A quick Google search returns Nokia G-010G documentation links and datasheets.
https://www.normann-engineering.com/en/refurbished/products/1234/nokia-g-010g-p
https://www.normann-engineering.com/products/product_pdf/gpon_equipment/nokia/EN_G-010G-P.pdf
First step is to remove the cover case to get access to the device internals. Just turn the ONT around and remove the top pads, there are 2 screws beneath them, unscrew them and open the case.
Inspect the PCB and identify the relevant items.
Realtek RTL90601b network chipset.
UART port, with soldered connection pins.
Winbond 25Q128JSVQ flash memory to store the firmware (https://www.winbond.com/hq/product/code-storage-flash-memory/serial-nor-flash/?__locale=en&partNo=W25Q128JV)
UART ROOT
First step is to find the UART ground with a multimeter, and proceed to find Rx and Tx pins. Then connect the UART pins to the CP2102 USB converter, which in turn is connected to the laptop USB port.
Keep in mind that UART GND goes to CP2102 GND, Tx UART goes to Rx CP2102, and Rx UART goes to Tx CP2102.
Open a picocom serial terminal at 115200 bauds in Kali and power on the device, the bootlog is dumped.
After load finishes, first step is to enable the login prompt. Login credentials are root:huigu309
These 2 resources are helpful:
https://hack-gpon.org/ont-nokia-g-010g-p
https://forum.openwrt.org/t/help-for-how-to-root-the-g-010g-p-via-usb-ttl/115656
Type enable to activate the login prompt, then type login to enter credentials.
After entering credentials the screen is cleared and a new the prompt appears. In the new prompt, type help for a list of possible input commands.
Spawn a Linux shell by typing system command, and then type shell
From this shell we can further enumerate the Busybox version, and view the allowed commands.
The defined functions available are limited, but enough to continue enumerating the system.
And the network config.
A full Busybox version would provide more flexibility. The the binary can be downloaded from here: https://www.busybox.net/downloads/binaries/1.18.4/busybox-mips
Good news are the currently installed Busybox allows to run wget, so we can transfer files from our Kali machine. Also, a writable directory is needed as destination, for example this one /var/tmp
PORT SCAN
Connect the ONT Ethernet port to your laptop with a network wire and launch Kali in bridged network mode in Virtual Box. Then configure an IP for the eth0 interface in Kali.
Verify there is connectivity with the ONT, keeping in mind the device configures itself with address 192.168.100.1.
Launch a port scan with nmap
Navigate to http://192.168.100.1 with Firefox, a login portal appears.
Login with credentials admin:1234, the site basically allows to update the PLOAM password, which is essentially what authenticates the device in the network. Also, when clicking on "More Info" we gather additional info about the device.
Last updated