CTF流量分析经典例题详解

目录

入门题型

题目:Cephalopod(图片提取) 

题目:特殊后门(icmp协议信息传输)

题目:手机热点(蓝牙传输协议obex,数据提取)

题目:想蹭网先解开密码(无线密码破解)

进阶题型

题目:抓到一只苍蝇(数据包筛选,数据提取)


本文章涉及的所有题目附件下载地址: 链接:

https://pan.baidu.com/s/18mWo5vn1zp_XbmcQrMOKRA 提取码:hrc4

这里的例题都是已经总结好的,我只是在本篇中进行学习和复现

入门题型

题目:Cephalopod(图片提取) 

题目来源:XCTF 3rd-HITB CTF-2017 考点:图片提取 题目信息:(Cephalopod.pcapng)

因为这是一道关于CTF的题目,那么最重要相比就是“夺旗”了,打开该数据包会发现都是10.0.2.7和10.0.2.10的流量包,那么我们可以试着在分组列表、分组详细和分组数据流中找找是否有像flag那样的字符串:

果然在将查找对象修改为分组字符流后,查找到了一个flag.png的字符串

那么不用想,这肯定就是flag了,下面我们就尝试将追踪一下

在第2个流中我们发现了png的身影

那么就将它以原始数据导出

下面我们使用010editor打开保存的文件,然后使用查找直接查找png

删除png前面的字符后导出为png

打开图片就可以看到flag了

题目:特殊后门(icmp协议信息传输)

题目来源:第七届山东省大学生网络安全技能大赛 考点:字符串搜索,icmp协议信息传输 题目信息:(backdoor++.pcapng)

打开数据包后,就和上面的题目一样,我们首先还是搜索一下看是否有flag字符串

可以看到这里直接在分组数据流中找到了一个flagishere字符串,那就针对这里来进行分析

我们再到分组列表中查看了一下发现有很多连续icmp包再加上前面的包中写着flagishere相比flag就在附近了,点开后面的icmp包发现每一个包的相同位置中都有一个不同的字符,事出反常必有妖。

 

然后我们依次将这些字符提权出来组合起来发现就是flag:

 flag{Icmp_backdoor_can_transfer-some_infomation}

题目:手机热点(蓝牙传输协议obex,数据提取)

题目来源:第七季极客大挑战 考点:蓝牙传输协议obex,数据提取 题目信息:(Blatand_1.pcapng)

打开数据包后,还是同样的,我们先查找一下是否有flag

在这个数据包中有很多flag字符串,但是我还是觉得这个flag.gif比较可疑,因为就针对这个数据包来进行分析 

我再看看这个数据包,发现它是一个.rar压缩包,那就嫌疑更大了

方法1:那就试着将这个包来导出

 注:记着要导出为.rar格式

解压后就可以看到flag.png,打开就可以拿到flag了

方法2:还可以使用foremost进行分离,分离完成后再解压同员工可以得到flag

foremost下载地址:https://github.com/korczis/foremost

题目:想蹭网先解开密码(无线密码破解)

题目来源:bugku 考点:无线密码破解 题目信息:(wifi.cap)

打开数据包后,直接来查找是否有flag,查找结果并没有发现很明显的flag痕迹

根据提示:WIFI连接认证的重点在WPA的四次握手包,也就是eapol协议的包,我们来过滤一下

发现果然存在四次握手包,直接进行无线密码爆破 创建密码字典:

利用aircrack-ng 进行爆破:

可以看到成功的爆破出了flag{13910407686}

进阶题型

题目:抓到一只苍蝇(数据包筛选,数据提取)

题目来源:bugku 考点:数据包筛选,数据提取 题目信息:(misc_fly.pcapng)

可以看懂题目提示我们抓到了一只苍蝇

那么我们打开数据包来看看,试着搜索一下flag

发现了有一个可疑的fl ag.txt文件

根据题目的提示我们再来筛选一下“”苍蝇“”

还真的筛选除了一个数据包

分析该包中的内容发现这个包非常的可以,里面写了很多奇怪的文字,从其他地方可以看到,该数据包在发送qq邮件,还做了上传文件的操作

既然有上传文件的操作,那么我们来过滤一下POST数据包看看

