ISO 하나 받으려다 커널 해킹까지? 해커뉴스 강타한 공유기 익스플로잇 사건

📌 3줄 핵심 요약

  • 단순히 OS 설치용 ISO 파일을 빠르게 다운로드받고 싶었던 한 엔지니어의 호기심이 시작이었습니다.
  • 최신 Wi-Fi 7 기업용 AP(TP-Link EAP770)의 펌웨어를 분석하다 숨겨진 취약점을 발견했습니다.
  • 결국 웹 콘솔 주입부터 커널 메모리 조작까지 성공하며 완벽한 루트(Root) 권한을 획득한 흥미진진한 보안 연구 스토리입니다.

1. 평범한 주말, ISO 다운로드가 불러온 나비효과

개발자라면 누구나 한 번쯤 겪어봤을 법한 상황입니다. 주말에 가벼운 마음으로 홈랩(Home Lab)을 정리하거나 테스트용 OS를 설치하려고 기가비트 네트워크 속도를 기대하며 ISO 다운로드를 눌렀는데, 속도가 이상하게 나오지 않는 상황 말이죠.

보안 연구원 Dan(블로그 dfb.sh 운영자) 역시 고성능 Wi-Fi 7 액세스 포인트인 TP-Link Omada EAP770 환경에서 최대 속도를 뽑아내기 위해 네트워크 설정을 들여다보기 시작했습니다. 하지만 웹 관리자 페이지의 제한된 기능만으로는 문제를 진단하기 어려웠고, 결국 “기기 내부 셸(Shell)에 직접 들어가 상태를 확인해보자”라는 생각이 커널 익스플로잇이라는 거대한 스노우볼로 굴러가게 되었습니다.

2. 펌웨어 뜯어보기: 겉은 단단했지만 속은 허술했다

최신 엔터프라이즈 AP 장비들은 보안 강화를 위해 일반적인 SSH나 텔넷 접근을 철저히 차단합니다. 연구원은 공식 웹사이트에서 다운로드 가능한 EAP770의 펌웨어 바이너리를 분석 도구(Binwalk 등)로 언팩하기 시작했습니다.

분석 결과, 기기 내부에는 다음과 같은 구조와 허점이 숨겨져 있었습니다.

💡 펌웨어 분석 단계별 주요 발견점

  1. 웹 인터페이스 처리 데몬: 사용자의 요청 파라미터를 파싱하는 C 바이너리가 여전히 구시대적인 문자열 검증 방식을 사용함
  2. 권한 분리 부재: 웹 데몬 자체가 높은 권한으로 실행되거나 유저 입력을 시스템 명령어로 직접 넘기는 지점 발견
  3. 오래된 리눅스 커널: 최신 Wi-Fi 7 칩셋 드라이버 지원을 위해 제조사 BSP(Board Support Package)가 패치한 구형 리눅스 커널 기반

3. 익스플로잇 체인: 웹 요청부터 링-0 커널 장악까지

연구원의 해킹 여정은 단순한 셸 획득에서 멈추지 않았습니다. 기기 내부에 기본적으로 걸려 있는 보안 샌드박스와 읽기 전용 파일 시스템을 우회해야 완벽한 패킷 캡처와 디버깅이 가능했기 때문입니다.

공격 단계 사용된 기법 결과
1단계: 명령 주입 웹 관리자 진단 도구 파라미터 조작 제한된 권한의 셸(sh) 획득
2단계: 메모리 릭(Leak) 커널 드라이버 ioctl 핸들러 취약점 분석 KASLR 우회 및 커널 주소 공간 확보
3단계: 커널 라이트 OOB(Out-of-Bounds) Write 공격 uid=0 완전한 Root 권한 영구 획득

연구원은 무선 드라이버와 커널 간 통신 인터페이스에서 메모리 경계 검사가 누락된 치명적인 버그를 발견했고, 이를 조합하여 시스템을 완전히 통제하는 풀체인(Full-chain) 익스플로잇을 작성했습니다. 단지 다운로드 속도를 모니터링하고 싶었을 뿐인데, 결과적으로 제조사 제로데이(0-Day)급 커널 취약점을 발굴해낸 것입니다.

⚠️ 하드웨어 및 임베디드 리버싱 시 주의할 점

제조사 허가 없이 장비를 해킹하는 과정에서 플래시 메모리 손상(벽돌 현상)이 발생할 수 있으며, 발견된 취약점은 악용하기 전에 반드시 제조사의 보안 응답 센터(Vulnerability Disclosure Program)를 통해 책임 있는 제보(Responsible Disclosure)를 선행해야 법적 보호를 받을 수 있습니다.

4. 이 사건이 개발자와 보안 업계에 던지는 시사점

Hacker News에서 80포인트 이상의 추천과 수십 개의 댓글을 받으며 폭발적인 관심을 끈 이유는 명확합니다. 기술에 대한 순수한 ‘덕심(호기심)’과 집요한 엔지니어링 마인드가 만들어낸 걸작이기 때문입니다.

  • IoT/네트워크 장비의 고질적 보안 부채: 최신 Wi-Fi 7 표준을 지원하는 플래그십 하드웨어임에도 내부 소프트웨어 스택은 여전히 검증되지 않은 C 코드와 레거시 아키텍처에 의존하고 있음을 증명했습니다.
  • 문제 해결을 위한 집요함: “왜 느리지?”라는 질문에서 멈추지 않고, 바이트 단위의 어셈블리를 추적하며 끝까지 원인을 규명해내는 태도는 모든 소프트웨어 엔지니어에게 깊은 귀감이 됩니다.

자주 묻는 질문 (FAQ)

Q1. 취약점이 발견된 EAP770 공유기는 현재 위험한 상태인가요?

연구원은 취약점 상세 내용을 공개하기에 앞서 제조사 측에 내용을 공유했으며, 해당 공격은 기본적으로 로컬 네트워크 접근 또는 관리자 권한 세션이 선행되어야 하므로 일반적인 원격 무차별 해킹 위험은 낮습니다. 최신 펌웨어 업데이트를 유지하는 것이 권장됩니다.

Q2. 리버스 엔지니어링은 어떤 도구로 시작하나요?

펌웨어 추출에는 binwalk, 역어셈블 및 바이너리 분석에는 무료 오픈소스인 Ghidra나 IDA Pro가 널리 사용됩니다. 네트워크 트래픽 캡처에는 Wireshark가 기본입니다.

Q3. 그래서 연구원은 원래 목적이었던 ISO 다운로드에 성공했나요?

네, 커널 루트 권한을 얻은 후 네트워크 버퍼와 드라이버 설정을 수정한 끝에 본래 목적이었던 풀스피드 ISO 다운로드 환경을 구축했다고 유쾌하게 밝혔습니다.

댓글 남기기