Softbank Pepper: A short robot overview

Device: Softbank Pepper
Device Type: Humanoid Robot
Firmware: NAOqi System 2.5.5

screenshot

From the website’s product description:
Pepper is an autonomous talking humanoid robot who perceives emotions, and adapts his behavior to the mood of the humans around him. Pepper can identify joy, sadness, anger or surprise and respond appropriately, making his interactions with humans incredibly natural and intuitive.

Purpose:
Analyze firmware image and extract data in order to search for bugs and vulnerabilities.

Link to download firmware: https://developer.softbankrobotics.com/us-en/downloads/pepper

Download the firmware from the Universal Robots website:
https://developer.softbankrobotics.com/us-en/downloads/pepper

screenshot 2

Running the commands “strings” and “hexdump” to extract data:
strings -n 10 pepper-x86-2.5.5.5_2016-11-28.opn > strings.out
hexdump -C pepper-x86-2.5.5.5_2016-11-28.opn > hex.out

Analyzing the strings.out file:

screenshot 3

Note we are dealing with a Linux Gentoo-based OS.
Screenshot taken for the lulz, “chest-harakiri”.

About NAOqi OS:
The NAOqi OS documentation can be found here: http://doc.aldebaran.com/2-1/dev/tools/opennao.html

Note that the default passwords are:

screenshot 4

This is important because, unfortunately, as with other IoT devices, most users don’t change the default password.

NAOqi OS is currently used for both the Pepper and NAO robots.

The robot can be connected to via a web browser, SSH, and FTP. Gotta pwn them all!

screenshot 5

screenshot 6

In the wild:
Softbank sells Pepper for personal use and for business. In fact, some airports, banks, and stores are already using Pepper and report increases in sales.

screenshot 8

Source: JapanTimes

Running “binwalk” to further analyze the image:

screenshot 7

We get information about the bootloader, and the use of other services such as MySQL and Lancom WWAN.

Have fun. 🙂

Reverse Engineering Firmware: Linksys WRT1900AC

Device: Linksys WRT1900AC
Device Type: Router
Firmware: Ver. 2.0.8.177401

screenshot 9

Purpose:
Analyze firmware image and extract data in order to search for bugs and vulnerabilities.

Link to Firmware Download:
http://www.linksys.com/pl/support-article?articleNum=148550

Download the firmware from the Linksys website:
http://www.linksys.com/pl/support-article?articleNum=148550

screenshot

Running the commands “strings” and “hexdump” to extract data:
strings -n 10 FW_WRT1900ACv2_2.0.8.177401_prod.img > strings.out
hexdump -C FW_WRT1900ACv2_2.0.8.177401_prod.img > hex.out

Analyzing the strings.out file:

screenshot 2screenshot 3

Notice the references to Linux, Marvell Armada 385 and JFFS2.

Running “binwalk” to further analyze the image:

screenshot 6

Important files:
26736    : The kernel
6291456    : The filesystem

Extracting the kernel and the file system with “dd”:
dd if=FW_WRT1900ACv2_2.0.8.177401_prod.img bs=1 skip=26736 of=kernel.gz
dd if=FW_WRT1900ACv2_2.0.8.177401_prod.img bs=1 skip=6291456 of=wrt1900ac.jffs2

screenshot 4screenshot 5

Decompress the .gz file:
gzip -d kernel.gz

Running the commands “strings” and “head” to preview the kernel data:
strings strings.out | head -10

screenshot 8

Running “binwalk” to further analyze the kernel:

screenshot 7

Have fun. 🙂