Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
facedancer — Python으로 자체 USB 장치를 구현하세요. Cynthion 또는 GreatFET와 같은 하드웨어 주변기기에서 지원됩니다. | Kitploit
도구/GitHubGitHub/greatscottgadgets/facedancer
Embedded Systems SecurityPacket Sniffing & AnalysisReverse EngineeringFuzzingHardware HackingUtilities & FrameworksHardware & IoT SecurityRed Teaming
GitHubgreatscottgadgets/facedancer

facedancer

Python으로 자체 USB 장치를 구현하세요. Cynthion 또는 GreatFET와 같은 하드웨어 주변기기에서 지원됩니다.

저장소 보기
1.0k154114개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Facedancer 3.0

이 저장소는 차세대 Facedancer 소프트웨어를 담고 있습니다. 원래의 GoodFET 기반 Facedancer에서 파생된 이 저장소는 확장된 Facedancer 지원을 제공하는 Python 모듈을 제공합니다. 여기에는 여러 보드에 대한 지원과 몇 가지 상당히 중요한 새로운 기능이 포함됩니다.

프로젝트 문서

Facedancer의 문서는 Read the Docs에 정리되어 있습니다. 원시 문서 소스는 docs/ 폴더에 있습니다.

설치

다음 명령으로 이 패키지를 설치하세요:

pip install facedancer

그런 다음 평소처럼 facedancer 패키지를 가져올 수 있습니다:

$ python
>>> import facedancer

내 스크립트는 어디에 있나요?

Facedancer 3.0은 원래의 에뮬레이션 코어를 처음부터 다시 작성한 것이며 레거시 스크립트를 지원하지 않습니다.

v3.0.x에서 더 이상 사용되지 않는 기능이나 API에 의존하는 스크립트나 교육 자료를 사용하는 경우, 다음 명령으로 최신 v2.9.x 릴리스의 Facedancer를 설치할 수 있습니다:

pip install "facedancer<=3"

레거시 애플릿과 예제는 v2.9.x 브랜치에서 찾을 수 있습니다.

Facedancer란 무엇인가요?

Facedancer 보드는 "원격 제어되는" USB 컨트롤러 역할을 하는 간단한 하드웨어 장치입니다. 적절한 소프트웨어를 사용하면 이 보드를 이용해 USB 장치를 빠르고 쉽게 에뮬레이션할 수 있으며, USB 호스트 컨트롤러를 퍼징할 수도 있습니다!

이 특정 소프트웨어 저장소는 현재 Python으로 USB 장치 에뮬레이션을 쉽게 만들 수 있게 해줍니다. 제어가 충분히 세밀해서 온갖 종류의 USB 오작동을 일으킬 수 있습니다. :)

자세한 내용은 다음을 참조하세요:

  • Travis Goodspeed의 Facedancer 블로그 글
  • Facedancer 21, 최초로 지원된 보드

USBProxy 'Nouveau'와 프로토콜 분석

최신 Facedancer 코드베이스의 주요 새 기능은 USB 연결을 MITM(Meddler-In-The-Middle)할 수 있는 능력으로, 저자 중 한 명의 원래 USBProxy 프로젝트를 대체합니다. 이는 프로토콜 분석과 USB 패킷의 실시간 조작을 포함한 완전히 새로운 응용 분야를 열어주며, 특히 대상 장치(예: 임베디드 시스템이나 게임 콘솔)에서 실행되는 소프트웨어를 제어하지 못할 때 유용합니다.

                 +-----------------------------------------------------------------------+
+------------+   |  +--------------------------------+   +---------------------------+   |  +--------------+
|            |   |  |                                |   |                           |   |  |              |
|  PROXIED   |   |  |         HOST COMPUTER          |   |    FACEDANCER DEVICE      |   |  |  TARGET USB  |
|   DEVICE   <------>  running Facedancer software   <--->  acts as USB-Controlled   <------>     HOST     |
|            |   |  |                                |   |      USB Controller       |   |  |              |
|            |   |  |                                |   |                           |   |  |              |
+------------+   |  +--------------------------------+   +---------------------------+   |  +--------------+
                 |                                                                       |
                 |                    MITM Setup (HOST + FACEDANCER)                     |
                 +-----------------------------------------------------------------------+

