zoukankan      html  css  js  c++  java
  • Umap2:开源USB host安全评估工具

    Umap2是一款由NCC Group和Cisco SAS小组开发的、基于python的USB host安全评估工具。

    它拥有第一版所支持的所有功能:

    umap2emulate:USB设备枚举

    umap2scan:用于设备支持的USBhost扫描

    umap2detect:USBhost操作系统检测(尚未实现)

    umap2fuzz:USB host fuzzing

    另外,该版本中添加了额外的功能:

    USBhost fuzzing使用kitty作为fuzzing引擎

    Umap2中不仅包含可执行的脚本,而且作为程序包进行安装,也可用于库

    注意:Umap2目前仍然是一款处于alpha阶段的工具。API、可执行文件名都有可能会更改。

    安装

    Umap2是一个比较早期的版本,因此还不能通过pypi安装。目前是使用pip进行安装:

    $ pipinstall git+https://github.com/nccgroup/umap2.git#egg=umap2
    

    附属功能

    Umap2的附属功能列在setup.py文件中,并且会与Umap2一起安装。但是对于某些设备需要添加支持:

    大容量存储

    需要在运行目录中添加名为stick.img的磁盘镜像。

    MTP

    1、需要在当前目录中添加名为mtp_fs的文件/文件夹

    2、需要python程序包pymtpdevice,下载地址:https://github.com/BinyaminSharet/Mtp

    用例

    设备枚举

    Umap2的基本功能是枚举。用户可以枚举任何一个存在的USB设备(使用umap2list命令查看可用设备):

    $ umap2emulate -P fd:/dev/ttyUSB0 -C mass_storage
    

    或枚举自己的设备:

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

    将来会有一个详细的添加设备的指南,同时,用户可以在umap2/dev/目录下查看umap2设备。

    设备支持扫描

    Umap2会检测主机支持的USB设备类型。它通过在短周期内模拟不同的设备并发送设备特有的消息来完成扫描:

    $ umap2scan -P fd:/dev/ttyUSB0
    

    Fuzzing

    Umap2的Fuzzing过程有三个步骤组成,这三步未来可能会写到一个独立的脚本中:

    1、用户需要确定目标主机的消息序列和模拟的USB设备:

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

    2、在独立的shell中启动kitty fuzzer,并提供第一阶段生成的stages:

    $ umap2kitty -s keyboard.stages
    

    3、开启fuzz模式的umap2键盘仿真

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

    步骤三执行后,fuzzing会话就开始了。

    *原文地址:github

  • 相关阅读:
    Classification and Representation(分类与表示)
    静态链表
    拓扑序列
    二分图问题
    大数据概述
    QT出现应用程序无法正常启动0xc000007b的错误
    简易有穷自动机实验
    一个简易的C语言文法
    词法分析器实验报告
    浅谈词法分析器
  • 原文地址:https://www.cnblogs.com/k1two2/p/5619544.html
Copyright © 2011-2022 走看看