Temu 라우터 해킹: 불법적인 취약점 발견!
저렴한 Temu 라우터의 펌웨어를 분석하여 명령어 주입(Command Injection) 취약점을 발견함
재부팅(Reboot) 명령어를 이용한 취약점 트리거로 시스템 접근 권한을 획득하는 과정을 시연함
웹 서버의 파일 업로드 기능을 통해 쉘(Shell) 접근 권한을 확보하고 원격 제어 가능성을 확인함
발견된 취약점은 펌웨어의 부실한 입력값 검증(Input Validation)으로 인해 발생했음을 지적함
명령어 주입(Command Injection) 취약점 발견
발표자는 Temu 라우터에서 명령어 주입(Command Injection) 취약점을 발견했으며, 이는 펌웨어의 입력값 검증(Input Validation) 부족에서 기인한다고 설명함. 특히, `protocol.csp` 엔드포인트에서 `f_name` 파라미터에 특수 문자를 삽입하여 임의의 명령어를 실행할 수 있음을 확인함. 이는 시스템 명령어 실행(Arbitrary Command Execution)으로 이어질 수 있는 심각한 보안 결함임.
재부팅(Reboot) 명령어를 통한 시스템 접근
발견된 취약점을 활용하여, 발표자는 라우터에 재부팅(Reboot) 명령어를 주입하는 데 성공함. 이 과정에서 `$` 기호와 대괄호를 사용하여 명령어의 일부를 제어하고, `reboot` 명령어를 실행시킴으로써 장치를 강제로 재시작시킴. 이는 원격 코드 실행(Remote Code Execution)의 가능성을 시사하며, 공격자가 장치의 제어권을 탈취할 수 있는 첫걸음이 됨.
웹 서버를 통한 쉘(Shell) 접근 권한 확보
재부팅 후, 발표자는 `webs` CGI 바이너리를 이용하여 임시 쉘(Shell)을 생성하는 데 성공함. `webs` 바이너리는 웹 서버의 기능을 담당하며, 이를 통해 파일 업로드(File Upload) 기능을 악용하여 악성 스크립트를 장치에 주입하고 실행할 수 있음. 이로써 장치에 대한 완전한 제어권(Full Control)을 확보하는 경로를 열었음.
펌웨어 파일 시스템 탐색 및 분석
쉘 접근 권한을 얻은 후, 발표자는 `ls` 및 `cat` 명령어를 사용하여 장치의 파일 시스템(File System)을 탐색함. 특히, `/web/cgi-bin/upload.cgi`와 같은 파일들을 분석하며 웹 서버의 동작 방식과 파일 처리 로직을 이해함. 이를 통해 `webs` 바이너리가 어떻게 동작하는지, 그리고 `telnetd` 서비스가 활성화되어 있는지 등을 파악함.
Telnet 서비스 활성화 및 원격 접속
분석 결과, 장치에는 Telnet 서비스(`telnetd`)가 활성화되어 있었으며, 이는 기본 자격 증명(Default Credentials)으로 접속 가능했음. 발표자는 이를 통해 원격 쉘(Remote Shell) 접속에 성공했으며, 이는 기본적인 보안 설정의 부재를 보여주는 사례임. 이로써 공격자는 네트워크 상에서 장치에 직접 접속하여 모든 기능을 제어할 수 있게 됨.