[공격] 분석 — CVE-2020-25213
Critical RCE via an exposed elFinder connector allowing unauthenticated PHP file upload, requiring immediate patching due to active wild exploitation and a near-certain EPSS score.
📋 요약
- 심각도 critical · CVSS 10.0 · EPSS 0.97328 · 악용난이도 easy · KEV
🔍 공격 기법
이 취약점은 인증되지 않은 원격 공격자가 서버에 임의의 PHP 파일을 생성하고 실행할 수 있는 전형적인 Unauthenticated RCE 경로를 제공한다.
- 공격 표면 (Attack Surface):
- 노출 엔드포인트:
wp-content/plugins/wp-file-manager/lib/files/내의 elFinder 커넥터 파일들. - 취약점 트리거: 플러그인이 안전하지 않은 example 커넥터 파일을
.php확장자로 변경하여 배포함으로써, 외부에서 접근 가능한 PHP 실행 환경이 노출됨.
- 노출 엔드포인트:
- 공격 체인 (Attack Chain):
- 정찰:
wp-file-manager플러그인 설치 여부 및 버전 확인. elFinder 커넥터 파일의 존재 여부를 HTTP 요청으로 스캔. - 초기 접근: 인증 없이(PR:N) 네트워크를 통해(AV:N) 노출된
.php확장자의 커넥터 엔드포인트에 직접 요청 송신. - 실행 및 권한 획득: elFinder의
upload,mkfile, 또는put명령어를 사용하여 PHP 웹셸 페이로드를 서버에 작성. (예:cmd=upload&file=shell.php) - 지속성 확보: 생성된 웹셸을 통해 OS 명령어 실행 권한 획득 및 백도어 설치.
- 영향력 확대: 웹 서버 권한으로 파일 시스템 접근, DB 설정 파일(
wp-config.php) 탈취 및 내부망 이동.
- 정찰:
- 실현성 분석: CVSS 벡터
AV:N/AC:L/PR:N/UI:N이 보여주듯, 공격 조건이 극히 낮다. 별도의 사용자 상호작용이나 권한 없이 HTTP 요청만으로 즉시 실행 가능하다.
악용 가능성: 본 취약점은 AV:N/AC:L/PR:N/UI:N 벡터가 가리키듯, 인증이나 사용자 상호작용 없이 네트워크를 통해 누구나 접근 가능한 최악의 공격 조건을 갖추고 있습니다. 특히 EPSS 점수가 0.97328로 극도로 높고 KEV에 등재되었다는 점은 이론적 위험을 넘어 이미 자동화된 스캐너와 익스플로잇 킷이 광범위하게 유포되어 실전에서 즉각적으로 악용되고 있음을 의미합니다. 공격 표면은 wp-content/plugins/wp-file-manager/lib/files/ 경로 내에 노출된 elFinder connector 파일이며, 특정 파라미터를 통해 PHP 코드를 생성하거나 업로드하는 명령을 직접 전달할 수 있습니다. 트리거 조건이 매우 단순하여, 공격자는 정찰 단계에서 플러그인 버전만 확인되면 즉시 mkfile 또는 put 커맨드를 이용해 웹 쉘(Web Shell)을 생성하는 초기 접근 및 실행 단계를 수행합니다. 결과적으로 복잡한 체이닝 없이도 단일 엔드포인트 호출만으로 서버 권한을 획득할 수 있어 공격 난이도는 매우 낮으며 악용 가능성은 극도로 높습니다.
💥 영향 분석
- 완전한 시스템 장악: 웹 서버 권한(www-data 등)으로 임의 코드 실행 가능.
- 데이터 유출 및 파괴: WordPress 사이트 전체 제어권 획득, DB 데이터 탈취 및 삭제.
- 공격 거점화: 감염된 서버를 C2 서버나 다른 내부 자원 공격을 위한 프록시로 활용.
🔗 관련 취약점·체이닝
본 취약점은 단일 결함만으로 RCE까지 도달하지만, 다음과 같은 체이닝 패턴으로 확장될 수 있다.
- 정보 노출 $\rightarrow$ RCE: 추정: 플러그인 버전 정보나 디렉토리 리스팅 취약점이 선행될 경우, 공격자는 타겟의 정확한 경로를 파악하여 정찰 시간을 단축하고 공격 성공률을 높일 수 있다.
- RCE $\rightarrow$ 권한 상승 (Privilege Escalation): 웹 서버 권한으로 진입한 후, OS 커널 취약점이나 잘못 설정된 SUID 파일을 이용하여 Root 권한을 획득하는 체이닝으로 이어진다.
- RCE $\rightarrow$ 수평 이동 (Lateral Movement):
wp-config.php에서 DB 계정 정보를 탈취하여 동일 네트워크 내 다른 DB 서버나 서비스로 접근을 시도하는 패턴이 일반적이다.
🔎 탐지
- HTTP 요청 로그:
/wp-content/plugins/wp-file-manager/lib/files/경로로 들어오는upload,mkfile,put파라미터가 포함된 POST/GET 요청 모니터링. - 파일 시스템 변조: 해당 디렉토리 내에 생성된 생소한
.php파일이나 웹셸 특성(예:eval(),system(),shell_exec()포함)을 가진 파일 탐지. - 프로세스 모니터링: 웹 서버 프로세스(
httpd,php-fpm)가 비정상적인 쉘(sh,bash,cmd.exe)을 자식 프로세스로 생성하는지 감시.
🛡️ 완화 방안
- 즉시 조치 (Immediate):
wp-file-manager플러그인을 최신 버전(6.9 이상)으로 업데이트. 다중 소스 교차검증 결과 일관성이 확인되었으며, 특히 EPSS 0.97328은 이론적 심각도를 넘어 실제 악용 확률이 최고 수준임을 의미한다. KEV 등재 및 실측 데이터 기반 우선순위가immediate로 결정되었으므로 24시간 내 조치가 필수적이다. - 근본 해결: 불필요한 파일 관리 플러그인 삭제 및 웹 루트 디렉토리의 쓰기 권한 최소화 (Least Privilege 원칙 적용).
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=10.0 · KEV · EPSS=0.97328 · exploit=easy · in_scope=None