Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
FACT_core — 펌웨어 분석 및 비교 도구 | Kitploit
도구/GitHubGitHub/fkie-cad/fact_core
Embedded Systems SecurityStatic AnalysisDynamic Analysis (Sandboxing)IoT SecurityVulnerability AnalysisReverse EngineeringForensicsHardware HackingHardware SecurityHardware & IoT SecurityBinary AnalysisFirmware Analysis
1.5k2505817일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Embedded Systems Security #3위
Firmware Analysis #3위
Hardware Hacking #19위
Hardware & IoT Security #19위
Hardware Security #7위
IoT Security #3위
GitHubfkie-cad/fact_core

FACT_core

펌웨어 분석 및 비교 도구

저장소 보기웹사이트

FACT 로고, C가 돋보기 모양
펌웨어 분석 및 비교 도구 (FACT)

codecov Codacy Badge Gitter chat CI Build License: GPL v3

목차

  • FACT가 필요한 이유?
  • 설정
  • 사용법
  • 문서
  • 기여
  • 추가 플러그인
  • 분석 가져오기/내보내기
  • 발표
  • 소셜
  • 감사의 말
  • 라이선스

FACT가 필요한 이유?

펌웨어 분석은 여러 가지 흥미로운 목표를 달성하는 데 사용될 수 있습니다. 그중 가장 중요한 것은 블랙박스 펌웨어의 기능, 구성 요소 및 잠재적인 보안 취약점을 식별하는 것입니다.

펌웨어 분석 및 비교 도구(FACT)는 수동 펌웨어 분석 작업을 가능한 한 많이 자동화하기 위해 설계되었습니다. FACT는 점점 더 강력해지는 분석 기능을 결합하여 사용자가 임의의 펌웨어 샘플에서 완료된 분석까지 도달할 수 있는 통합 인터페이스를 제공합니다. FACT 분석의 주요 특징 중 하나는 결과가

  • 탐색 가능하고
  • 검색 가능하며
  • 비교 가능하다는 것입니다.

또한 FACT는 결과 및 펌웨어 내용을 쉽게 탐색하고 시각화할 수 있는 여러 가지 방법을 제공합니다. 주 FACT 인터페이스는 로컬에서 호스팅하거나 네트워크를 통해 공유할 수 있는 HTML/JS/CSS 기반 웹 인터페이스입니다. 또한 FACT는 통합 SwaggerUI로 탐색할 수 있는 REST 유사 HTTP API를 제공합니다. 웹 인터페이스의 주요 기능은 다음과 같습니다.

  • 모든 펌웨어 구성 요소의 파일 트리 렌더링을 통한 펌웨어의 쉬운 시각화.
  • 모든 펌웨어 구성 요소에 대한 결과 요약을 관찰하여 분석 결과를 빠르게 탐색.
  • 각 페이지 상단에 태그로 관련 분석 결과를 강조 표시.
  • 펌웨어 및 구성 요소에 대한 다양한 다운로드 옵션을 제공하여 고급 분석으로 바로 이동.

FACT는 연구용 프로토타입으로 유지 관리되지만, 프로젝트는 잘 테스트되어 있으며 기본 문서를 포함하고 다양한 프로덕션 수준 기능을 제공합니다. 우리는 항상 피드백과 기능 요청을 환영합니다.

자세한 내용과 일부 스크린샷은 프로젝트 페이지에서 확인할 수 있습니다.

설정

요구 사항

FACT는 다중 프로세스 애플리케이션으로 설계되었으며, 코어와 RAM이 많을수록 좋습니다.

최소권장
4 코어16 코어
8 GB RAM64 GB RAM
10 GB 디스크 공간10* GB 디스크 공간

[!NOTE] FACT 코드, 컨테이너, 바이너리를 설정하는 데 약 10GB가 필요합니다. 언패킹된 파일 및 분석 결과 저장을 위해 추가 공간이 필요합니다. 이는 별도의 파티션이나 드라이브에 있을 수 있습니다.

로컬 설치

원칙적으로 FACT는 모든 Linux 배포판에 설치할 수 있지만, 설치 프로그램은 다음으로 제한됩니다.

  • Debian 12/13 또는 호환 (안정)
  • Ubuntu 22.04/24.04/26.04 또는 호환 (안정)
  • Kali (실험적)

이전 배포판(예: Debian 11 "Bullseye" 또는 Ubuntu 20.04 "Focal")에 설치하는 것은 여전히 작동할 수 있지만, 이러한 배포판은 수명이 다했으므로 안정적인 것으로 간주되지 않습니다.

FACT는 Python 3.10–3.14를 필요로 합니다(지원되는 모든 배포판에서 기본값이어야 합니다).

설치 과정은 대부분 자동화되어 단일 스크립트로 구성됩니다. 일부 기능은 구체적으로 선택할 수 있습니다. FACT 설치에 대한 자세한 가이드는 INSTALL.md를 참조하세요.

[!IMPORTANT] 컨테이너를 광범위하게 사용하지만, FACT에는 여전히 많은 종속성이 포함되어 있습니다(그리고 제거 기능은 제공되지 않습니다). 시스템을 깨끗하게 유지하려면 다음에 제공된 설정 옵션 중 하나를 시도할 수 있습니다.

Vagrant

매월 사용 준비가 완료된 마스터 브랜치의 Vagrant 박스를 제공합니다. Vagrant는 시스템에 설치하지 않고 FACT를 시작할 수 있는 쉽고 편리한 방법입니다. Vagrant를 설정하고 제공된 박스를 VirtualBox로 가져오기만 하면 됩니다. 박스는 vagrantup 웹사이트에서 찾을 수 있습니다!

