haehet

TP-Link TL-MR100 LTE router 분석 본문

Embedded

TP-Link TL-MR100 LTE router 분석

haehet 2026. 5. 17. 10:05

 최근 LTE 관련 디바이스의 구조와 공격 표면을 공부해보고 싶어서 TP-Link TL-MR100을 분석 대상으로 고르게 되었다.
이 공유기를 고른 이유는 LTE 라우터 중에서 가격이 비교적 저렴하고 구하기 쉬워 보였기 때문이다.

하지만 구하기 쉬울 것이라는 생각은 오산이었다... 생각보다 인기 제품이라 재고가 없었고 중간에는 이 제품을 사려다 사기도 당했다. 분명 TL-MR100을 샀는데 TP-Link TL-MR100 Outdoor 제품이 도착했다. (3배 가격 눈탱이는 덤 하ㅏㅏ) 

어쨌거나 우여곡절 끝에 겨우 용산에서 재고를 구할 수 있었다.
따라서 이번 글에서는 이 LTE 라우터의 하드웨어 구성, UART 인터페이스, LTE 모뎀, 내부 네트워크 구조를 중심으로 분석해보겠다. 

1. TP-Link TL-MR100 외형과 기본 사양

먼저 외형은 다음과 같다.

 

 

또한 성능은 아래와 같다. (공식 사이트 기준이며 틀린 내용이 있을 수가 있다.) 

| 항목 | 사양 |
|---|---|
| 제품명 | TP-Link TL-MR100 |
| 제품 유형 | 4G LTE Router |
| LTE 속도 | Download 최대 150 Mbps / Upload 최대 50 Mbps |
| Wi-Fi 규격 | IEEE 802.11b/g/n |
| Wi-Fi 대역 | 2.4 GHz |
| Wi-Fi 속도 | 최대 300 Mbps |
| 동시 연결 기기 | 최대 32개 Wi-Fi 기기 |
| 유선 포트 | 10/100 Mbps LAN 1개, 10/100 Mbps LAN/WAN 1개 |
| SIM 슬롯 | Nano SIM Card Slot |
| 안테나 | 탈착식 외장 4G LTE 안테나 2개 |
| 안테나 커넥터 | SMA-F 외장 안테나 인터페이스 2개 |
| 버튼 | WPS/Reset |
| 전원 | 9V / 0.85A |
| 크기 | 154 × 114 × 36 mm |

 

2. 기판 분해 

 tl mr 100은 기판 아래에 따로 나사가 없다. 또한 기판 연결이 다른 라우터들과 다르게 생각보다 약한 것 같다.(크기가 작아서 그런가) 별도의 도구 없이 힘으로도 기판 분리가 가능하다. 분해 후 모습은 다음과 같다. 

 

뭔가 수상한 테스팅 포인트가 많은 걸 볼 수 있다. 개인적으로 저 LED가 싫다. 분석을 할 때마다 옆에서 밝게 빛나는데 눈이 너무 아프다.. 

 

3. 주요 칩 구성

 기판을 분해한 뒤에는 각 칩의 마킹을 확인하면서 전체 구조를 파악했다.
TL-MR100은 일반적인 공유기처럼 메인 SoC, RAM, Flash를 가지고 있으며 여기에 LTE 통신을 위한 별도의 모뎀 칩과 RF 회로가 추가된 형태로 구성되어 있다.

 

3.1 SPI Flash

 가장 먼저 확인한 부품은 SPI Flash이다. SPI Flash는 라우터의 펌웨어가 저장되는 비휘발성 메모리로, 부트로더, 커널, 루트 파일시스템, 설정 영역 등이 저장되는 공간이다. 

 

이 라우터에서 사용중인 칩은 XMC XM25QH64DHIQ이며 각 핀의 역할은 다음과 같다. (데이터 시트 기준)

 

위 핀들은 조금있다. uart 핀을 식별할 때 요긴하게 이용할 것이다. 
 

3.2 LTE Modem Module

기판 하단에는 EC200A-ELA Quectel LTE 모뎀 모듈이 실장되어 있었다. 이 모듈은 SIM 카드를 통해 이동통신망에 접속하고, 메인 SoC는 내부 인터페이스를 통해 이 모뎀을 제어하는 구조로 보인다.

 

나중에 이 내부에 있는 베이스 벤드도 분석해보겠다... (펌웨어 구하기 힘들 것 같긴한데 열풍기로 뜯고 칩 덤프하면 되려나...)

 

 

