Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
facedancer — Implemente seu próprio dispositivo USB em Python, com suporte de um periférico de hardware como Cynthion ou GreatFET | Kitploit
Ferramentas/GitHubGitHub/greatscottgadgets/facedancer
Segurança de Sistemas EmbarcadosSniffing e Análise de PacotesEngenharia ReversaFuzzingHacking de HardwareUtilitários e FrameworksSegurança de Hardware e IoTRed Teaming
GitHubgreatscottgadgets/facedancer

facedancer

Implemente seu próprio dispositivo USB em Python, com suporte de um periférico de hardware como Cynthion ou GreatFET

1.0k15411há 4 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

Facedancer 3.0

Este repositório abriga a próxima geração do software Facedancer. Descendente do Facedancer original baseado no GoodFET, este repositório fornece um módulo Python que oferece suporte expandido ao Facedancer -- incluindo suporte para múltiplas placas e alguns novos recursos bastante significativos.

Documentação do Projeto

A documentação do Facedancer está disponível em Read the Docs. As fontes brutas da documentação estão na pasta docs/.

Instalação

Instale este pacote com o seguinte comando:

pip install facedancer

Depois disso, você pode importar o pacote facedancer normalmente:

$ python
>>> import facedancer

Onde estão meus scripts?

O Facedancer 3.0 é uma reescrita completa do núcleo de emulação original e não oferece suporte a scripts legados.

Se você estiver usando scripts ou materiais de treinamento que dependem de recursos ou APIs obsoletos no v3.0.x, você pode instalar a versão mais recente v2.9.x do Facedancer com:

pip install "facedancer<=3"

Applets e exemplos legados podem ser encontrados na branch v2.9.x.

O que é um Facedancer?

As placas Facedancer são dispositivos de hardware simples que atuam como controladores USB "controlados remotamente". Com o software adequado, você pode usar essas placas para emular dispositivos USB de forma rápida e fácil -- e para fazer fuzzing em controladores USB host!

Este repositório de software específico atualmente permite que você crie facilmente emulações de dispositivos USB em Python. O controle é refinado o suficiente para que você possa causar todos os tipos de comportamentos incorretos de USB. :)

Para mais informações, consulte:

  • Post no blog do Travis Goodspeed sobre o Facedancer
  • O Facedancer 21, a placa originalmente suportada

USBProxy 'Nouveau' e Análise de Protocolo

Um grande novo recurso da base de código mais recente do Facedancer é a capacidade de fazer MITM (Meddler-In-The-Middle) em conexões USB -- substituindo um dos projetos originais USBProxy de um dos autores. Isso abre todo um novo leque de aplicações -- incluindo análise de protocolo e manipulação ao vivo de pacotes USB -- e é especialmente útil quando você não controla o software em execução no dispositivo alvo (por exemplo, em sistemas embarcados ou consoles de videogame).

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

Este recurso está completo, mas poderia usar mais documentação. Pull requests são bem-vindos. :)

Como eu uso este repositório?

Primeiro, você provavelmente vai querer definir a variável de ambiente BACKEND, que permite que o software saiba qual tipo de placa Facedancer você deseja usar. Se essa variável não estiver definida, o software tentará adivinhar com base no que está conectado. Ele nem sempre faz as melhores suposições, então provavelmente é melhor você mesmo defini-la.

Em seguida, você provavelmente vai querer conferir um dos exemplos, ou um dos scripts prontos. Os exemplos na nova sintaxe estão localizados em examples. Os scripts principais do Facedancer na sintaxe "antiga" estão localizados em legacy-applets.

Por exemplo:

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

Quais placas são atualmente suportadas?

  • O Cynthion USB Test Instrument (BACKEND=cynthion)
  • O GreatFET One (BACKEND=greatfet)
  • A placa NXP LPC4330 Xplorer. (BACKEND=greatfet)
  • O badge rad1o do CCCamp 2015 com GreatFET l0adable (BACKEND=greatfet)
  • Todos os Facedancers baseados em GoodFET, incluindo o comum Facedancer21 (BACKEND=goodfet)
  • Placas RPi + Max3241 Raspdancer (BACKEND=raspdancer)
  • Placas HydraDancer e HydraUSB3 (BACKEND=hydradancer)

Observe que restrições de hardware impedem que as placas MAX3420/MAX3421 emulem dispositivos mais complexos -- há limitação no número/tipo de endpoints que podem ser configurados. As placas LPC4330 -- como a GreatFET -- têm menos limitações.

Por um motivo semelhante, as placas MAX3420/MAX3421 (BACKEND=goodfet ou BACKEND=raspdancer) atualmente não podem ser usadas como dispositivos MITM USBProxy-nv. Todas as placas modernas (BACKEND=greatfet, BACKEND=hydradancer) devem ser totalmente funcionais.

Observe que as placas HydraDancer e HydraUSB3 (BACKEND=hydradancer) atualmente não suportam modo host. Observe que o FaceDancer 3.0 atual não funciona no Windows (alguns problemas no pyusb...) e apenas no GNU/Linux

Quais placas poderão ser suportadas em breve?

  • Qualquer computador Linux com suporte a gadgetfs (por exemplo, o Pi Zero ou Beaglebone Black)
  • Qualquer coisa que suporte USB-over-IP.

Quais recursos você planeja adicionar?

O roadmap está em desenvolvimento, mas além do suporte a múltiplas placas, este repositório eventualmente abrigará alguns novos recursos interessantes, incluindo:

  • Emulação de dispositivos de alta velocidade ("USB 2.0") em dispositivos com PHYs USB 2.0.
  • Geração dinâmica de controladores de dispositivos USB em gateware.

De quem é a culpa?

Há muitas pessoas a quem culpar pela incribilidade que é este repositório, incluindo:

  • Kate Temkin (@ktemkin)
  • Travis Goodspeed (@travisgoodspeed)
  • Sergey Bratus (@sergeybratus)
  • Dominic Spill (@dominicgs)
  • Michael Ossmann (@michaelossmann)
  • Mikaela Szekely (@Qyriad)
  • qualquer pessoa cujo nome apareça no histórico do git :)

Contribuições?

... são sempre bem-vindas. Mande um PR pra gente!

Baixar ferramenta