强网拟态复现

  1. Streaming

Streaming

追踪一下发现是H264流,使用插件解码提取一下

具体步骤:右键decode as 任选一个流

在当前列改为RTP即decode as RTP

然后在编辑-首选项-Protocols-H.264 选择type为96即可,然后再使用插件导出

如何安装插件?

https://github.com/volvet/h264extractor

github上下载一下插件,然后如果wireshark版本较老,可以将插件放置在wireshark安装的根目录下,修改wireshark根目录下的init.lua文件,在末尾增加一行dofile(DATA_DIR..”rtp_h264_extractor.lua”)

然后我的情况是我的wireshark版本太新了,已经没有init.lua这个文件了,这个时候其实安装插件更加简单,只需要将lua脚本文件复制到Wireshark\plugins目录下即可,然后重启wireshark就可以看到插件

为什么是96?

因为写在这了……

接着使用H264BSAnalyzer.exe工具分析解出来文件,发现是一个视频,打开视频看发现flag1和hint

然后根据hint这不仅仅是flag说明这段flag还可能作为密钥使用,然后还有这道题还有一个未知文件,根据视频里划过的大量FFFFFFF数据,我们脑洞大开猜测这道题需要进行异或并且密钥是ff,同时还需要进行AES解密,密钥就是那段flag1

成功得到了一个压缩包,压缩包里有两个文件

将badapple放入FotoForensics-Analysis-ICC+处,发现flag2,这也是我没遇到过的网站,本题的脑洞实在是太多了……

还有另一个文件s4cret,补上三个0x00改文件头为mp4

发现是Apple QuickTime movie,黑白帧转二进制

import cv2
import binascii

video_capture = cv2.VideoCapture("s4cret.mp4")

while True:
    # 读取一帧
    ret, frame = video_capture.read()

    # 如果读取帧失败,则说明视频结束
    if not ret:
        break

    # 将图像转换为灰度图像
    gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # 判断当前帧是黑色还是白色
    if cv2.countNonZero(gray_frame):
        print("0", end="")
    else:
        print("1", end="")

得到flag3