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

Umap2:开源USB host安全评估工具的更多相关文章

  1. 【转】Android Service创建USB HOST通信

    之前做了一个关于Android USB通信的Case,通过Android的USB总线给Zigbee供电,和板载的Zigbee(基于Zigbee的自组网)进行通信.要使用Android的USB Host ...

  2. usb host和device的关系-ARM 论坛 - 21ic电子技术论坛

    usb host和device的关系 疑问1:我们通常所用的u盘应该是usb device吧?我想这个不用多说,呵呵. ===============恩.============== 疑问2:我们通常 ...

  3. Android Service创建USB HOST通信

    之前做了一个关于Android USB通信的Case,通过Android的USB总线给Zigbee供电,和板载的Zigbee(基于Zigbee的自组网)进行通信.要使用Android的USB Host ...

  4. 常用的商业级和免费开源Web漏洞扫描工具

    Scanv 国内著名的商业级在线漏洞扫描.可以长期关注,经常会有免费活动.SCANV具备自动探测发现无主资产.僵尸资产的功能,并对资产进行全生命周期的管理.主动进行网络主机探测.端口探测扫描,硬件特性 ...

  5. Android开启OTG功能/USB Host API功能

    Android USB 模式简介 设备模式 当计算机或其他USB主机需要连接安卓设备时,此时安卓设备是作为"USB设备"角色的,在计算机上显示为 USB 外设.现在的安卓设备已经被 ...

  6. Android USB Host与HID通讯

    前端时间捣鼓一个HID的硬件, 需要和android通信, 网上搜索了一圈,收获不小. 比较好的文章是:      Android USB Host与HID通讯 Android Service创建US ...

  7. [转]Android开源项目第二篇——工具库篇

    本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多 ...

  8. pylot是一款开源的web性能测试工具

    pylot是一款开源的web性能测试工具,http://www.pylot.org/ 参考文档:http://www.pylot.org/gettingstarted.html很容易上手 使用分为以下 ...

  9. 10 个强大的开源 Web 流量分析工具(转帖)

    Web 流量分析工具多不胜数,从 WebTrends 这样专业而昂贵的,到 Google Analytics 这样强大而免费的,从需要在服务器端单独部署的,到可以从前端集成的,不一而足.本文收集并介绍 ...

随机推荐

  1. java语言的认识

    class Hello{ public static void main(String [] args) { System.out.println("Hello Word 你好") ...

  2. (转)建站知识:域名/ 空间/ IP/ 端口之间的关系

    先说域名解析吧,比如说你的域名是 www.sunnymould.com,这个域名对应着一个IP地址,域名解析就是把上面的域名转换成这个IP地址的过程,这样你就可以域名访问了上面地址上的内容了. 端口映 ...

  3. Cheatsheet: 2015 09.01 ~ 09.30

    Web A Guide to Vanilla Ajax Without jQuery Gulp for Beginners A Detailed Walkthrough of ASP.net MVC ...

  4. Cheatsheet: 2015 07.01 ~ 07.31

    Java JBoss Drools Tutorial for Beginners Other A Simple File System RebornDB: the Next Generation Di ...

  5. ConsensusClusterPlus根据基因表达量对样品进行分类

    #http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2881355/ 一致聚类方法,采用重抽样方法来验证聚类合理性. library(ALL)data(ALL)d ...

  6. cocos2d学习笔记

    doxygen工具 生成cocos2d的api文档 位图字体编辑工具 Glyph Designer http://www.71squared.com/glyphdesigner  收费的 CCLabl ...

  7. max-width实现图片的自适应

    在自适应布局中,有时候会让图片随着宽度的变化相应的放大或者缩小,或者说让图片等比缩放,但是每个图片的大小又不一样,这个时候我们就要用到max-width这个属性了. img{ max-width:10 ...

  8. 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究 转载

    1.XA XA是由X/Open组织提出的分布式事务的规范.XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接 ...

  9. exception

    SQL> -- 例外 exceptionSQL> -- 1/0SQL> ed已写入 file afiedt.buf 1  declare  2   pnum number := 0; ...

  10. Oracle数据库字段类型说明

    目前Oracle 数据库大概有26个字段类型,大体分为六类,分别是字符串类型.数字数据类型.日期时间数据类型.大型对象(LOB)数据类型.RAW和LONG RAW数据类型.ROWID和UROWID数据 ...