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進行安裝:
附屬功能
Umap2的附屬功能列在setup.py檔案中,并且會與Umap2一起安裝。但是對于某些裝置需要添加支援:
大容量存儲
需要在運作目錄中添加名為stick.img的磁盤鏡像。
MTP
1、需要在目前目錄中添加名為mtp_fs的檔案/檔案夾
用例
裝置枚舉
Umap2的基本功能是枚舉。使用者可以枚舉任何一個存在的USB裝置(使用umap2list指令檢視可用裝置):
或枚舉自己的裝置:
将來會有一個詳細的添加裝置的指南,同時,使用者可以在umap2/dev/目錄下檢視umap2裝置。
裝置支援掃描
Umap2會檢測主機支援的USB裝置類型。它通過在短周期内模拟不同的裝置并發送裝置特有的消息來完成掃描:
Fuzzing
Umap2的Fuzzing過程有三個步驟組成,這三步未來可能會寫到一個獨立的腳本中:
1、使用者需要确定目标主機的消息序列和模拟的USB裝置:
2、在獨立的shell中啟動kitty fuzzer,并提供第一階段生成的stages:
3、開啟fuzz模式的umap2鍵盤仿真
步驟三執行後,fuzzing會話就開始了。