A journey into IoT Forensics - Episode 4 - Analysis of an iRobot Roomba 690 (aka thanks VTO Labs for sharing!)

This the fourth blog post on the analysis of IoT devices images made available by VTO Labs. The first blog post was about the analysis of Samsung refrigerator, the second one was about the analysis of an LG Smart TV, the third one was about the analysis of an Ematic Android TV OS Box, and this one is about the analysis of an iRobot Roomba 690.

[START DISCLAIMER]

I only had one dataset, so the testing is limited and not to be considered strong and verified. 

The goal is to open a discussion and to provide a first glimpse into the analysis of these types of devices.

[END DISCLAIMER]

The iRobot Roomba 690

The fourth candidate for my research in the VTO Labs dataset was the image of an iRobot Roomba 690, aWi-Fi Connected Robot Vacuum manufactured by iRobot Corporation.

An old book (2006) on Hacking Roomba is available and the book website is still active. A forum on robot hacking is also available on Robot Reviews

I was not able to find any previous forensics research on an iRobot Roomba.

Image verification and partitioning schema

As in the previous cases, I tried loading the provided image (RoomaDump2) in X-Ways Forensics. By simply loading the image, the tool was not able to find any partitioning schema.


I used the "Scan for lost partitions" feature, with no luck. I tried multiple tools, including Active Partition Recovery, R-Studio, MobileRevelator and none of them found any partition. 

I run binwalk on the image, and the tool found some PEM certificates and private keys. 


As the image is quite small (4MB), I decided to go manually through it to search for interesting data.

Manual analysis

Manual analysis was conducted by using X-Ways Forensics.

  • Offset "0x600C" - Software Version
  • Offset "0x602A" - Robot ID
  • Offset "0x60A0" - Cloud Certificate
  • Offset "0x6ABD" - Cloud Privkey
  • Offset "0x71F9" - Product SKU (Stock Keeping Unit)
  • Offset "0x7232" - Wi-Fi Network SSID
  • Offest "0x7264" - Wi-Fi Network Password (in clear-text)
  • Offset "0x728A" - Other Wi-Fi settings
  • Offset "0x73C5"rbt_passwd
  • Offset "0x73FF" - sdiscUrl 
  • Offset "0x7484" - Timezone
  • Offset "0x74AC" - NTP Hosts at offset 
  • Offset "0x751E" - Country 
  • Offset "0x7557" - Wi-Fi Network SSID
  • Offset "0x75E1" - Wi-Fi Network Password (in clear text)
  • Offset "0x76B0" - SDISCVAR
  • Offset "0x77EE" - tzevents
  • Offset "0x7CA0"Robot name

A lot of text/strings are available in the dump, including some timestamps about firmware release.

Conclusions

During the analysis I was able to find:

  • Device model (SKU)
  • Device serial number
  • System version
  • Country 
  • Timezone
  • Device name
  • Wi-Fi networks, including password in clear text
  • Cloud URLs and certificates
  • Events with timestamps
  • Language settings

Again, more research is definitely needed in this field and I really hope to find soon new images to validate and improve these findings. If you have any additional image to share for research, you are very welcome!

I encourage you to provide me any kind of feedback and verify my findings. I'll update the blog post mentioning and thanking the reader.

Comments

Popular posts from this blog

Huawei backup decryptor

WhatsApp Forensics

Checkra1n Era - Ep 4 - Analyzing extractions "Before First Unlock"