在一次汽车安全大赛中,遇到一个压缩包解密的题目,压缩包文件如下
初步分析发现car.pcapng,未加密可以直接解压处出,图片文件需要密码才能解开,并给出图片采用了隐写术。wireshark打开car.pcapng后发现里面有蓝牙obex、usb协议数据包。初步推断解密思路应该是从car.pcapng里面获取图片文件解压密码,然后解压密码解压获取图片文件,再用破解隐写的工具解密出图片文件中隐含的flag。实际按此思路攻击成功,现把两种攻击过程写出文章,供大家参考指点。
一从蓝牙数据包获取第二个密码
1从压缩包中解压获得car.pcapng数据包;
2 协议过滤出obex 蓝牙数据包;
3从蓝牙数据包中发现存在password.zip压缩文件,
文件-导出分组字节流,保存为zip文件,导出压缩包
解压文件获得txt文件,里面是摩斯密码加密后的密文。
得到:password2: ..--.-/../--/.--./---/.-./-/.-/-./-/..--.-/..---/..--.-/..-/.-.../--/.
通过在线摩斯密码解密获得第二个密码: https://www.bejson.com/enc/morse/
解码:_IMPORTANT_2_U&ME
二 从Usb流量包中获取第一个passwrod
解法一
参考链接https://blog.csdn.net/qq_46150940/article/details/115431953
中的keyboard2.py脚本,编写脚本usbmose.py
在kali中运行:python usbmose.py car.pcapng 解压获得usb数据流中的第一个密码
Found : password1<SPACE><CAP>v3hicl3_ne7workin9_1s
转换为大写:V3HICL3_NE7WORKIN9_1S
解法 二
(键盘输入映射不全)
1.使用kali linux中的tshark 命令把cap data提取出来:
tshark -r usb.pcap -T fields -e usb.capdata > usbdata.txt
tshark -r usb.pcap -T fields -e usb.capdata | sed '/^\s*$/d' > usbdata.txt #提取并去除空行
(2)提取出来的数据可能会带冒号,也可能不带(有可能和wireshark的版本相关),但是一般的脚本都会按照有冒号的数据来识别
有冒号时提取数据的[6:8]
无冒号时数据在[4:6]
可以用脚本来加上冒号
3运行脚本keyboard1.py keyboard2.py
得到结果
V3HICL3NE7WORKIN91S (比真实结果差两个下划线,原因还未知)
三 解压出加密文件
把从上两步获得的密码合并成:V3HICL3_NE7WORKIN9_1S_IMPORTANT_2_U&ME
解压文件获得采用了隐写术的图片文件,从文件名字中知道采用了隐写术,和使用的软件:
四 下载解密隐写术的软件,解密该文件获得flag
已知明文攻击
https://www.wangan.com/p/7fy7fg386d6a0adb#3.1ZIP已知明文攻击的一般利用
参考链接:
参考链接https://blog.csdn.net/qq_46150940/article/details/115431953