3.3 Main SoC

 LTE 모뎀 모듈과 SPI Flash 외에, 기판 중앙에는 큰 금속 쉴드캔으로 덮인 영역이 존재한다. 이 영역은 외부에서 칩 마킹을 직접 확인할 수 없었지만 위치와 주변 회로를 고려하면 라우터의 메인 SoC 또는 Wi-Fi/RF 관련 회로가 배치되어 있을 가능성이 높다.

 

 TP link를 수리하는 글(https://blog.danman.eu/fixing-broken-tp-link-tl-mr100/)에 따르면 저 부분에는 MT7628AN SoC와 zentel DRAM이 있는 것 같다. 다만 내가 분석한 장비는 TL-MR100(EU) Ver. 3.20이며 기존 글의 보드와 PCB 배치 및 모뎀 구성이 다르다. 따라서 동일한 칩 구성을 가진다고 단정할 수는 없지만 이 쉴드캔 아래에 메인 SoC와 DRAM이 위치할 가능성이 높다고 판단했다.

 

3.4 Ethernet / LAN-WAN 포트 영역

 기판 왼쪽에는 유선 LAN/WAN 포트가 배치되어 있다. TL-MR100은 10/100Mbps Ethernet 포트를 제공하며 이 포트는 내부적으로 메인 SoC 또는 Ethernet PHY/Switch 회로와 연결되는 구조로 보인다. (뒤에 뭔가 수상한 글씨로 ZDF 2021 2604G라고 써있는데 이 의미를 아시는 분은 댓글 부탁드립니다.)

 

4. UART interface 분석 

 

 먼저 처음 기판을 뜯었을 때 uart 핀처럼 보이는 곳은 3곳이였다. 

 

위에서 언급했던 부서진 tl mr 100을 고치는 글에서는 핀 세개 짜리가 NezhaC 4G 모뎀 칩/모듈의 uart인터페이스라고한다. 이 uart는 1.8V의 전압을 요구하는 것으로 보이며 나중에 한번 다뤄보겠다. 

 

 남은 uart 후보 2개를 구분하는 것이 어려웠다. 둘다 핀을 4개 가지고 SPI Flash와 연결된 GND를 가지고 있었기 때문이다. 이를 구분하기 위해서 전압 측정을 해주었다. 중앙의 핀은 GND 기준 전위차가 각각 3.8V, 0, 0, 0 이였구 가장자리의 핀은 3.3V, 0, 0, 3.3V였다. 즉 가장자리의 핀이 uart였다. LLM에게 중앙 핀의 정체 유추를 부탁하니 전원부와 관련된 별도의 power rail일 가능성이 있다구 한다. 나중에 로직 애널라이저로 파형을 분석봐야겠다.

 

그 후 각 핀을 구분하는 것은 별로 어렵지 않았다. 먼저 GND와 VCC를 SPI Flash와의 도통 테스트로 구분했고, RX TX는 전압이랑 부팅시 전압 떨림을 통해 구분했다. 결과적으로 왼쪽부터 각각 VCC, GND, RX, TX였다.

 

 uart 연결 과정중에 가장 당황스러웠던 것은 모든 uart 인터페이스가 납으로 막혀있다는 것이다... 처음에는 이를 디솔더링 후 핀 헤더를 꽃아서 해결하려했다. 하지만 생각보다 쉽지 않았다. 유연납을 함께 납땜하면서 녹는 점을 낮추려고 시도했지만 거의 흠집도 나지 않았다. (내 인두기가 그렇게 성능이 좋지 않은 점도 한 몫한다.) 그러던 중 더 쉬운 방법을 발견했다!

 

 

 바로 직접 전선을 납땜 해주는 것이다. USB to TTL이 dupont 선을 입력으로 받기 때문에 dupont선을 자르고 피복을 벗겨서 납땜해줬다. (테이프로 전선을 고정하고 접합부를 납땜하면 편하다.) 각 접합부끼리도 닿으면 안되기 때문에 난이도가 조금 있었지만 성공했다. 납땜 실력이 좋지 못해서 예쁘게 되진 않았지만 통신을 하기에는 충분하다.

 

그 후 바로 Putty terminal을 통해 연결해줬다. baud rate는 115200, data bits는 8, stop bits는 1, parity, flow control은 각각 None으로 설정 후 연결했다. 그 결과 다음과 같이 라우터의 Root shell을 얻을 수 있었다.

 

중간에 비밀번호를 묻는데 그냥 admin, 1234를 입력하면 된다 ㅋㅋㅋㅋ.

 

5. 부팅 로그 분석 

메인 SoC가 MT7628 계열이고 RAM은 64MB, Flash는 8MB SPI Flash라는 걸 확인 가능하다. 

 

 그 후  kernel이 실행되는데 Mips기반의 오래된 이미지 같다. Kernel command line에서는 console=ttyS1,115200이 지정되어 있었다. 따라서 이번에 연결한 UART는 메인 SoC의 Linux console로 사용되는 ttyS1임을 확인할 수 있다. 또한 root filesystem은 /dev/mtdblock2에 위치하며 squashfs 형식으로 마운트된다.

 

 

TL-MR100은 하나의 8MB SPI Flash를 여러 partition으로 나누어 사용한다.
여기서 erasesize = 0x10000 즉 64KB로 표시되는데, 이는 Flash를 erase할 때의 최소 단위로 볼 수 있다. 그래서 config, configbak, romfile, radio처럼 작은 파티션들이 64KB 단위로 나누어진 것으로 보인다

 

6. 주요 서비스 식별

먼저 포트 스캔시 결과는 다음과 같다.

여기서 80/tcp는 사용자가 직접 접근하는 웹 관리 인터페이스이고 7547/tcp는 일반적으로 ISP 원격 관리에 사용되는 CWMP/TR-069 서비스인 것 같다. 또한 1900/tcp는 UPnP 서비스로 식별되었으며 라우터 장비에서 자주 볼 수 있는 LAN 내부 관리 인터페이스이다.

외부 스캔에서 확인된 22, 80, 1900, 7547 포트는 각각 dropbear, httpd, upnpd, cwmp 프로세스와 연결되어 있었다.

 

7. 마무리

이번 글에서는 TP-Link TL-MR100을 분석해보았다. 처음에는 LTE 라우터의 공격 표면을 공부하기 위해 장비를 구입했지만 실제로 분석해보니 일반적인 공유기보다 훨씬 복잡한 구조를 가지고 있었다. 공격 표면도 정말 다양한 것 같다. 다음 분석에서는 각 공격표면을 하나씩 살펴볼 예정이다. 또한 이런 이동통신 기기에 들어가는 모뎀 속 베이스벤드도 분석해보고 싶다.

 



'Embedded' 카테고리의 다른 글

UART: A First Step into Router Hardware Analysis  (0) 2026.05.13