3.2025数字中国-数据安全-跨境数据

1. 请分析流量审计设备导出的镜像流量数据,并对照国外敏感域名清单(以下简称“清单”),确认是否存在访问清单中IP地址的情况。

答案提交: 请按照以下格式填写:域名:IP地址:访问次数。例如,若发送的目标IP地址为 1.1.1.1,对应的域名为 example.com,且总访问次数为 9999,则提交的答案应为:example.com:1.1.1.1:9999

使用wireshark把流量包导出为CSV格式
Pasted image 20250520175103
用WPS打开,然后按照Destination进行筛选 按数量排序即可
Pasted image 20250520175401
数量最多的IP 146.71.124.39 没有在敏感名单里面,而且第二多的就在敏感名单中。
Pasted image 20250520175547

flag{chrome.com:57.195.144.48:20498}

也叫AI写一个脚本帮你进行筛选

import json  
from scapy.all import rdpcap, IP, TCP, UDP  
from datetime import datetime  
  
def load_ip_to_domain_map(json_filepath):  
    """  
    从JSON文件中加载IP地址到域名的映射。  
    如果一个IP对应多个域名,则取第一个遇到的域名。  
    """    ip_to_domain = {}  
    try:  
        with open(json_filepath, 'r', encoding='utf-8') as f:  
            data = json.load(f)  
  
        if 'categories' in data:  
            for category_name, category_data in data['categories'].items():  
                if 'domains' in category_data and isinstance(category_data['domains'], dict):  
                    for domain, ip_address in category_data['domains'].items():  
                        if ip_address: # 确保IP地址存在  
                            if ip_address not in ip_to_domain: # 只添加第一个域名映射对于给定的IP  
                                ip_to_domain[ip_address] = domain  
  
        if not ip_to_domain:  
            print(f"警告: 未从 {json_filepath} 中加载到任何IP到域名的映射。请检查文件内容和结构。")  
        else:  
            print(f"成功从 {json_filepath} 加载 {len(ip_to_domain)} 个唯一的IP到域名映射。")  
            # print(f"部分加载的IP->域名示例: {list(ip_to_domain.items())[:3]}") # 可选:打印少量IP以供调试  
  
    except FileNotFoundError:  
        print(f"错误: JSON文件 {json_filepath} 未找到。")  
    except json.JSONDecodeError:  
        print(f"错误: JSON文件 {json_filepath} 格式无效。")  
    except Exception as e:  
        print(f"加载IP到域名映射时发生未知错误: {e}")  
    return ip_to_domain  
  
def analyze_pcap_file(pcap_filepath, ip_to_domain_map):  
    """  
    分析PCAP文件,统计访问敏感IP的次数,并按指定格式输出。  
    """    if not ip_to_domain_map:  
        print("错误: IP到域名映射为空,无法进行分析。")  
        return  
  
    sensitive_ips_set = set(ip_to_domain_map.keys())  
    access_counts = {}  # {ip: count}  
    packet_count = 0  
  
    try:  
        print(f"开始分析PCAP文件: {pcap_filepath}...")  
        packets = rdpcap(pcap_filepath)  
  
        for packet in packets:  
            packet_count += 1  
            if IP in packet:  
                # src_ip = packet[IP].src # 源IP暂时不用于最终输出,但保留以备将来扩展  
                dst_ip = packet[IP].dst  
  
                if dst_ip in sensitive_ips_set:  
                    access_counts[dst_ip] = access_counts.get(dst_ip, 0) + 1  
  
            if packet_count % 10000 == 0: # 调整打印频率,避免过于频繁  
                print(f"已处理 {packet_count} 个数据包...")  
  
        print(f"PCAP文件分析完成。总共处理 {packet_count} 个数据包。")  
  
        if access_counts:  
            print("\n--- 答案提交 ---")  
            total_sensitive_accesses = 0  
            for ip, count in access_counts.items():  
                domain = ip_to_domain_map.get(ip, "未知域名") # 如果IP存在但映射中没有,则标记为未知  
                print(f"{domain}:{ip}:{count}")  
                total_sensitive_accesses += count  
            print("--- 答案提交结束 ---")  
            print(f"总共发现 {len(access_counts)} 个不同的敏感IP被访问,总访问次数为 {total_sensitive_accesses} 次。")  
        else:  
            print("未发现访问清单中IP地址的流量。")  
  
    except FileNotFoundError:  
        print(f"错误: PCAP文件 {pcap_filepath} 未找到。")  
    except Exception as e:  
        print(f"分析PCAP文件时发生错误: {e}")  
        print("请确保已安装scapy库 (pip install scapy) 并且pcap文件有效。")  
  
if __name__ == "__main__":  
    json_file = '国外敏感域名清单.json' # 假设JSON文件在同一目录下  
    ip_domain_mapping = load_ip_to_domain_map(json_file)  
  
    if ip_domain_mapping:  
        pcap_file_path = input("请输入PCAP文件的路径: ")  
        analyze_pcap_file(pcap_file_path, ip_domain_mapping)  
    else:  
        print("无法继续分析,因为未能成功加载IP到域名映射。")

Pasted image 20250520175653

2. 技术⼈员在分析流量审计设备导出的镜像流量数据时,发现其中包含敏感⽂件的传输,并已上报此次数据泄漏事件。

题目描述: 幸运的是,每个⽂件都带有⽂件⽔印,可以通过⽔印信息确定泄漏源的ID 和时间。请分析导出的流量数据,提取⽂件的⽔印信息,并将⽔印字符串作为答案提交

wireshark导出分组功能,题干有提到文件传输,所以优先看FTP分组。发现有很多txt文件,挨个看一下就可以发现有不可见的unicode字符。这个应该就是水印了
Pasted image 20250520180933

3. 请分析审计导出的流量⽂件,确认是否存在内部⼈员与外部⼈员之间的语⾳通话记录。鉴于 信息泄露的风险,请提取并还原所有相关通话内容,并根据对话内容提交答案。

答案提交: 本题的答案由⼩写的26个英⽂字母组成。

网络通话一般使用RTP协议(媒体传输协议)

使用wireshark进行RTP流
Pasted image 20250520185103

Pasted image 20250520184932
对于通话而言,着重关注以下字段

字段 含义 可疑值示例
最大Delta (ms) 包与包之间最大时间间隔(延迟) 越大越可疑,代表可能有网络抖动或丢包
丢弃(Discard) 接收端主动丢弃的包数 为负数通常是异常统计(不正常)
Lost percentage 丢包率 正常应接近 0%,-100.00 是严重异常
状态(Status) 通话质量评估 Problem 表示通话有问题

可以发现 最大Delta (ms) 有两个比其他高特别多,优先听这两个的音频
点击下面的
Pasted image 20250520185436
然后就可以听了,然后可以听到以下内容

 

你会弹吉他吗?  
 会一点,不过不是很熟练。  
 那已经很厉害了。我一直想学吉他。  
 其实不难,只要多练习就好了。  
 ​  
 欢迎参加本次数字中国的预赛。  
 你这话题变得好突兀。好吧?有没有什么内部消息?  
 给你的答案要不要?  
 必须要,快给个答案。  
 ​  
 听好了,本题的答案就是江苏工匠学院君立华域的拼音。  
 本题答案就是江苏工匠学院君立华域的拼音。  
 对的。全部小写哦。 好的好的。
flag{jiangsugongjiangxueyuanjunlihuayu}