### CTF解题方法——基于Zip压缩包的解密技巧
#### 一、从蓝牙数据包获取第二个密码
**步骤1:** 从压缩包中解压获得`car.pcapng`数据包。
**步骤2:** 使用Wireshark或其他网络分析工具过滤出obex蓝牙数据包。
**步骤3:** 在蓝牙数据包中发现存在一个名为`password.zip`的压缩文件。接下来,将这个压缩文件导出,并将其保存为`.zip`格式。然后,尝试解压此文件以获得一个`.txt`文件,其中包含经过摩斯密码加密的密文。
**步骤4:** 密文如下:
```
..--.-/../--/.--./---/.-./-/.-/-./-/..--.-/..---/..--.-/..-/.-/--/.
```
**步骤5:** 使用在线摩斯密码解密工具(例如:<https://www.bejson.com/enc/morse/>)对上述密文进行解密。解密后,得到第二个密码:
```
_IMPORTANT_2_U&ME
```
#### 二、从USB流量包中获取第一个密码
**解法一:**
1. **步骤1:** 参考链接:<https://blog.csdn.net/qq_46150940/article/details/115431953>
- 根据提供的参考链接中的`keyboard2.py`脚本,编写一个新的脚本`usbmose.py`。
- 在Kali Linux环境中运行脚本:`python usbmose.py car.pcapng`。这一步将帮助从USB数据流中解压并提取出第一个密码。
2. **步骤2:** 执行完上述步骤后,找到的结果如下:
```
Found:password1<SPACE><CAP>v3hicl3_ne7workin9_1s
```
3. **步骤3:** 转换上述结果为大写形式,得到第一个密码:
```
V3HICL3_NE7WORKIN9_1S
```
**解法二:**
1. **步骤1:** 使用Kali Linux中的`tshark`命令从`car.pcapng`文件中提取USB数据:
```
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. **步骤2:** 处理提取的数据。由于提取出的数据可能包含或不包含冒号,通常情况下,脚本会假设数据包含冒号。如果数据包含冒号,则提取其[6:8]位置的数据;如果不含冒号,则提取[4:6]位置的数据。可以通过编写脚本来自动添加冒号。
3. **步骤3:** 运行脚本`keyboard1.py`或`keyboard2.py`以处理这些数据。
4. **步骤4:** 获取到的结果为:
```
V3HICL3NE7WORKIN91S
```
这个结果与实际结果略有不同,缺少了两个下划线。原因尚不清楚。
#### 三、解压出加密文件
**步骤1:** 将前两个步骤中获得的密码组合起来形成完整的密码:`V3HICL3_NE7WORKIN9_1S_IMPORTANT_2_U&ME`。
**步骤2:** 使用这个完整的密码解压文件,从而获得一个采用了隐写术的图片文件。根据文件名可知,该文件使用了特定的隐写术技术及软件。
#### 四、下载并使用解密隐写术的软件
**步骤1:** 下载并安装合适的隐写术解密软件。
**步骤2:** 使用软件解密之前获得的图片文件,从而揭示隐藏的信息。
**参考链接:**
- <https://blog.csdn.net/qq_46150940/article/details/115431953>
- <https://blog.csdn.net/MarkRao/article/details/121419809>
- <https://blog.csdn.net/qq_43625917/article/details/107723635>
以上步骤提供了如何通过蓝牙数据包和USB流量包获取密码并最终解压获得隐藏文件的详细过程。这种方法不仅适用于CTF竞赛中的挑战,也能够帮助安全研究人员更好地理解密码学和网络安全领域的实际应用和技术细节。