当前位置:网站首页>buuctf misc USB
buuctf misc USB
2022-07-07 07:43:00 【[mzq]】
USB
Title address : https://buuoj.cn/challenges#USB
There are two documents in the title, one 233.rar One key.ftm file , First decompress rar The file gets a flag.txt Ridicule from the author

use 010editor Open discovery rar The file block of should be 74 instead of 7A , hold 7A It is amended as follows 74

After repairing and decompressing, you get a 233.png , use stegsolve open , Find the QR code
Scan the code to get
ci{v3erf_0tygidv2_fc0}

stay key.ftm Found in the file zip file , extract zip Decompress the compressed package to get key.pcapng

use UsbKeyboardDataHacker Decrypt usb Traffic
#!/usr/bin/env python
import sys
import os
DataFileName = "usb.dat"
presses = []
normalKeys = {
"04":"a", "05":"b", "06":"c", "07":"d", "08":"e", "09":"f", "0a":"g", "0b":"h", "0c":"i", "0d":"j", "0e":"k", "0f":"l", "10":"m", "11":"n", "12":"o", "13":"p", "14":"q", "15":"r", "16":"s", "17":"t", "18":"u", "19":"v", "1a":"w", "1b":"x", "1c":"y", "1d":"z","1e":"1", "1f":"2", "20":"3", "21":"4", "22":"5", "23":"6","24":"7","25":"8","26":"9","27":"0","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"-","2e":"=","2f":"[","30":"]","31":"\\","32":"<NON>","33":";","34":"'","35":"<GA>","36":",","37":".","38":"/","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}
shiftKeys = {
"04":"A", "05":"B", "06":"C", "07":"D", "08":"E", "09":"F", "0a":"G", "0b":"H", "0c":"I", "0d":"J", "0e":"K", "0f":"L", "10":"M", "11":"N", "12":"O", "13":"P", "14":"Q", "15":"R", "16":"S", "17":"T", "18":"U", "19":"V", "1a":"W", "1b":"X", "1c":"Y", "1d":"Z","1e":"!", "1f":"@", "20":"#", "21":"$", "22":"%", "23":"^","24":"&","25":"*","26":"(","27":")","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"_","2e":"+","2f":"{","30":"}","31":"|","32":"<NON>","33":"\"","34":":","35":"<GA>","36":"<","37":">","38":"?","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}
def main():
# check argv
if len(sys.argv) != 2:
print("Usage : ")
print(" python UsbKeyboardHacker.py data.pcap")
print("Tips : ")
print(" To use this python script , you must install the tshark first.")
print(" You can use `sudo apt-get install tshark` to install it")
print("Author : ")
print(" WangYihang <[email protected]>")
print(" If you have any questions , please contact me by email.")
print(" Thank you for using.")
exit(1)
# get argv
pcapFilePath = sys.argv[1]
# get data of pcap
os.system("tshark -r %s -T fields -e usb.capdata 'usb.data_len == 8' > %s" % (pcapFilePath, DataFileName))
# read data
with open(DataFileName, "r") as f:
for line in f:
presses.append(line[0:-1])
# handle
result = ""
for press in presses:
if press == '':
continue
if ':' in press:
Bytes = press.split(":")
else:
Bytes = [press[i:i+2] for i in range(0, len(press), 2)]
if Bytes[0] == "00":
if Bytes[2] != "00" and normalKeys.get(Bytes[2]):
result += normalKeys[Bytes[2]]
elif int(Bytes[0],16) & 0b10 or int(Bytes[0],16) & 0b100000: # shift key is pressed.
if Bytes[2] != "00" and normalKeys.get(Bytes[2]):
result += shiftKeys[Bytes[2]]
else:
print("[-] Unknow Key : %s" % (Bytes[0]))
print("[+] Found : %s" % (result))
# clean the temp data
os.system("rm ./%s" % (DataFileName))
if __name__ == "__main__":
main()

String obtained with QR code , Conduct
Vigeneredecode ,key yesxinan
Vigenere : https://atomcated.github.io/Vigenere/
Then proceed Railfence Decrypt The number of columns is 2

边栏推荐
- Detailed explanation of neo4j installation process
- Flutter riverpod is comprehensively and deeply analyzed. Why is it officially recommended?
- Stockage et pratique des données en langage C (haut niveau)
- Write CPU yourself -- Chapter 9 -- learning notes
- 海思芯片(hi3516dv300)uboot镜像生成过程详解
- L'externalisation a duré trois ans.
- After 95, Alibaba P7 published the payroll: it's really fragrant to make up this
- CentOS7下安装PostgreSQL11数据库
- 聊聊异步编程的 7 种实现方式
- Music | cat and mouse -- classic not only plot
猜你喜欢

1141_ SiCp learning notes_ Functions abstracted as black boxes

After 95, Alibaba P7 published the payroll: it's really fragrant to make up this

After the interview, the interviewer roast in the circle of friends
![[GUET-CTF2019]虚假的压缩包](/img/a2/7da2a789eb49fa0df256ab565d5f0e.png)
[GUET-CTF2019]虚假的压缩包

URP - shaders and materials - simple lit

Interviewer: what development models do you know?

《动手学深度学习》(四) -- 卷积神经网络 CNN

身边35岁程序员如何建立起技术护城河?

Kbu1510-asemi power supply special 15A rectifier bridge kbu1510

抽丝剥茧C语言(高阶)数据的储存+练习
随机推荐
idea添加类注释模板和方法模板
《动手学深度学习》(四) -- 卷积神经网络 CNN
Write CPU yourself -- Chapter 9 -- learning notes
Invalid table alias or column reference`xxx`
Interviewer: what development models do you know?
Asemi rectifier bridge rs210 parameters, rs210 specifications, rs210 package
Flutter riverpod is comprehensively and deeply analyzed. Why is it officially recommended?
图解GPT3的工作原理
95后CV工程师晒出工资单,狠补了这个,真香...
resource 创建包方式
Stockage et pratique des données en langage C (haut niveau)
Wechat applet full stack development practice Chapter 3 Introduction and use of APIs commonly used in wechat applet development -- 3.9 introduction to network interface (IX) extending the request3 met
四、高性能 Go 语言发行版优化与落地实践 青训营笔记
../ And/
【性能压测】如何做好性能压测?
【obs】win-capture需要winrt
Wechat applet full stack development practice Chapter 3 Introduction and use of APIs commonly used in wechat applet development -- 3.10 tabbar component (I) how to open and use the default tabbar comp
普通测试年薪15w,测试开发年薪30w+,二者差距在哪?
今日现货白银操作建议
[2022 ACTF]web题目复现