可以看到13号数据包调用函数CreateFile,然后下面几个可能就是文件内容了,具体是几个,仔细看看URL,738号数据包有个需要调用函数CheckFile,并且前面的5个数据包url的路径一样, 所以从第一个开始,后5个数据包是flag.rar内容

我们将分组字节流中的原始数据分别保存为1、2、3、4、5,方便操作

但是由于TCP包有文件头,我们需要去掉文件头才能将原始数据合成一个文件, 从第一个数据包可以看出来:

文件大小是525701字节,我们需要的这5个数据包的大小(Media Type中可看到):

131436*4+1777=527521 527521-525701=1820 1820/5=364

tcp包的文件头就为364

然后使用linux的一些工具进行操作即可得到flag.rar 依次把五个文件去掉文件头保存到另一文件 这里使用dd:

dd if=1 bs=1 skip=364 of=1.1dd命令语法:
if 输入文件名
bs 设置每次读写块的大小为1字节 
skip 指定从输入文件开头跳过多少个块后再开始复制
of 输出文件名

首先我们先将导出的五个文件上传到linux中

然后再用linux的输入流来合并成一个文件:

cat 1.1 2.1 3.1 4.1 5.1 > fly.rar
或者
copy /B 1.1+2.1+3.1+4.1+5.1 fly.rar

 将合成的文件再移动到Window中

尝试进行解压:发现报错了

使用011editor来看看这个压缩包

果然是fly.rar又被伪加密了,将其中的74 84改为74 80就能正常解压了

解压完后打开flag.txt发现里面是一堆乱码

然后我们再用010editor打开看看

它这里居然告诉我们需要在Win32中进行运行,既然可以执行那么我们来试试将后缀修改为.exe看看

修改为.exe文件后可以看到一堆苍蝇在桌面上爬,没有其他特别的东西

根据提示我们使用binwalk对该exe程序进行分解

可以看到分解出了好多东西,但是好像又没有什么有用的

根据提示我们需要使用foremost进行提取一下

 

可以看到提取出了一个二维码,扫描二维码就可以拿到该题的flag了

参考链接:

使用Wireshark进行网络流量分析-CSDN博客

攻防世界misc进阶之Cephalopod_攻防世界 cephalopod-CSDN博客

binwalk文件分离、提取——命令_binwalk -d-CSDN博客

Bugku-CTF分析篇-抓到一只苍蝇(在哪?here!卧槽?!好大一坨苍蝇。) - 0yst3r - 博客园 (cnblogs.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/592374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React16源码: React.Children源码实现

React.Children 1 ) 概述 这个API用的也比较的少,因为大部分情况下,我们不会单独去操作children我们在一个组件内部拿到 props 的时候,我们有props.children这么一个属性大部分情况下,直接把 props.children 把它渲染到我们的jsx…

蓝牙物联网智能车用语音控制系统模块设计

随着信息产业的快速发展,简单的控制操作机器已经不能满足人类的欲望,利用语音识别技术让机器理解人类的语言,以及实现人机交互成为新的研究内容。对用户来说,这种人机交互的方式当是最自然的一种方式。同时,使人们在车…

塔夫特原则

塔夫特原则(Tuftes Principles)是由数据可视化专家爱德华塔夫特(Edward Tufte)提出的一组指导性原则,旨在帮助人们创建清晰、有效和有力的数据可视化图表。这些原则强调了以数据为核心,通过简洁、准确和易于…

【Java开发岗面试】八股文—Java虚拟机(JVM)

声明: 背景:本人为24届双非硕校招生,已经完整经历了一次秋招,拿到了三个offer。本专题旨在分享自己的一些Java开发岗面试经验(主要是校招),包括我自己总结的八股文、算法、项目介绍、HR面和面试…

小球自由下落-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第23讲。 小球自由下落&…

python flask-wft

