惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
A
About on SuperTechFans
D
DataBreaches.Net
量子位
云风的 BLOG
云风的 BLOG
T
The Blog of Author Tim Ferriss
U
Unit 42
M
MIT News - Artificial intelligence
小众软件
小众软件
博客园 - Franky
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Help Net Security
Help Net Security
Recorded Future
Recorded Future
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
S
Security @ Cisco Blogs
MongoDB | Blog
MongoDB | Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
IT之家
IT之家
L
LINUX DO - 热门话题
H
Hacker News: Front Page
V
Vulnerabilities – Threatpost
Security Latest
Security Latest
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 叶小钗
J
Java Code Geeks
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
S
Schneier on Security
Scott Helme
Scott Helme
Microsoft Security Blog
Microsoft Security Blog
Attack and Defense Labs
Attack and Defense Labs
T
The Exploit Database - CXSecurity.com
C
Cisco Blogs
Y
Y Combinator Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tenable Blog
Google DeepMind News
Google DeepMind News
T
Threat Research - Cisco Blogs
H
Hackread – Cybersecurity News, Data Breaches, AI and More
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V
V2EX
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Know Your Adversary
Know Your Adversary

Casear的技术栈

Ubuntu 26.04 装 NVIDIA 580 内网异机备份 conf 驱动 Razer_GRUB_Theme Fcitx5 输入法配置:切换中文输入法 服务器 zsh 环境配置记录:Zim + p10k + eza + zoxide # ThinkPad T490s Linux 指纹模块启用指南(KDE vanblog使用picgo图床的完整部署教程 vanblog备份恢复评论数据 如何配置一个虚拟显示器,以便远程没有显示器的系统 解决 OpenConnect VPN 由于 JScript 引擎丢失导致的 Error 1 修复 Fuck 2025 ATT&CK红队评估实战靶场二 一言 解决kde环境下切换登陆屏幕(SDDM)后显示异常 rss Linux实用软件分享 Kubuntu 上安装 显卡驱动 和 EnvyControl kubuntu 搜狗输入法安装问题解决 终端工具的选择 chatlog 青龙面板+wxBotWebhook实现自动推送天气 mac 安装 第三方应用问题 zsh 安装与配置,使用 oh-my-zsh 美化终端 pve虚拟机硬盘直通 tldr-pages 安装 pve安装Arch-linux Arch-linux安装桌面环境 提问的艺术极简板 Waline 服务端独立部署解决方案 记-先锋书店 api开发-更优雅的[规范响应数据] sqli 1-7关 Nginx Proxy Manager安装及避坑指南 Xiaomi-Mall-Home kali设置为中文 vscode连接docker查看代码 DVWA--SQL Injection(Blind)(盲注Python脚本) 使用Hexo生成大量页面时卡死问题解决 在Ubuntu上搭建Fivem服务器 互联网档案计划(Internet Archive) NEZHA监控面板美化 哪吒监控配置 CentOS7安装MySQL8.0 burpsuite ca证书安装 powerShell script 你一句春不晚,我就到了真江南 DVWA靶场--XSS(Reflected)教程 DVWA靶场--JavaScript Attacks (前端攻击) shell脚本备份 MySQL数据库 青龙面板定时规则 异地容灾备份系统两地三中心 转载 关于躺平 python打包可执行文件 python定义函数 MySQL8.0以上PHP连接问题
强网杯2023 谍影重重2.0 wp
casearx@foxm · 2024-03-29 · via Casear的技术栈

请注意,本文编写于 806 天前,最后修改于 806 天前,其中某些信息可能已经过时。

题目描述

小明是某间谍组织的一员,他终日监听着我国某重点军事基地的飞行动态,妄图通过分析参数找到我国飞的最快的飞机。我国费尽千辛万苦抓住了他,并在他的电脑上找到了一段他监听的信息,请分析出这段信息中飞的最快的飞机。 格式为flag{md5(ICAO CODE of the fastest plane)}
附件内所涉及的信息均为公开信息,题目描述也均为虚构,切勿当真

使用tshark - r 文件名打印流量信息

image.png 发现都是tcp协议的流量

然后导出流量

命令:

tshark -r [流量包文件] -Y "tcp" -T fields -e tcp.segment_data > [导出的文件名]

image.png

注意

我习惯使用root用户来操作,在平时使用时,请尽量使用普通用户来运行

分析导出的流量

这里使用了kimi的国内免费ai来进行提问
得知ADS—B可以传输速度信息 image.png

cat一下导出的流量

image.png 使用python的pyModeS来解析并筛选

import re # 导入正则表达式模块,用于匹配和处理字符串 import pyModeS # 导入pyModeS库,用于解码Mode S信号 speed = [] # 创建一个空列表,用于存储包含"Speed"的行 numbers = [] # 创建一个空列表,用于存储从文本中提取的数字 # 打开tcp.txt文件并读取所有行 with open(r"/root/Desktop/demo.txt", "r") as x: lines = x.readlines() # 读取文件的所有行,并存储在lines列表中 # 创建或清空demo_output.txt文件用于写入解码后的结果 with open(r"/root/Desktop/demo_output.txt", "w", encoding="utf-8") as output_file: for i in lines: # 遍历lines列表中的每一行 # 检查行的长度是否为47个字符 if len(i) == 47: try: # 尝试使用pyModeS库解码特定部分的内容 # 注意:这里假设pyModeS库有decoder模块和tell方法,实际情况可能不同 decoded_output = pyModeS.decoder.tell( i[18:] ) # 解码从第18个字符开始到最后的内容 # 将解码后的结果写入demo_output.txt文件 output_file.write(str(decoded_output) + "\n") except Exception as e: # 如果解码过程中出现错误,将错误信息写入demo_output.txt文件 output_file.write("错误译码行:" + str(e) + "\n") # 再次打开demo_output.txt文件,这次用于读取解码后的结果 with open( r"/root/Desktop/demo_output.txt", "r", encoding="utf-8", errors="ignore" ) as file: for line_number, line in enumerate(file, 1): # 遍历文件的每一行,并为每一行编号 if "Speed" in line: # 如果行包含"Speed",则将该行添加到speed列表中 speed.append(line.strip()) # 使用正则表达式找到该行中所有的数字 found_numbers = re.findall(r"\d+", line) # 将找到的数字转换为整数并添加到numbers列表中 numbers.extend([int(num) for num in found_numbers]) # 再次将处理后的行添加到speed列表中(这里重复添加,可能是代码逻辑上的错误) # 检查numbers列表是否非空 if numbers: # 找出numbers列表中的最大数,并将其转换为字符串 max_number = str(max(numbers)) # 将最大数写入到test.txt文件中 with open("/root/Desktop/test.txt", "w", encoding="utf-8") as f: # 写入最大数到test.txt文件,并在末尾添加换行符 f.write(max_number + "\n")

筛选完后得出最大速度为`Speed: 371 knots`

image.png

获取flag值

解码后的最快速度的数据块为

ICAO address: 79a05e Downlink Format: 17 Protocol: Mode-S Extended Squitter (ADS-B) Type: Airborne velocity Speed: 371 knots Track: 213.3474959459136 degrees Vertical rate: -64 feet/minute Type: Ground speed

再把ICAO address MD5一下就得到了flag,后来发现这个并不对,要把ICAO address先大写再MD5后得到:

flag{4cf6729b9bc05686a79c1620b0b1967b}

数据包下载地址