binwalk — 보안 분석 및 진단

최신 도구 가이드 / 보안 분석 및 진단 / binwalk.html

보안 분석 및 진단원문등록 2026-10-18

펌웨어·디스크 이미지 안의 파일시스템과 포함된 파일을 식별하는 분석 도구입니다.

기본 정보

프로그램 이름binwalk (빈워크)
한 줄 소개펌웨어·디스크 이미지 안의 파일시스템과 포함된 파일을 식별하는 분석 도구입니다.
개발·유지ReFirmLabs
공식 홈페이지https://github.com/ReFirmLabs/binwalk
공식 문서https://github.com/ReFirmLabs/binwalk#readme
공식 다운로드https://github.com/ReFirmLabs/binwalk/releases
지원 운영체제Linux, macOS, Windows (v3는 Rust 기반)
라이선스MIT
안정 버전3.1.0 (2024-10-31 공개, Rust 재작성) — 확인일 2026-10-18
GitHub 저장소https://github.com/ReFirmLabs/binwalk
분류보안 분석 및 진단 (태그: 펌웨어 분석, 파일시스템, 시그니처 스캔)

이 프로그램은 무엇인가?

binwalk은 라우터·IoT 기기 펌웨어나 디스크 이미지 바이너리 안에 어떤 파일시스템, 압축 블록, 인증서 등이 들어 있는지 시그니처 스캔으로 찾아내는 도구입니다.

'이 펌웨어 파일 안에 무엇이 들어 있나'를 파악할 때 첫 단계로 많이 쓰입니다. 2024년 공개된 v3는 Rust로 완전히 재작되어 속도와 오탐 감소 개선이 있었습니다.

어떤 문제를 해결하는가?

  • IoT·네트워크 장비 펌웨어의 내부 구조를 파악해야 할 때.
  • 디스크 이미지에서 어떤 파티션·파일시스템이 쓰였는지 확인해야 할 때.
  • 파일 안에 숨겨진 압축 블록·인증서·스크립트 등을 찾아내야 할 때.
  • 보안 점검에서 배포 바이너리에 예상 외 파일이 포함되지 않았는지 확인해야 할 때.

주요 기능

시그니처 스캔

바이너리 내 알려진 매직 바이트·시그니처를 대조해 잠재적 파일 경계를 표시합니다.

  • 활용 상황: 펌웨어 이미지 전체를 훑습니다.
  • 얻는 결과: 각 오프셋에 어떤 유형(压缩, 파일시스템 등)이 있을지 목록이 나옵니다.
  • 제한 사항: 시그니처 기반이라 오탐이 있을 수 있고 v2·v3 결과 형식이 다릅니다.

파일 추출

식별된 블록을 실제 파일로 추출·압축 해제합니다 (v3에서 확장).

  • 활용 상황: 추출한 루트 filesystem을 문자열·설정 파일 분석에 씁니다.
  • 얻는 결과: 안에 든 busybox, 설정 파일 등을 확보합니다.
  • 제한 사항: 손상된 블록은 해제에 실패할 수 있습니다.

entropy 분석

바이너리 구간의 정보 엔트로피를 계산해 압축·암호화 구간을 시각적으로 구분합니다.

  • 활용 상황: 평문과 암호화 블록이 어디서 시작되는지 봅니다.
  • 얻는 결과: 엔트로피 곡선으로 구간 경계를 추정합니다.
  • 제한 사항: 엔트로피만으로 정확한 파일 유형을 확정할 수는 없습니다.

Docker·크로스 지원

v3는 Dockerfile과 Windows 빌드를 공식 제공합니다.

  • 활용 상황: 분석 환경을 일관되게 유지해야 하는 팀에서 사용합니다.
  • 얻는 결과: 컨테이너로 재현 가능한 분석 환경을 만듭니다.
  • 제한 사항: GUI가 없어 추출 결과 후처리는 별도 도구로 해야 합니다.

설치 및 실행

pip (v3)

Rust 기반 v3는 저장소에서 소스를 받아 빌드합니다. cargo가 필요합니다.

git clone https://github.com/ReFirmLabs/binwalk
cd binwalk
cargo install --path .

Ubuntu / Debian (v2 저장소 버전)

배포판 저장소의 버전은 v2 계열일 수 있습니다.

sudo apt update
sudo apt install binwalk

Docker

공식 저장소의 Dockerfile로 컨테이너 환경을 만듭니다.

# 저장소의 Dockerfile 참고: https://github.com/ReFirmLabs/binwalk

실제 사용 예제

기본 스캔

펌웨어 파일을 스캔해 포함 가능성이 있는 구조를 나열합니다.

binwalk firmware.bin

파일 추출

식별된 항목을 추출 디렉터리로 풀어 냅니다. (v3 기준, 결과는 예시)

binwalk -e firmware.bin

엔트로피 분석

압축·암호화 추정을 위해 엔트로피 곡선을 뽑습니다.

binwalk -E firmware.bin

장점과 한계

장점

  • 펌웨어·이미지 초기 조사에서 가장 빠르게 전체 구조를 파악할 수 있습니다.
  • MIT 라이선스로 상업적 활용이 자유롭습니다.
  • v3는 Rust 기반으로 이전보다 빠르고 오탐이 줄었습니다.
  • CLI라 스크립트·자동화 파이프라인에 붙이기 쉽습니다.

사용 전에 고려할 점

  • 시그니커 기반이라 결과를 전부 신뢰하면 안 되고 후속 확인이 필요합니다.
  • GUI 리버싱 도구 대비 심층 분석 기능은 제한적입니다.
  • 배포판 저장소 버전이 v2로 남아 있는 경우가 있어 공식 저장소 확인이 필요합니다.
  • 추출된 파일의 보안 검증은 사용자 몫입니다 (악성 이미지 주의).

비슷한 프로그램과 비교

프로그램특징이런 경우에 적합
firmware-mod-kit펌웨어 추출·재조립에 초점을 둔 도구 모음입니다.추출 후 다시 패키징해야 할 때.
jeffersonJFFS2 파일시스템만 전문적으로 추출합니다.JFFS2 이미지 분석이 목적일 때.
file·xxd단순 매직 바이트 확인과 16진수 열람용 기본 도구입니다.작은 파일의 표시만 빠르게 확인할 때.

공식 자료 및 추가 학습

버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요.

실제 실행 화면

binwalk 시그니처 스캔 결과를 서버 풍으로 재구성한 합성 예시입니다. 화면은 합성 예시이며 실제 실행 결과가 아닙니다.

binwalk 펌웨어 스캔 결과: uImage 헤더·LZMA 압축·Squashfs 파일시스템 오프셋이 표시되는 화면

실제 운영 중인 서버

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.