3 minutes
PwnPad part 2 - UART challenges
UART
UART or Universal Asynchronous Receiver-Transmitter is one of the most used protocols for serial communications between devices. It only uses two wires between transmitter and receiver to communicate and one wire for the shared ground. The data formats and transimission speed that it should used are configurable. Data in UART is transmitted as frames.
Uart challenge 1
Description:
Challenge 1: "Serial Snitch"
As a skilled hardware hacker, you've intercepted a mysterious device recovered from a rogue tech syndicate. The device, dubbed "Specter-1", controls access to a secret underground server, but its interface remains locked behind an unknown UART configuration.
Your mission is clear:
Identify the UART pins you've uncovered during your investigation.
Determine the correct baud rate to establish a stable connection.
Access the device’s command interface and unlock control over the system’s lighting grid.
First I identified the UART pins on the PCB, they are labeled so its easy to find. After that I have connected my Logic analyzer to TX, RX pins and GND to the GND on my logic analyzer.

Then I have connected my Logic Analyzer to my PC and started Logic software from Saleae. After starting the capture in Logic and turning on the PwnPad we can see that some frames were captured for the 1st channel.

In this case the default setting for decoding the uart transmission worked well and I didn’t have to change anything to get the flag. You can also turn the LED ON/OFF if you have a device (USB-UART TTL FT232) to trasnmit data to the PWNPAD.

Uart challenge 2
Description:
Challenge 2: "Echo Chamber"
Following the success of your first infiltration, you've intercepted another device from the same syndicate. This one seems almost identical — same pinout, same behavior — but something’s off. Your usual tools can’t make sense of the UART output. It looks like the engineers behind this one were clever enough to obfuscate communication by using a non-standard baud rate.
The challenge is a test of patience and precision. You'll need to analyze the signal itself to get in.
Your mission is clear:
Identify the UART pins using your probing tools.
Determine the correct (non-standard) baud rate via signal analysis.
Establish a reliable terminal connection and extract the flag from the interface.
In this case from the description we can see that the baud rate is not gonna be standard, we can follow the same steps as with the previous challenge, but we need to get the right baud rate, so that the decoding is sucessful. Baud rate just tells us how many bits are send each second, so we can take the time of one bit width to get the approximate baudrate for our challenge
baudrate = 1 \ width_of_bit
We can see that we are receiving something, but with baudrate of 9600 the data in unreadable

We zoom in on Logic and check the width of 1 bit and the input that into our calculation

32us = 32 * 10^-6
inputting that into our formula we get:
1 / (32 * 10^-6) = 31250
We can change the uart configuration in Logic and get our flag

523 Words
2025-08-30 02:00