

下载题目文件,zip中包含了一个名称为“usbtraffic”的pcapng日志文件。由于名称是usbtraffic,尝试用工具提取键盘敲击数据,结果没有提取出特别信息。打开wireshark开始看具体的数据包流量。

数据包不少,而且很多看数据都是无用日志,这里从大到小对所有数据包进行排列,发现有大量大小为7845,数据内含有PNG标识符的文件。

可以通过foremost进行分离,把所有的png图片分离出来。
foremost usbtraffic.pcapng 
图片很多这里没有截取全部,所有的图片要么是某个字符的左右颠倒,要么是纯黑的。这里应该是需要对这些字符进行排序,排序的关键就在于每张黑色的图。虽然直接看是一样的,但如果仔细看数据包,会发现其中有一位是不同的,比如下图高亮的0c。

这个不同的值在hid数据的padding中,我们可以通过下面给的过滤器过滤所有的图片数据包。
frame.len == 7845然后选中任意数据包,通过“CTRL+Shift+I”查看所有数据包的padding。

前面15个包的PNG内容不同,中间10个包除了前面这个不同的位之外PNG内容相同。数量上和前面foremost导出的图片相同,也就是15个不同的图片加上10个纯黑色的图片。我们把上面开头的数字和相应顺序的图片进行备注,备注后就可以推断出中间跟着的纯黑图片的具体对映内容了。

具体以上图为例,通过日志中padding的异位进行标注后,可以发现基本都是15个字符加上10个纯黑图。每25个图片可以看作是一组,同组中前15位代表十六进制位数对应的字符,比如第一组4对应字母t,8对应大写字母W,纯黑图也有十六进制,通过同组中的前15个对照可以得到纯黑图的具体字符表示。
比如第一组的 6 7 e 4 1 d 0 2 b 9
对照前面对照出来得到 s u c t f { M y _ u
合在一起就是 suctf{My_u后面每一组都可以通过这种方式得到黑色图片的对应字符内容。全部得到并拼接就是答案。
suctf{My_usb_pr0toco1_s0_w3ak}类型 | 日志分析、解谜 |
|---|---|
工具 | wireshark |
Flag | flag{My_usb_pr0toco1_s0_w3ak} |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。