Skip to content

Bored Pentester

  • Contact Me

Bored Pentester

A collection of spare time spent reverse engineering, hardware hacking and tool writing.

25th October 2018 / Reverse Engineering

Reversing ESP8266 Firmware (Part 6)

At this point we’re actually reversing ESP8266 firmware to understand the functionality, specifically, we’d like to understand what the loop function does, which is the main entry point once booted. Reversing the loop function I’ve analysed and commented the assembly below to detail guessed ports, functions and hostnames: From the above, we’ve determined that: Is …

Continue Reading
25th October 2018 / Reverse Engineering

Reversing ESP8266 Firmware (Part 5)

Recognising VTABLE’s After analysing our firmware image to some degree, it becomes clear that vtables are in use. A VTABLE in this context is essentially a collection of function pointers per each module of the application’s libraries. We can see that each library’s function pointers are delimited by three nullbytes, represented as the below for …

Continue Reading
25th October 2018 / Reverse Engineering

Reversing ESP8266 Firmware (Part 4)

Writing an IDA loader So, why a loader? The main reason was that I wanted something I could re-use when reversing future ESP8266 firmware dumps. Our loader will be quite simple. IDA loaders typically define the following functions: The first is responsible for identifying an applicable file, based on its signature and is executed when …

Continue Reading
25th October 2018 / Reverse Engineering

Reversing ESP8266 Firmware (Part 3)

What is it? So, what is the ESP8266? Wikipedia describes it as follows: The ESP8266 is a low-cost Wi-Fi microchip with full TCP/IP stack and microcontroller capability produced by Shanghai-based Chinese manufacturer, Espressif Systems. Moreover, Wikipedia alludes to the processor specifics: Processor: L106 32-bit RISC microprocessor core based on the Tensilica Xtensa Diamond Standard 106Micro …

Continue Reading
25th October 2018 / Reverse Engineering

Reversing ESP8266 Firmware (Part 2)

Initial analysis As with any unknown binary, our initial analysis will help to uncover any strings that may allude to what we’re looking at, as well as any signatures within the file that could present a point of further analysis. Lastly, we want to look at the hexadecimal representation of the file, in order to …

Continue Reading
26th October 2018 / Reverse Engineering

Reversing ESP8266 Firmware (Part 1)

During my time with Cisco Portcullis, I wanted to learn more about reverse engineering embedded device firmware. This six-part series was written both during my time with Cisco Portcullis, as well in my spare time (if the tagline of this blog didn’t give that away). This series intends to detail my analysis of an embedded …

Continue Reading
©2021 Bored Pentester - Powered by Simpleasy