Misc-Xp0int(数据包分析)

本文介绍了通过Wireshark分析一段奇怪的流量,揭示了USB键盘和鼠标的数据传输机制。在数据包分析中,发现了键盘的USB传输信息,解释了为何键盘最多只能同时按6个键。同时,通过对数据包的进一步处理,提取出ZIP压缩包,并成功解密得到flag,展示了一个完整的数据包分析过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天记录下有点意思的Xp0int的Misc~
印象最深的是数据包分析:

一段奇怪的流量

解压得到1.pcap
用WireShark打开流量包:
这里写图片描述
最后URB_INTERRUPT_IN可以看出来是URB协议、输入中断
查了一下USB、数据包、CTF
找到了这篇http://bobao.360.cn/learning/detail/3351.html
参考它可以看出来Leftover Capture Data中的八个字节应该就是USB键盘传输的信息了

(如果Leftover Capture Data没有在上面显示,可以右击下面的域选择应用为列)

查了一波资料,在这里找到了数据格式说明
http://blog.youkuaiyun.com/u013771867/article/details/51465193
第一个字节表示特殊按键、第二个字节保留、3-8字节表示按键
这也就是USB键盘同时只能按下六个键的原因啦—多键同按就没有位置传递了嘛!
(当然也可以通过修改协议来增加数据传输位,以及非USB键盘不遵循这个协议)

USB鼠标的数据传输是4个字节,与这题不符
4个字节中第一字节表示按键,第二表示水平移动,第三表示竖直移动,第四保留

之前看到的那篇分享是直接提取第三字节即可,也就是说正常情况下的敲击记录
但是本题可以看出,3-5字节都有信息,它们是同时按下的,处理的时候也要注意一下
(不过知道这点其实没什么卵用,谁输入字符的时候会同时按两个键啦~)
通过WireShark自带的工具可以将数据包的data提取出来:

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

然后通过脚本处理:

# 1: 'ErrorRollOver9', 2: 'POSTFail9', 3: 'ErrorUndefined9',
mappings = { 4: 'a', 5: 'b', 6: 'c', 7: 'd', 8: 'e', 9: 'f', 10: 'g', 11: 'h', 12: 'i', 13: 'j', 14: 'k', 15: 'l', 16: 'm', 17: 'n', 18: 'o', 19: 'p', 20: 'q', 21: 'r', 22: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值