USB流量取证分析

本文介绍了USB流量取证分析,涉及USB的基础知识、USB设备的三种使用方式,以及如何使用lsusb和tshark命令进行USB流量监控。重点讨论了鼠标和键盘流量的特点,包括数据包结构和解析方法,提供了实战练习来恢复鼠标轨迹和键盘输入。
摘要由CSDN通过智能技术生成

0x00:什么是USB?

USB是 UniversalSerial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,例如键盘、鼠标、打印机、磁盘或网络适配器等等。通过对该接口流量的监听,我们可以得到键盘的击键记录、鼠标的移动轨迹、磁盘的传输内容等一系列信息。

USB流量指的是USB设备接口的流量,攻击者能够通过监听usb接口流量获取键盘敲击键、鼠标移动与点击、存储设备的铭文传输通信、USB无线网卡网络传输内容等等。

0x01:USB使用的三种方式

USB协议版本有USB1.0, USB1.1, USB2.0, USB3.1等,目前USB2.0比较常用。

1. USB UART

UART,这种方式下,设备只是简单的将 USB 用于接受和发射数据,除此之外就再没有,其他通讯功能了。

2. USB HID

HID 是人性化的接口。这一类通讯适用于交互式,有这种功能的设备有:键盘,鼠标,游戏手柄和数字显示设备。

3. USB Memory

USB Memory是数据存储

每一个 USB 设备(尤其是 HID 或者 Memory )都有一个供应商 ID(Vendor ID) 和产品识别码(Product Id) 。 Vendor ID 是用来标记哪个厂商生产了这个 USB 设备。 Product ID 则用来标记不同的产品.

0x02:lsusb命令

lsusb命令用于显示本机的USB设备列表,以及USB设备的详细信息。

在这里插入图片描述

  • Bus 002:指明设备连接到哪条总线
  • Device 002:表明这是连接到总线上的第二台设备
  • ID : 设备的ID
  • VMware, Inc. Virtual Mouse:生产商名字和设备名

详细命令

0x03 tshark命令

网络抓包,分析工具。wireshark 的 Linux命令行工具

常用命令

tshark -r usb.pcap -T fields -e usb.capdata > usbdata.txt

如果提取出来的数据有空行,可以将命令改为如下形式:

tshark -r usb2.pcap -T fields -e usb.capdata | sed '/^\s*$/d' > usbdata.txt

如果提取出来的数据没有冒号,可以用脚本来加上冒号(因为一般的脚本都会按照有冒号的数据来识别,有冒号时提取数据的[6:8],无冒号时数据在[4:6])

f=open('usbdata.txt','r')
fi=open('out.txt','w')
while 1:
    a=f.readline().strip()
    if a:
        if len(a)==8: # 键盘流量的话len改为16
            out=''
            for i in range(0,len(a),2):
                if i+2 != len(a):
                    out+=a[i]+a[i+1]+":"
                else:
                    out+=a[i]+a[i+1<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值