Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
umap2 — Umap2 is the second revision of NCC Group's python based USB host security assessment tool. | Kitploit
Ferramentas/GitHubGitHub/nccgroup/umap2
Embedded Systems SecurityDynamic Analysis (Sandboxing)Vulnerability AnalysisFuzzingPenetration TestingHardware SecurityHardware & IoT Security
GitHubnccgroup/umap2

umap2

Umap2 is the second revision of NCC Group's python based USB host security assessment tool.

Ver Repositório
28282há 4 anosRevisado 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

Umap2

Umap2 é a segunda revisão da ferramenta de avaliação de segurança de host USB baseada em Python do NCC Group.

Esta revisão terá todas as funcionalidades que eram suportadas na primeira revisão:

  • umap2emulate - emulação de dispositivo USB
  • umap2scan - varredura de host USB para suporte a dispositivos
  • umap2detect - detecção de sistema operacional do host USB (ainda não implementado)
  • umap2fuzz - fuzzing de host USB

Nesta revisão, haverá algumas funcionalidades adicionais:

  • O fuzzing de host USB usa o kitty como mecanismo de fuzzing
  • O Umap2 não contém apenas scripts executáveis, mas também é instalado como um pacote e pode ser usado como uma biblioteca

O Umap2 é desenvolvido pelo NCC Group e pela equipe Cisco SAS.

Aviso: o umap2 ainda é uma ferramenta experimental, em estágio alfa. As APIs, nomes de executáveis, etc. provavelmente serão alterados em um futuro próximo. Use por sua conta e risco.

Suporte

  • IRC: #umap2 on Freenode <https://webchat.freenode.net/?channels=umap2>_

Instalação

Como esta é uma versão muito inicial, o Umap2 ainda não está disponível no pypi; em vez disso, use o pip para instalá-lo diretamente do github:

::

root@kitploit:~
$ pip install git+https://github.com/nccgroup/umap2.git#egg=umap2

Versões do Python

O Umap2 é compatível com python2/3 na maior parte. No entanto, o script de fuzzing (umap2kitty) roda apenas em python2.

Dependências "Soft"

As dependências do Umap2 estão listadas no setup.py e serão instaladas com o umap2; no entanto, há algumas coisas que você pode querer fazer para adicionar suporte a alguns dispositivos:

Armazenamento em Massa

root@kitploit:~

1. Requer uma imagem de disco chamada **stick.img** no diretório atual

MTP
~~~

1. Requer uma pasta/arquivo chamado **mtp_fs** no diretório atual.
2. Requer o pacote python pymtpdevice. Este pacote não está no pypi
   no momento, mas pode ser baixado e instalado a partir daqui:
   https://github.com/BinyaminSharet/Mtp

Hardware
--------

- `Facedancer <http://goodfet.sourceforge.net/hardware/facedancer21/>`_
  é o hardware recomendado para o Umap2.
  O Umap2 foi desenvolvido com base nele, e você terá o melhor suporte com ele.
- `Raspdancer <http://wiki.yobi.be/wiki/Raspdancer>` é suportado em RPi
- **GadgetFS** é parcialmente suportado.
  Esse suporte é muito experimental (ainda mais que o resto do Umap2)
  e limitado.
  
  - BeagleboneBlack a partir do kernel Linux 4.4.9 com driver gadgetfs corrigido
  - RaspberryPi Zero W a partir do kernel Linux 4.12.0-rc3+, que não requer patches
  - Como o 4.12.0-rc3+ não requer patches, pode haver outros dispositivos que
    possam ser suportados; se você conhecer algum dispositivo assim ou tiver feito alterações
    para fazê-lo funcionar em outros dispositivos, por favor, nos avise.

Se tiver interesse, leia o **gadget/README.rst** para mais informações.

Uso
-----

Emulação de Dispositivo

A funcionalidade básica do Umap2 é emular um dispositivo USB. Você pode emular um dos dispositivos existentes (use umap2list para ver os dispositivos disponíveis):

::

root@kitploit:~
$ umap2emulate -P fd:/dev/ttyUSB0 -C mass_storage

ou emular seu próprio dispositivo:

::

root@kitploit:~
$ umap2emulate -P fd:/dev/ttyUSB0 -C ~/my_mass_storage.py

Um guia detalhado para adicionar seu dispositivo será adicionado em breve; enquanto isso, você pode dar uma olhada nos dispositivos do umap2 em umap2/dev/

Varredura de Suporte a Dispositivos

root@kitploit:~

O Umap2 pode tentar detectar quais tipos de dispositivos USB
são suportados pelo host.
Isso é feito emulando cada dispositivo implementado no Umap2
por um curto período de tempo
e verificando se uma mensagem específica do dispositivo foi enviada.

::

    $ umap2scan -P fd:/dev/ttyUSB0

Varredura de Suporte a Dispositivos Específicos do Fabricante

Além de verificar o suporte a várias classes de dispositivos, o Umap2 pode examinar o host em busca de suporte a dispositivos específicos do fabricante.

A varredura específica do fabricante ajuda a identificar os drivers específicos do fabricante disponíveis no host.

Isso pode ser feito usando o banco de dados VID-PID atual do Umap2 (ainda em desenvolvimento), ou outro arquivo no mesmo formato:

::

root@kitploit:~
$ umap2vsscan -P fd:/dev/ttyUSB0 -d $UMAP2_DIR/data/vid_pid_db.py

Ou varrendo um intervalo específico de vid-pid - neste exemplo - procurando cada combinação de VID de 0x1001 a 0x1004 e PID de 0x0000 a 0xffff:

::

root@kitploit:~
$ umap2vsscan -P fd:/dev/ttyUSB0 -s 1001-1004:0000-ffff

Quaisquer patches/adições ao arquivo vid_pid_db.py são muito bem-vindos!

Fuzzing

root@kitploit:~

Um guia detalhado para fuzzing com o Umap2 pode ser encontrado em
`docs/fuzzing.rst <https://github.com/nccgroup/umap2/blob/master/docs/fuzzing.rst>`_

O fuzzing com o Umap2 é composto por três etapas,
que podem ser unificadas em um único script no futuro.

1. Descubra qual é a ordem das mensagens
   para o host em que você deseja aplicar fuzzing e o
   dispositivo USB que você emula:

   ::

        $ umap2stages -P fd:/dev/ttyUSB0 -C keyboard -s keyboard.stages

2. Inicie o fuzzer kitty em um shell separado
   e forneça a ele os estágios gerados na etapa 1.

   ::

        $ umap2kitty -s keyboard.stages

3. Inicie a emulação de teclado do umap2 em modo de fuzzing

   ::

        $ umap2fuzz -P fd:/dev/ttyUSB0 -C keyboard

Após a etapa 3 ser realizada, a sessão de fuzzing começará.

Nota Sobre Fuzzing de MTP
+++++++++++++++++++++++++

Embora o umap2 possa ser usado para emular e descobrir dispositivos MTP
(veja a seção "Dependências Soft" deste README),
ele não aplica fuzzing na camada MTP neste momento.
Para aplicar fuzzing na camada MTP,
você pode usar o fuzzer embutido na biblioteca MTP.
Planejamos suportar fuzzing de MTP diretamente pelo umap2 em versões futuras.

Detecção de SO do Host

TBD

Solução de Problemas

Se você tiver problemas com o Umap2, tente a seção de solução de problemas <https://github.com/nccgroup/umap2/blob/master/docs/troubleshooting.rst>_

Raspdancer

Você precisa das bibliotecas python SPI-Py https://github.com/lthiery/SPI-Py e GPIO. Use phy rd

Baixar ferramenta