EzUSB

EzUSB

HuAmI Lv3

EzUSB

一个简单的USB流量

img

点开第一个流量发现抓捕到payload,第三个字节为09.

img

表示USB Device向HOST发送了信息,“Leftover Capture Data” 就是 USBPcap 抓到的 EP 数据(payload)

根据HID 键盘标准表:

以下kecode对应的就是usage ID

Keycode 键 ASCII
0x04 a 61
0x05 b 62
0x06 c 63
0x07 d 64
0x08 e 65
0x09 f 66
0x0A g 67
0x0B h 68
0x0C i 69
0x0D j 6A
0x0E k 6B
0x0F l 6C
0x10 m 6D
0x11 n 6E
0x12 o 6F
0x13 p 70
0x14 q 71
0x15 r 72
0x16 s 73
0x17 t 74
0x18 u 75
0x19 v 76
0x1A w 77
0x1B x 78
0x1C y 79
0x1D z 7A

那么09对应的就是键盘上的 f

其他的键对应的usage ID的表如下:

数字:
Keycode 键 未按 Shift 按下 Shift
0x1E 1 1 !
0x1F 2 2 @
0x20 3 3 #
0x21 4 4 $
0x22 5 5 %
0x23 6 6 ^
0x24 7 7 &
0x25 8 8 *
0x26 9 9 (
0x27 0 0 )
控制键
Keycode 功能
0x28 Enter
0x29 ESC
0x2A Backspace
0x2B Tab
0x2C Space
符号键
Keycode 未按 Shift 按下 Shift
0x2D - _
0x2E = +
0x2F [ {
0x30 ] }
0x31 \ `
0x32 Non-US # ~(因键盘而异)
0x33 ; :
0x34 ' "
0x35 ``` ~
0x36 , <
0x37 . >
0x38 / ?
功能键
Keycode 键
0x3A F1
0x3B F2
0x3C F3
0x3D F4
0x3E F5
0x3F F6
0x40 F7
0x41 F8
0x42 F9
0x43 F10
0x44 F11
0x45 F12
导航键
Keycode 键
0x4A Home
0x4B PageUp
0x4C Delete
0x4D End
0x4E PageDown
0x4F Right Arrow
0x50 Left Arrow
0x51 Down Arrow
0x52 Up Arrow
小键盘
Keycode 键
0x53 Num Lock
0x54 /
0x55 *
0x56 -
0x57 +
0x58 Enter
0x59 1
0x5A 2
0x5B 3
0x5C 4
0x5D 5
0x5E 6
0x5F 7
0x60 8
0x61 9
0x62 0
0x63 .

回到那个leftover capture data

1
00 00 09 00 00 00 00 00

在 HID Boot Report 格式下,对数据 00 00 09 00 00 00 00 00 各字段的含义解析如下:

  • 字节 0(Modifier): 00:表示无修饰键被按下,即没有按下 Ctrl、Shift、Alt、GUI 等修饰键。
  • 字节 1(Reserved): 00:该字节为保留字节,在 HID Boot Report 格式中不做具体使用。
  • 字节 2(Keycode #1): 09:代表第一个被按下的键的 HID usage ID,也就是第一个按键的键码。
  • 字节 3 - 7(Keycode #2–#6): 00 00 00 00 00:表示除了第一个按键外,没有其他非修饰键被按下。

我们再看一个:

img

Leftover Capture Data: 20002f0000000000 是一组字节数据,按照常见的 HID 报告格式,可对其各字节含义进行如下解析:

第 1 字节: 20

将 20 转换为二进制是 0010 0000,这表示第 5 位被置 1,对应的是 Right Shift 键被按下。根据 HID 协议中修饰键位的定义,该字节用于表示修饰键的状态,所以此数据表明当前按下了 Right Shift 键 1。

第 2 字节: 00

通常该字节为保留字节, 00 表示此保留位无特殊含义。

第 3 字节: 2f

参考脚本中的映射关系, 0x2F 对应的字符是 [,所以该字节表示当前按下的按键对应的扫描码为 [ 。

第 4 - 8 字节: 00000000

这几个字节通常用于表示其他按键, 00 表示当前没有其他额外的按键被按下。

综合起来,Leftover Capture Data: 20002f0000000000 表示当前按下了 Right Shift 键和 [ 键。

Right Shift 键和 [ 键这个组合键的对应的输入就是 {

那么整个的就可以得到所有键入信息.

最后可以使用 青少年CTF在线工具箱

  • Title: EzUSB
  • Author: HuAmI
  • Created at : 2025-11-30 12:12:12
  • Updated at : 2025-11-30 16:23:37
  • Link: https://redefine.ohevan.com/2025/11/30/EzUSB/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments