How to Hack a Sonoff Device

Introduction: How to Hack a Sonoff Device

About: I am a hobbyist and currently i am pursuing my b-tech in ECE branch(2019-2023) from AMRITA VISHWA VIDHYAPEETHAM. I am also part of India's no-1 security team bios.I deal with IOT exploitation and hardware se...

Prakhar Agrawal
Junior Researcher(IoT Exploits)

SECURE HARDWARE


INTRODUCTION

In this post we will be discussing about how to load a custom firmware on the Sonoff device and control it using its Ip address.

APPROACH

We will be using the uart pins on the device along with a PL2303 convertor to flash custom firmware(namely Tasmota firmware) on the device and then use a network mapping tool(nmap) to get the ip address of the SONOFF basic.

About The Device

A sonoff device is basically a ESP8266 wifi module which can be controlled using the mobile application and its function is to switch on/off the relay on the sonoff device hence it can be used to make any electronic appliance smart(adds control over wifi functionality).

Supplies:

Tools Required
Esptool The esptool is used to flash and create backup of the original firmware Nmap The nmap tool is used to scan for networks and ports across a network, your pc is connected to.This tool will be used to get the ip address of the SONOFF basic.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: INSTALLING REQUIRED TOOLS

INSTALLING NMAP:-

To install nmap tool you have type the below command on your terminal

sudo apt-get install nmap

INSTALLING ESPTOOL:- To install esptool make sure you have the python3 installed on your computer,if you don’t have python3 installed,enter the below command on your terminal.

sudo apt-get install python3

Now once you have the python3 installed on your Pc,go to the below link and download-source code (tar.gz ) file and extract the folder in the Documents directory.

https://github.com/espressif/esptool/releases

Then go to the command line and enter the below command-

cd/documents/esptool

Step 2: ​FIRMWARE BACKUP AND FLASHING

To create a backup of the firmware you will have to first check for the port your SONOFF is connected to,to do so type the following in the terminal:

ls /dev/tty
tty/ACM(number) or ttyUSB(number) is the required port. Note it somewhere.

Now in the esptool directory type the following command-

sudo ./esptool.py –port /dev/ttyUSB(number) read_flash 0x00000 0x100000 image1M.bin

This should create a backup of the firmware by the name image1M.bin in the esptool directory.

To flash the new firmware visit the website given,scroll to the bottom and download sonoff.bin file and save it in the esptool folder that was described in the previous steps. https://github.com/arendst/Sonoff-Tasmota/release... type the following in the command line:

sudo ./esptool.py –port /dev/ttyUSB(number) write_flash -fs 1MB -fm dout 0x0 sonoff.bin

Step 3: ​CONTROLLING THE DEVICE

Now to control the device you need to get the ip address of the device for which we will use nmap tool.

Type the following in the command line:

Ifconfig

Note the inet mask and the netmask.

Let’s assume your inet is 192.168.43.65 Now type the following in command line:

Nmap -sn 192.16.43.0/24

NOTE-make sure your pc and the SONOFF is connected to the same network.

After the scan is completed you will be able to see the ip address of the SONOFF device and also ip addresses of all the devices connected to that network.

Step 4: ACCESS GRANTED!!

Enter the ip address in your web browser and you will be able to get a similar control menu like this.

USE:

With the help of this menu you can get access to the victim’s ssID and passwords and even deny his access to the device.

For any other query you can mail me at prakhar.agrawal001@gmail.com

Step 5: ​CONNECTING TO ROUTER

The device should be flashed with the custom firmware now,wait for 2-3 sec,the SONOFF will restart itself and create a hotspot by a similar name– sonoff-4996

Connect to the hotspot and you should be redirected to a page where you can save ssID and passwords of your router,click on save changes.

After this step the device will restart itself and will automatically connect to your router.

Be the First to Share

    Recommendations

    • Trash to Treasure Contest

      Trash to Treasure Contest
    • Raspberry Pi Contest 2020

      Raspberry Pi Contest 2020
    • Wearables Contest

      Wearables Contest

    3 Discussions

    0
    tigoda
    tigoda

    5 weeks ago

    my first question is why? what functionality or benefit are you adding here?

    0
    audreyobscura
    audreyobscura

    2 months ago

    nice to know you can log in to these modules.

    0
    ONEV_2
    ONEV_2

    Reply 8 weeks ago

    :)