binwalk — 보안 분석 및 진단
최신 도구 가이드 / 보안 분석 및 진단 / binwalk.html
펌웨어·디스크 이미지 안의 파일시스템과 포함된 파일을 식별하는 분석 도구입니다.
기본 정보
| 프로그램 이름 | 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 | 펌웨어 추출·재조립에 초점을 둔 도구 모음입니다. | 추출 후 다시 패키징해야 할 때. |
| jefferson | JFFS2 파일시스템만 전문적으로 추출합니다. | JFFS2 이미지 분석이 목적일 때. |
| file·xxd | 단순 매직 바이트 확인과 16진수 열람용 기본 도구입니다. | 작은 파일의 표시만 빠르게 확인할 때. |
공식 자료 및 추가 학습
- 공식 홈페이지 — https://github.com/ReFirmLabs/binwalk
- 공식 문서 / 지식베이스 — https://github.com/ReFirmLabs/binwalk#readme
- 공식 다운로드 — https://github.com/ReFirmLabs/binwalk/releases
- 릴리스 노트 — https://github.com/ReFirmLabs/binwalk/releases
- 소스 / 개발 자료 — https://github.com/ReFirmLabs/binwalk
버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요.
실제 실행 화면
binwalk 시그니처 스캔 결과를 서버 풍으로 재구성한 합성 예시입니다. 화면은 합성 예시이며 실제 실행 결과가 아닙니다.

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