
Android용 ES File Explorer의 CVE-2019-6447에 대한 기술 분석 및 안전을 고려한 연구 하네스
Android용 ES 파일 탐색기의 취약한 버전에서 노출되는 무인증 HTTP 서비스인 CVE-2019-6447에 대한 독립적으로 구현된 안전 지향 연구 하네스 및 기술 분석입니다.
승인된 연구 전용입니다. 이 프로젝트는 본인이 소유하거나 테스트에 대한 명시적 허가를 받은 기기에만 사용하십시오. CLI는 기본적으로 비침습적(non-invasive) TCP 프로브를 수행합니다. 기기 데이터나 파일을 요청하는 작업에는 명시적인 실험실 승인 플래그가 필요합니다.
| 속성 | 값 |
|---|---|
| 영향을 받는 제품 | Android용 ES 파일 탐색기 파일 관리자 |
| 영향을 받는 버전 | 4.1.9.7.4 이하 |
| 노출된 서비스 | TCP/59777의 무인증 HTTP 서버 |
| 공격 전제 조건 | Android 기기에 대한 네트워크 인접성 |
| 영향 | 기기/앱 열거, 임의 파일 읽기 및 애플리케이션 실행 |
| 근본적인 취약점 | CWE-306 — 중요 기능에 대한 인증 누락 |
| NVD 심각도 | CVSS 3.1: 8.1 높음 (AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) |
애플리케이션이 한 번 실행되면 내장 서비스는 로컬 Wi-Fi 네트워크에서 계속 접근 가능한 상태로 유지될 수 있습니다. 이 서비스는 호출자를 인증하지 않고 JSON 명령을 수락합니다. 이로 인해 앱 내부 관리 인터페이스가 네트워크에서 접근 가능한 공격 표면이 됩니다.
flowchart LR
A["Adjacent-network attacker"] -->|"HTTP POST / TCP 59777"| B["Embedded ES HTTP service"]
B --> C["Command dispatcher"]
C --> D["Device and app metadata"]
C --> E["Shared-storage files"]
C --> F["Android app launch"]전체 분석은 docs/technical-analysis.md를 참조하십시오.
git clone https://github.com/acloudinthebluesky/CVE-2019-6447-ES-File-Explorer.git
cd CVE-2019-6447-ES-File-Explorer
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
esfile-6447 probe --target 192.168.56.10
이 명령은 포트 59777에 대한 TCP 연결만 시도합니다. 열린 포트 자체만으로는 대상이 취약하다는 증거가 아닙니다.
esfile-6447 command \
--target 192.168.56.10 \
--name getDeviceInfo \
--i-understand-this-is-an-authorized-lab
esfile-6447 pull \
--target 192.168.56.10 \
--remote-path /sdcard/lab-marker.txt \
--output ./evidence/lab-marker.txt \
--i-understand-this-is-an-authorized-lab
합성 파일만 사용하십시오. 영향 증명을 위해 개인 데이터를 수집하지 마십시오.
방어자는 TCP/59777의 예상치 못한 리스너와 JSON command 필드를 포함하는 HTTP 요청을 찾아낼 수 있습니다. 네트워크 제어로 노출을 줄일 수 있지만, 지속적인 해결책은 취약한 애플리케이션을 제거하거나 업그레이드하는 것입니다. 내장 관리 서비스는 원격 접근이 필수적이지 않은 한 루프백에 바인딩하고, 모든 요청을 인증하며, 각 작업을 권한 부여하고, 더 이상 필요하지 않으면 종료해야 합니다.
python -m unittest discover -s tests -v
테스트는 루프백 전용 모의 HTTP 서버를 시작합니다. 외부 호스트와 통신하지 않습니다.
이 프로젝트는 방어적 검증, 교육 및 승인된 취약점 연구를 위해 제작되었습니다. 서브넷 스캔을 의도적으로 생략하고 기본적으로 연결 확인 전용 프로브를 사용합니다. 허가 없이 기기에 접근하는 것은 파일을 보관하지 않더라도 법률과 정책을 위반할 수 있습니다.
취약점 발견과 원본 공개 개념 증명(proof of concept)은 위에 언급된 연구자들의 공로입니다. 이 저장소의 구현은 독립적인 교육용 재구현입니다.