两道CTF流量分析题分享

2023-11-07 11:50

本文主要是介绍两道CTF流量分析题分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、第一题
    • (一)题目
    • (二)解答过程
    • (三)Wireshark应用层常用命令
  • 二、第二题
    • (一)题目
    • (二)解答过程
  • 三、小结


前言

工作上遇到的两道蛮有意思的流量分析题,分享给大家,顺便自己也温习一下wireshark的部分常用命令和操作。当然还有很多别的技巧,但我个人倾向于使用命令去过滤,比较简单方便。当然流量包也会分享出来,在资源中,可以去找一下。


一、第一题

(一)题目

在流量中寻找管理员的密码!最终flag格式为flag{密码}

(二)解答过程

从题目信息可以判断出,应为应用层的数据包分析,因此可以直接用命令筛选。通常涉及账号密码的数据包,提交方式为POST的概率至少是99%,因此应当重点关注POST方法。
用wireshark打开流量包:
在这里插入图片描述
可以看到内容较多。我们要寻找的是flag,可以采用多种方法,这里最方便的就是直接过滤。命令如下:

http.request.method==POST

然后将数据包展开即可得到flag:
在这里插入图片描述
也可以直接搜索所有http中包含flag的数据包:
在这里插入图片描述
得到管理员密码为:

ffb7567a1d4f4abdffdb54e022f8facd

提交flag时为:

flag{ffb7567a1d4f4abdffdb54e022f8facd}

(三)Wireshark应用层常用命令

过滤请求数据包:http.request
过滤响应数据包:http.response
过滤指定域名:http.host == “xxx.xxx.xxx”
筛选url中包含.php的http数据包:http.request.uri contains ".php"
筛选内容包含username的http数据包:http contains "username"
过滤请求头:http.request.method == GET
过滤请求的url:http.request.url==/xxx/xxxx”
过滤包含HTTP错误状态码的响应包:http.request.code >= 400
过滤服务器端错误状态码的响应包:http.response.code <=599

二、第二题

(一)题目

第1小题:

安全审计设备上捕获了一条OPC流量,疑似遭遇黑客攻击,请帮助运维人员分析出黑客攻击的流量编号。(注:仅需找到流量编号即可)

第2小题:

找出藏匿在流量包中的flag (提交格式为flag{})

(二)解答过程

使用wireshark打开流量包,发现有非常多的数据包:
在这里插入图片描述
题目要求是寻找一个流量编号,因此可以先随机点开一个观察一下其中的内容。由于题目中说的是一条流量有问题,因此ID应是唯一的,所以只需要找出一个独一无二的ID即可。重点查看数据包中包含ID字段的内容,然后选中该字段来过滤内容:
在这里插入图片描述
这里发现选中这个ID进行过滤后,结果依然是有很多数据包。因此可以考虑设置为非选中:
在这里插入图片描述
此时已经筛选出了一部分,但数据包依然很多,所以需要增加其他条件继续过滤。
通过观察,发现只有request数据包才有Auth Context ID:
在这里插入图片描述
所以可以增加requuest作为过滤条件:
在这里插入图片描述
在这里插入图片描述
随便点开几个会发现有一个ID特别醒目,就是1807560,重复了好几次:
在这里插入图片描述
前面提到,ID是唯一的,所以需要选中这个ID,并将它设置为“且非选中”,从而排除掉包含这个ID的数据包:
在这里插入图片描述
现在继续点开几个流量包,查看是否有重复ID。通过观察发现,769984至少出现两次,所以应排除:
在这里插入图片描述
同理,继续排除769412,最后只剩下三个数据包:
在这里插入图片描述
查看流量包,发现DCERPC协议下只有一个数据包,编号为5359:
在这里插入图片描述
因此5359即为第一小题的答案。
此外,也可以在kali上使用tshark工具进行过滤,命令如下:

tshark -r 身份验证.pcap -T fields -e dcerpc.auth_ctx_id|awk `{print $1}`|sort|uniq -c |sort -r -r

然后去搜8889272,从而定位到流量包的编号为5359:
在这里插入图片描述
之后审计流3991时会发现如下内容:
在这里插入图片描述
这疑似是某些内容进行编码后的信息。
将其中的内容提取出来:

89FQA9WMJ0TY8.3)P9TAN4V9X:T1E;$I]

这是uuencode加密方式,可以在以下站点进行解密:
http://www.mxcz.net/tools/UUEncode.aspx
在这里插入图片描述
解码后可得flag:

flag{jCNX92pgHnSfxkDelJ}

在这里插入图片描述


三、小结

本文分享了两道CTF流量分析题,分析的过程充满着许多乐趣,希望本文分享的两道题的分析对大家学习相关技能有帮助。

这篇关于两道CTF流量分析题分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/363412

相关文章

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

使用zabbix进行监控网络设备流量

《使用zabbix进行监控网络设备流量》这篇文章主要为大家详细介绍了如何使用zabbix进行监控网络设备流量,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装zabbix配置ENSP环境配置zabbix实行监控交换机测试一台liunx服务器,这里使用的为Ubuntu22.04(

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法