이 기능은 완성되었지만 문서가 더 필요합니다. 풀 리퀘스트를 환영합니다. :)

이 저장소는 어떻게 사용하나요?

먼저, BACKEND 환경 변수를 설정하는 것이 좋습니다. 이 변수는 소프트웨어에 어떤 유형의 Facedancer 보드를 사용할지 알려줍니다. 이 변수가 설정되지 않으면 소프트웨어가 연결된 것을 기반으로 추측을 시도합니다. 항상 최선의 추측을 하는 것은 아니므로 직접 설정하는 것이 좋습니다.

다음으로, 예제 중 하나나 미리 만들어진 스크립트 중 하나를 확인하는 것이 좋습니다. 새 구문의 예제는 examples 아래에 있습니다. "구" 구문의 핵심 Facedancer 스크립트는 legacy-applets에 있습니다.

예를 들어:

export BACKEND=greatfet
./examples/rubber-ducky.py

현재 어떤 보드가 지원되나요?

  • Cynthion USB Test Instrument (BACKEND=cynthion)
  • GreatFET One (BACKEND=greatfet)
  • NXP LPC4330 Xplorer 보드. (BACKEND=greatfet)
  • GreatFET l0adable이 있는 CCCamp 2015 rad1o 배지 (BACKEND=greatfet)
  • 일반적인 Facedancer21을 포함한 모든 GoodFET 기반 Facedancer (BACKEND=goodfet)
  • RPi + Max3241 Raspdancer 보드 (BACKEND=raspdancer)
  • HydraDancer 및 HydraUSB3 보드 (BACKEND=hydradancer)

MAX3420/MAX3421 보드는 하드웨어 제약으로 인해 더 복잡한 장치를 에뮬레이션할 수 없습니다. 설정할 수 있는 엔드포인트의 수/유형에 제한이 있습니다. GreatFET과 같은 LPC4330 보드는 제한이 더 적습니다.

비슷한 이유로, MAX3420/MAX3421 보드(BACKEND=goodfet 또는 BACKEND=raspdancer)는 현재 USBProxy-nv MITM 장치로 사용할 수 없습니다. 모든 최신 보드(BACKEND=greatfet, BACKEND=hydradancer)는 완전히 작동해야 합니다.

HydraDancer 및 HydraUSB3 보드(BACKEND=hydradancer)는 현재 호스트 모드를 지원하지 않습니다. 실제 FaceDancer 3.0은 Windows에서 작동하지 않으며(pyusb의 일부 문제...) GNU/Linux에서만 작동합니다.

곧 어떤 보드가 지원될 수 있나요?

  • gadgetfs를 지원하는 모든 Linux 컴퓨터 (예: Pi Zero 또는 Beaglebone Black)
  • USB-over-IP를 지원하는 모든 것.

어떤 기능을 추가할 계획인가요?

로드맵은 개발 중이지만, 다중 보드 지원 외에도 이 저장소는 결국 다음과 같은 멋진 새 기능들을 제공할 것입니다:

  • USB 2.0 PHY가 있는 장치에서 고속("USB 2.0") 장치 에뮬레이션.
  • 게이트웨어에서 USB 장치 컨트롤러의 즉석 생성.

이건 누구 책임인가요?

이 저장소의 멋짐에 대해 비난할 사람이 많습니다:

  • Kate Temkin (@ktemkin)
  • Travis Goodspeed (@travisgoodspeed)
  • Sergey Bratus (@sergeybratus)
  • Dominic Spill (@dominicgs)
  • Michael Ossmann (@michaelossmann)
  • Mikaela Szekely (@Qyriad)
  • git 히스토리에 이름이 나타나는 모든 분 :)

기여?

... 언제나 환영합니다. PR을 보내주세요!

도구 다운로드