FACT와 Vagrant를 시작하는 방법은 튜토리얼을 확인하세요.

Docker

도커화된 버전도 있지만 현재 유지 관리되지 않습니다. (자세한 내용은 FACT_docker 저장소를 참조하세요).

사용법

start_fact.py 스크립트를 실행하여 FACT를 시작할 수 있습니다. 이 스크립트는 설치된 모든 구성 요소를 자동으로 감지합니다.

root@kitploit:~
src/start_fact.py

그러면 FACT는 기본적으로 http://localhost:5000 또는 (nginx와 함께 설치된 경우) https://localhost에서 접근할 수 있습니다.

Ctrl + c를 누르거나 start_fact.py 스크립트에 SIGTERM을 보내 시스템을 종료할 수 있습니다.

[!CAUTION] FACT는 공개 인터넷 서비스로 사용하기 위한 것이 아닙니다. 웹 인터페이스는 강화된 애플리케이션이 아닙니다. 우리는 SecDevOps를 적용하여 보안 문제를 제한하려고 노력하지만, FACT는 여전히 취약점을 제공할 수 있습니다. 완전히 신뢰할 수 없는 네트워크에서 FACT를 호스팅하려는 경우 FACT 구성에서 모든 비밀번호를 재설정해야 합니다.

문서

[!TIP] FACT 사용 방법에 대한 더 많은 문서는 위키 페이지에서 찾을 수 있습니다.

또한 Sphinx 문서를 살펴볼 수 있습니다.

FACT가 무엇이고 어떻게 작동하는지에 대한 정보는 docs 폴더의 슬라이드에서도 확인할 수 있습니다.

REST API

FACT는 REST API를 제공합니다. 자세한 내용은 위키 페이지에서 확인할 수 있습니다.

사용자 관리

FACT는 선택적 기본 인증, 역할 및 사용자 관리를 제공합니다. 자세한 내용은 위키 페이지에서 확인할 수 있습니다.

기여

기여하는 가장 쉬운 방법은 자신의 플러그인을 작성하는 것입니다. 개발자 매뉴얼은 GitHub의 위키에서 찾을 수 있습니다.

추가 플러그인

현재 사용 가능한 추가 플러그인:

  • Codescanner (⚠️ 다른 라이선스)
    • 임의 바이너리에서 세그먼트 분류 (예: ascii / 코드 / 높은 엔트로피)
    • 코드 세그먼트에서 CPU 아키텍처 분류

분석 가져오기 / 내보내기

src/firmware_import_export.py 스크립트를 사용하여 언패킹된 파일과 분석 결과를 내보내고 다른 FACT 인스턴스로 가져올 수 있습니다. 데이터는 ZIP 아카이브로 저장되며, 이는 스크립트가 가져오기 중에 기대하는 형식이기도 합니다. 분석된 펌웨어 이미지의 파일 및 분석 데이터를 내보내려면 다음을 실행하세요.

root@kitploit:~
python3 firmware_import_export.py export FW_UID [FW_UID_2 ...] [-o OUTPUT_DIR]

[!NOTE] 내보낸 아카이브는 상당한 디스크 공간을 차지할 수 있습니다. 고정된 관계는 없지만, 원래 펌웨어 크기의 2~10배를 넘을 수 있습니다.

그런 다음 내보낸 파일을 다음으로 가져올 수 있습니다.

root@kitploit:~
python3 firmware_import_export.py import FW.zip [FW_2.zip ...]

발표

BlackHat Arsenal

여러 BlackHat Arsenal 세션에서 FACT를 소개하게 되어 기쁩니다.

  • Black Hat Arsenal
  • Black Hat Arsenal
  • Black Hat Arsenal
  • Black Hat Arsenal
  • Black Hat Arsenal

기타

  • Hardwear.io 2017 / 슬라이드
  • Pass the salt 2019 / 슬라이드 / 비디오
  • Hardwear.io 2019

소셜

  • 트위터
  • Gitter

감사의 말

초기에 Vagrantfile을 제공한 @botlabsDev에게 감사드립니다. 지금은 더 이상 사용되지 않습니다.

이 프로젝트는 독일 연방 정보 보안청 (BSI) 및 다른 기관에서 부분적으로 자금을 지원받습니다.

라이선스

펌웨어 분석 및 비교 도구 (FACT)

저작권 (C) 2015-2026 Fraunhofer FKIE

이 프로그램은 자유 소프트웨어입니다: 자유 소프트웨어 재단에서 발행한 GNU 일반 공중 사용 허가서의 조건에 따라 이를 재배포하거나 수정할 수 있습니다. 허가서 버전 3 또는 (선택 사항에 따라) 이후 버전 중 하나를 선택할 수 있습니다. 이 프로그램은 유용하리라는 희망으로 배포되지만, 어떠한 보증도 없습니다. 상업성 또는 특정 목적에의 적합성에 대한 묵시적 보증도 없습니다. 자세한 내용은 GNU 일반 공중 사용 허가서를 참조하십시오. 이 프로그램과 함께 GNU 일반 공중 사용 허가서 사본을 받았을 것입니다. 받지 못했다면 http://www.gnu.org/licenses/를 확인하십시오.

일부 플러그인은 다른 라이선스를 가질 수 있습니다. 그런 경우 플러그인의 폴더에 라이선스 파일이 제공됩니다.

도구 다운로드