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