这个放在前面你个表单的博客内容 精髓放这 from flask import Flask from flask import render_template from flask_wtf import FlaskForm from wtforms.fields import (StringField, PasswordField, DateField, BooleanField,SelectField, SelectMultipleField, TextAreaFi…

第一个Qt程序----Hello word!

从今天起就开始我们的第一个Qt小程序,点击New Project后点击右侧的Application后点击Qt Widgets Application。Qt Widgets 模块提供了一组UI元素用于创建经典的桌面风格的用户界面,Widgets是小部件的意思,也可以称为控件,因此Qt …

粒子群优化pso结合bp神经网络优化对csv文件预测matlab(3)

1.csv数据为密西西比数据集,获取数据集可以管我要,数据集内容形式如下图: 2.代码 这里参考的是b站的一位博主。 数据集导入教程在我的另一篇文章bp写过,需要的话可以去看一下 psobp.m close all clc%读取数据 inputX; outputY;…

在 Android 上使用 MediaExtractor 和 MediaMuxer 提取视频\提取音频\转封装\添加音频等操作

文章目录 前言一、MediaExtractor 基本介绍与使用二、MediaMuxer 基本介绍与使用示例提取视频提取音频混合视频与音频文件 总结参考 前言 之前我们介绍了 FFmpeg 并利用它解封装、编解码的能力完成了一款简易的视频播放器。FFmpeg 是由 C 实现的,集成至 Android 等…

JVM中部分主要垃圾回收器的特点、使用的算法以及适用场景

JVM中部分主要垃圾回收器的特点、使用的算法以及适用场景: Serial GC(串行收集器) 特点:单线程执行,对新生代进行垃圾回收时采用复制算法(Copying),在老年代可能使用标记-压缩或标记…

(学习打卡2)重学Java设计模式之六大设计原则

前言:听说有本很牛的关于Java设计模式的书——重学Java设计模式,然后买了(*^▽^*) 开始跟着小傅哥学Java设计模式吧,本文主要记录笔者的学习笔记和心得。 打卡!打卡! 六大设计原则 (引读:这里…

K8S本地开发环境-minikube安装部署及实践

引言 在上一篇介绍了k8s的入门和实战,本章就来介绍一下在windows环境如何使用minikube搭建K8s集群,好了废话不多说,下面就和我一起了解Minikube吧。 什么是Minikube? Minikube 是一种轻量级的 Kubernetes 实现,可在本…

【docker】安装 Redis

查看可用的 redis版本 docker search redis拉取 redis最新镜像 docker pull redis:latest查看本地镜像 docker images创建挂在文件 mkdir -pv /test1/docker_volume/redis/datamkdir -pv /test1/docker_volume/redis/confcd /test1/docker_volume/redis/conf/touch redis.con…

IPC之十二:使用libdbus在D-Bus上异步发送/接收信号的实例

IPC 是 Linux 编程中一个重要的概念,IPC 有多种方式,本 IPC 系列文章的前十篇介绍了几乎所有的常用的 IPC 方法,每种方法都给出了具体实例,前面的文章里介绍了 D-Bus 的基本概念以及调用远程方法的实例,本文介绍 D-Bus…

[Angular] 笔记 23:Renderer2 - ElementRef 的生产版本

chatgpt: Renderer2 简介 在 Angular 中,Renderer2 是一个服务,用于处理 DOM 操作的抽象层。它提供了一种安全的方式来操作 DOM,同时与平台无关,有助于维护应用程序的跨浏览器兼容性和安全性。 Renderer2 的作用是在 Angular 组…

【C++】浅拷贝 / 深拷贝 / 写时拷贝

文章目录 1. 经典的string类问题2. 浅拷贝3. 深拷贝3.1 传统写法的String类3.2 现代写法的String类 4. 写时拷贝 1. 经典的string类问题 上一篇博客已经对string类进行了简单的介绍,大家只要能够正常使用即可。 链接:【C】string 在面试中,面…

20 太空漫游

效果演示 实现了一个太空漫游的动画效果,其中包括火箭、星星和月亮。当鼠标悬停在卡片上时,太阳和星星会变成黄色,火箭会变成飞机,月亮会变成小型的月亮。整个效果非常炫酷,可以让人想起科幻电影中的太空漫游。 Code &…

计算机网络(7):网络安全

网络安全问题 计算机网络上的通信面临以下的四种威胁: (1)截获(interception)攻击者从网络上窃听他人的通信内容。 (2)中断(interruption)攻击者有意中断他人在网络上的通信。 (3)篡改(modification)攻击者故意篡改网络上传送的报文。 (4)伪造(fabrication)攻击者伪造信息在网…

Python通过用户输入两个数字并计算两个

通过用户输入两个数字,并计算两个 以下实例为通过用户输入两个数字,并计算两个数字之和: 实例(Python 3.0) # -*- coding: UTF-8 -*-# Filename : test.py # author by : www.dida100.com# 用户输入数字 num1 input(输入第一个数字&#…