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
Umap2:开源USB host安全评估工具的更多相关文章
- 【转】Android Service创建USB HOST通信
之前做了一个关于Android USB通信的Case,通过Android的USB总线给Zigbee供电,和板载的Zigbee(基于Zigbee的自组网)进行通信.要使用Android的USB Host ...
- usb host和device的关系-ARM 论坛 - 21ic电子技术论坛
usb host和device的关系 疑问1:我们通常所用的u盘应该是usb device吧?我想这个不用多说,呵呵. ===============恩.============== 疑问2:我们通常 ...
- Android Service创建USB HOST通信
之前做了一个关于Android USB通信的Case,通过Android的USB总线给Zigbee供电,和板载的Zigbee(基于Zigbee的自组网)进行通信.要使用Android的USB Host ...
- 常用的商业级和免费开源Web漏洞扫描工具
Scanv 国内著名的商业级在线漏洞扫描.可以长期关注,经常会有免费活动.SCANV具备自动探测发现无主资产.僵尸资产的功能,并对资产进行全生命周期的管理.主动进行网络主机探测.端口探测扫描,硬件特性 ...
- Android开启OTG功能/USB Host API功能
Android USB 模式简介 设备模式 当计算机或其他USB主机需要连接安卓设备时,此时安卓设备是作为"USB设备"角色的,在计算机上显示为 USB 外设.现在的安卓设备已经被 ...
- Android USB Host与HID通讯
前端时间捣鼓一个HID的硬件, 需要和android通信, 网上搜索了一圈,收获不小. 比较好的文章是: Android USB Host与HID通讯 Android Service创建US ...
- [转]Android开源项目第二篇——工具库篇
本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多 ...
- pylot是一款开源的web性能测试工具
pylot是一款开源的web性能测试工具,http://www.pylot.org/ 参考文档:http://www.pylot.org/gettingstarted.html很容易上手 使用分为以下 ...
- 10 个强大的开源 Web 流量分析工具(转帖)
Web 流量分析工具多不胜数,从 WebTrends 这样专业而昂贵的,到 Google Analytics 这样强大而免费的,从需要在服务器端单独部署的,到可以从前端集成的,不一而足.本文收集并介绍 ...
随机推荐
- java中的23中设计模式(转载的,有时间一定要熟读)
设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- Wormholes
Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes ...
- runoob
今天学习bootstrap的时候偶然发现http://www.runoob.com/ 这个网站不错,比w3cschool界面要好看,内容要丰富 比较适合新手学习,而且上面的内容比较丰富,不错.
- Entity Framework 第八篇 结构优化
在之前的文章里,业务层直接调用一个包装的仓储类入口,忽略了DAL层,在业务层绕过DAL直接调用仓储类似乎也没什么大的问题,但是这样做有一个很大的弊端,就是无法做到DAL层的原子操作的复用.假如多个业务 ...
- JAVA线程同步辅助类Exchanger-交换
可以在对中对元素进行配对和交换的线程的同步点.每个线程将条目上的某个方法呈现给 exchange 方法,与伙伴线程进行匹配,并且在返回时接收其伙伴的对象.Exchanger 可能被视为 Synchro ...
- Python数据分析之pandas学习
Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利 ...
- GZFramework代码生成器插件使用教程
代码生成器分两种 1.基于独立exe生成程序 直接运行软件目录下GZFrameworkCodeGenerate.exe文件即可 2.基于VS插件生成 目录中分为两部分:全局缓存和VS插件 1.添加全局 ...
- FreeSWITCH中文语音包
一.中文语音资源的获取 官方提供的资源:http://files.freeswitch.org/releases/sounds/ 自己录音 实在不行可以@我给你发一份. 二.中文资源的安装 英文资源的 ...
- php无限遍历目录-修正版
最近在能php目录操作,搞了一个目录无限遍历: 使用的函数有: isset()判断某个变量是否定义 chdir() 将当前目录改变为指定的目录. opendir() 打开目录. readdir()读取 ...
- InfoObject共享
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...