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. 如何去掉list里重复的数据

    去掉list重复的数据,目前总结的以下三种方法,分别是采用set集合来做.两层循环不用任何方法来做,以及一层循环采用contains()方法来做,如下: 1.采用set结合来做: package te ...

  2. [转]使用xcode4 workspace 多个project协同工作

    转载地址:http://erlangprogram.com/use-xcode4-workspace   一般的某个应用单独新建一个 project 就可以了,然后把所有的程序文件都放在里面,这个可以 ...

  3. 微软 WP 新策略:非开发者账号免费解锁 1 部手机(转)

    好消息,微软现在非开发者用户解锁1部WP8手机和部署两个应用,即我们只 需注册个windows live账号即可解锁我们的WP8了!! 准备工作:1.需要一台装有windows8 64位系统的电脑. ...

  4. [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序创建更复杂的数据模型

    这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第六篇:为ASP.NET MVC应用程序 ...

  5. Hibernate各种主键生成策略与配置详解

    出自:http://www.cnblogs.com/kakafra/archive/2012/09/16/2687569.html 1.assigned 主键由外部程序负责生成,在 save() 之前 ...

  6. VBA中练习ADO:ActiveX Data Object

    前期绑定,要先添加引用---"Microsoft ActiveX Data Objects 6.1" ADO学习的权威参考可点击:w3school ADO简单理解:是几个Activ ...

  7. Aggregation 聚集

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  8. 基于gulp 的前端自动化构建方案总结

    一,基础篇 先安装nodejs 使用淘宝镜像安装tnpm 安装 cnpm 插件:npm install -g cnpm --registry=https://registry.npm.taobao.o ...

  9. Android系统架构-----Android的系统体系架构

    一.Android的系统体系结构 在入门了一个简单的Android的Hello World以后,我们首先来看一下我们Android的整体系统架构图: 这个就是我们Android的整体系统架构图了,我们 ...

  10. linux共享库

    linux共享库 linux中共享库一般以.so.x.y.z 命名,其中x,y,z分别为主版本号.次版本号.发布版本号.同一个库,主版本号不同则相互不兼容:主版本相同,次版本号高的库比次版本号低的库有 ...