Skip to content

souravbaghz/AwesomeHardwareHacking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation


Common Attack Methodology:

Step Description
1.Intel Gathering
(Recon)
Begin with gathering information such as the embedded device's operating system, supported external peripherals, chip-sets used, types of storage and memory used, and other relevant information that could be useful in future attacks. You can achieve it through FCC ID & Device's name/model.
2.Device Analysis
(Exterior)
Visual inspection, both external and internal, should be used to identify as much information as possible from the attacker's perspective. Try to figure out what you're looking at from the outside. What are the different interface choices, such as USB ports, SD-Card card slots, or an Ethernet port, that are powered by batteries or an adapter? Are there any labels on the device, and if so, what information do they contain.
2.Device Analysis
(Interior)
After you've completed the external check, open up the device and examine the printed circuit board (PCB). Identifying all of the different chipsets that are present, reading the datasheet to understand what each component does, and taking notes on the various information that we find on the datasheet.
3.Identify Communication Interfaces Look into all of the device's various interface options. It may be simple and right in front of your eyes if you have already acquired knowledge, or it may be difficult to find those interfaces.
4.Acquire Information We can use a collection of tools to connect with the target device across the supplied interface to read/write data to the chip once we've discovered the available communication interface.
5.Exploiting Software Following the previous stage of gaining access to the target device via a specific hardware interface, we can use numerous software exploitation techniques such as dumping firmware, writing new content to a specific memory, manipulating ongoing processes, and so on.

Most Common Interfaces Found in Hardware:

Topic/Concept Description/Resource
UART One of the most often used communication protocols in embedded systems is UART.
UART turns the parallel data it receives into a serial bit stream of data that is potentially easier to interact with.
It is used for shell access and a favorite interface of any hardware hacker.
Abusing UART
JTAG From the perspective of a hacker, JTAG serves a variety of functions, including the ability to read/write data, debug running processes, and change the code execution flow.
JTAG Explained
SPI & I2C SPI & I2C both are a serial communication protocol that is commonly used in Flash and EEPROM. We can dump data from it because it includes storage, which might include firmware, hardcoded keys, and other sensitive information, depending on type of target we have.
Dumping Your First Firmware

Illustrations


Blog & Writeups:


🤝 Connect with me

Instagram: souravbaghz GitHub souravbaghz Twitter souravbaghz

About

Awesome Hardware Hacking - It contains notes and resources for hacking into hardware. Open for contributions, add writeup/blogs links only.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published