Board Analysis
Last updated
Last updated
It's important to take your time to enumerate the PCB you want to test. Overlooking components or interfaces can waste a lot of time.
To analyze a PCB board, you need:
Multimeter
a camera/phone can be useful
What we are looking for:
places where information may be stored
places where we can communicate with the device
places where we can intercept communication
These omponents of interest could be:
Why it’s interesting
Interfaces like UART, SPI, I2C, and JTAG allow communication between components and can offer access to debugging or internal system states.
Pentesting focus
Can give debugging access, unauthorized data interception, or to bypass authentication mechanisms
Examples:
Sometimes pins are directly exposed:
Sometimes there also available as golden/silver test pads:
Todos:
Identify what connector pins you find (if they are not labeled)
Put your multimeter in continuity mode (often a "sound" symbol):
This mode will check if there is a direct link between two points on the pcb
Put one probe on the connector pad you want to test and the other one goes on the chip (datasheet will tell you what pins are used for UART/SPI/JTAG)
Try to identify all required pins for the corresponding protocol.
If you can't use the microchips pins as reference (for example if it's a BGA chip or if there is no datasheet) you can check the voltage of the pins:
High constant (around 3.3V or 5V) indicates VCC
If the voltage fluctuates this may indicate data transmission (try a Logic Analyzer)
Zero voltage indicates GND
I also recommend taking a high quality photo as soon as you open the device, as the printed model numbers can fade in daylight over time. You can then label the identified components on the picture, which will help you remember components you've already looked up.
Pictures with labeled components might look like this:
We should also remove any covers/labels/shields so we can identify the underlaying hardware: