write-up: IoT/Lets_All_Love_UART/README.md
This commit is contained in:
parent
95c0b63bfb
commit
239f8af9a8
@ -1,17 +1,46 @@
|
||||
# Let's All Love UART — Solution
|
||||
# Let's All Love UART
|
||||
|
||||
**Difficulty:** Easy | **Category:** IoT | **Flag:** `ESPILON{LAIN_TrUsT_U4RT}`
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Category | IoT |
|
||||
| Difficulty | Easy |
|
||||
| Points | 500 |
|
||||
| Author | Eun0us |
|
||||
| CTF | Espilon 2026 |
|
||||
|
||||
## Overview
|
||||
---
|
||||
|
||||
The challenge emulates a split UART interface on a Lain router:
|
||||
## Description
|
||||
|
||||
- **TX (port 1111)**: Read only — device output
|
||||
- **RX (port 2222)**: Write only — send commands
|
||||
This challenge emulates a UART interface on a Lain router.
|
||||
Open both connections, interact as if it was real hardware.
|
||||
|
||||
## Steps
|
||||
- **TX**: Read only
|
||||
- **RX**: Write only
|
||||
|
||||
1. Open two terminals:
|
||||
**Let's All Love Lain!**
|
||||
|
||||
---
|
||||
|
||||
## TL;DR
|
||||
|
||||
Open the TX and RX ports simultaneously. Send `flag` on the RX (write) port.
|
||||
The flag is immediately printed on the TX (read) port.
|
||||
|
||||
---
|
||||
|
||||
## Tools
|
||||
|
||||
| Tool | Purpose |
|
||||
|------|---------|
|
||||
| `nc` | Split UART connection |
|
||||
| Python 3 | Automated solver script |
|
||||
|
||||
---
|
||||
|
||||
## Solution
|
||||
|
||||
### Step 1 — Open both channels
|
||||
|
||||
```bash
|
||||
# Terminal 1 — read device output
|
||||
@ -21,19 +50,27 @@ nc <host> 1111
|
||||
nc <host> 2222
|
||||
```
|
||||
|
||||
1. On the RX terminal, send the `flag` command:
|
||||
> 📸 `[screenshot: two terminal windows open, TX showing the device banner]`
|
||||
|
||||
### Step 2 — Request the flag
|
||||
|
||||
In Terminal 2 (RX):
|
||||
|
||||
```text
|
||||
flag
|
||||
```
|
||||
|
||||
1. The flag prints on the TX terminal:
|
||||
### Step 3 — Read the flag
|
||||
|
||||
```text
|
||||
In Terminal 1 (TX):
|
||||
|
||||
```
|
||||
ESPILON{LAIN_TrUsT_U4RT}
|
||||
```
|
||||
|
||||
## Solver Script
|
||||
> 📸 `[screenshot: TX terminal printing the flag immediately after the flag command is sent]`
|
||||
|
||||
### Automated solver
|
||||
|
||||
```python
|
||||
#!/usr/bin/env python3
|
||||
@ -64,10 +101,8 @@ with socket.create_connection((HOST, RX_PORT)) as s:
|
||||
tx_thread.join()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Flag
|
||||
|
||||
`ESPILON{LAIN_TrUsT_U4RT}`
|
||||
|
||||
## Author
|
||||
|
||||
Eun0us
|
||||
|
||||
Loading…
Reference in New Issue
Block a user