2021年中国工业互联网安全大赛核能行业赛道writeup之usb流量分析

news/2024/7/4 12:59:00

目录

一、USB协议

二、键盘流量

三、鼠标流量

四、writeup


附件题:usb流量分析

题目描述:

具体描述忘记了o(╯□╰)o

大概意思是有个U盘插到电脑上,然后经过一些操作导致该电脑重启了。找到这个过程中的flag。

附件下载:

2021-10-12T15_49_10.808949+00_00usb流量分析.zip-网络攻防文档类资源-CSDN下载CTF附件题——usb流量分析USB是UniversalSerialBus(通用串行总线)的缩更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/qpeity/33676446


一、USB协议

先引用一段对USB协议的解释

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


USB有三种方式:USB UART,USB HID,USB Memory


UART或者Universal Asynchronous Receiver/Transmitter。这种方式下,设备只是简单
的将USB用于接受和发射数据,除此之外就再没有其他通讯功能了。
HID是人性化的接口。这一类通讯适用于交互式,有这种功能的设备有:键盘,鼠标,
游戏手柄和数字显示设备。
USB Memory,或者说是数据存储。External HDD, thumb drive / flash drive,等都是
这一类的。

因此通过流量分析,特别是 USB HID 得到键盘击键记录、鼠标移动轨迹等信息来获得flag。

二、键盘流量

键盘流量的特点:

键盘数据包的数据长度一般为8个字节,击键信息集中在第3个字节,每次击键都会产生一个数据包。如果看到给出的数据包中的信息并且只有第3个字节不为00, 那么可以猜测是一个键盘流。

第三字节,键盘的对应关系,查看 10 Keyboard / Keypad Usage (0x07)https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf

第一个字节,每个bit都代表一个控制按键,如果看到这个数据包中第一个字节是 20 或者 02,那么可以认为是按住了 Shift切换。比如,0200040000000000,就是 Left Shift + a,就是大写 A。

bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0
Right GUIRight AltRight ShiftRight CtrlLeft GUILeft AltLeft ShiftLeft Ctrl

提取敲击键盘的记录,就可能得到flag


三、鼠标流量

鼠标流量
USB协议鼠标数据一般为四个字节


第一个字节, 代表按键。
当取0× 00时,代表没有按键
当取0× 01 时,代表按左键
当取0× 02时,代表当前按键为右键。


第二个字节,可看作为signed byte类型,其最高位为符号位。
当值为正时, 代表鼠标右移像素位;
值为负时, 代表鼠标左移像素位。


第三个字节, 代表垂直上下移动的偏移。
当值为正时, 代表鼠标上移像素位;
值为负时, 代表鼠标下移像素位。 

提取鼠标轨迹,并用绘图工具画出来图像,即可能得到flag


四、writeup

附件解压缩得到一个加密的 flag.docx 文件和 一个ez_usb_10月.pcapng 包。需要分析流量包得到密码,打开文件 flag.docx 就能拿到flag了。

wireshark 打开 ez_usb_10月.pcapng 包,筛选 usb.src == "1.12.1" and usb.dst == "host",发现每个发送给host的数据包,都是8个字节,且第3个字节不是00,认定是敲击键盘。

 把所有第三个字节提取出来

14, 1a, 08, 15, 17, 28, 1e, 1f, 20, 04, 16, 07, 28, 21, 22, 23

再对照键盘的对应关系就得到密码 qwert123asd456。

q,w,e,r,t,return,1,2,3,a,s,d,return,4,5,6

用密码打开flag.docx就得到 ——  flag{keyboard_Usb_yyds}

提取的办法也可以用 kali 里的工具 tshark。

  • -r 输入文件
  • -T 设置解码结果输出的格式, 默认为text
  • -e 如果 -T fields选项指定, -e用来指定输出哪些字段,这里就输出 HID 部分
 tshark -r ez_usb.pcapng -T fields -e usbhid.data | sed '/^\s*$/d' > keyboard.txt

 

 

 


http://lihuaxi.xjx100.cn/news/235825.html

相关文章

007-迅雷定时重启AutoHotkey脚本-20190411

;; 定时重启迅雷.ahk,;;~ 2019年04月11日;#SingleInstance,forceSetWorkingDir,%A_ScriptDir%DetectHiddenWindows,OnSetTitleMatchMode,2#Persistent ;让脚本持久运行(即直到用户关闭或遇到 ExitApp)。#NoEnv;~ #NoTrayIcon Hotkey,^F10,ExitThisApp lo…

2021年中国工业互联网安全大赛核能行业赛道writeup之入门的黑客

附件题:入门的黑客 题目描述: 在某次工控攻防演练中,防守方使用蜜罐捕捉到了某黑客在入侵时留下的恶意程序样本,现在要对该黑客进行画像,需要从该恶意程序中分析出反连时的IP和端口信息,看看聪明的你能否能…

eBCC性能分析最佳实践(1) - 线上lstat, vfs_fstatat 开销高情景分析 ...

Guide: eBCC性能分析最佳实践(0) - 开启性能分析新篇章eBCC性能分析最佳实践(1) - 线上lstat, vfs_fstatat 开销高情景分析eBCC性能分析最佳实践(2) - 一个简单的eBCC分析网络函数的latency敬请期待...0. I…

11.CCNA第十一天-配置OSPF/EIGRP(增强型内部网关协议)

配置OSPFBranch(config)#router ospf ?<1-65535> Process ID通配符掩码在IGP协议中&#xff0c;以连续的0和连续的1组成有一种不科学的称呼&#xff08;反掩码&#xff09;Branch#show running-config | section router ospfrouter ospf 10network 10.1.0.0 0.0.255.25…

Python脱产8期 Day02

一 语言分类 机器语言&#xff0c;汇编语言&#xff0c;高级语言&#xff08;编译和解释&#xff09; 二 环境变量 1、配置环境变量不是必须的2、配置环境变量的目的&#xff1a;为终端提供执行环境 三Python代码执行的方式 1交互式&#xff1a;.控制台直接编写运行python代码 …

MySQL02-升级

MySQL 版本号由三个数字和可选后缀组成&#xff0c;形式 mysql-x.y.z-suffix。比如 mysql-5.7.21 或者 mysql-5.7.34。 x(5)这位是大版本y(7)这位是小版本&#xff0c;大版本小版本组合成 5.7 就是一个发行版最后一位是bugfix release版本&#xff0c;从1逐渐增加&#xff0c;…

小米:开源不仅要站在巨人的肩膀上,还要为巨人指方向

今天上午&#xff0c;第一届小米开源技术峰会在北京举行&#xff0c;会上&#xff0c;小米人工智能与云平台副总裁崔宝秋致开场词&#xff0c;并发表了《小米开源之路》的演讲。 崔宝秋强调小米一直在推动开源&#xff0c;也是开源的倡导者。他告诉我们雷军创立小米的其中一个重…

2021年中国工业互联网安全大赛核能行业赛道writeup之wifi破解近源攻击

附件题&#xff1a;wifi破解——近源攻击 题目描述&#xff1a; 近源攻击&#xff0c;在攻防演练期间&#xff0c;攻击队队员使用无人机悬停监听技术&#xff0c;成功抓取到了某核电办公网络的Wifi握手包&#xff0c;现在正在进行紧张的破解&#xff0c;你能破解该密码吗&…