第168天:应急响应-ELK 日志分析系统Yara规则样本识别特征提取规则编写
目录
案例一:ELK 搭建使用-导入文件&监控日志&语法筛选
案例二:Yara 规则使用-规则检测&分析特征&自写规则
案例一:ELK 搭建使用-导入文件&监控日志&语法筛选
该软件是专业分析日志的工具,但是不支持安全软件的分析
这里我是在kali中搭建的
搭建参考文章:(第一篇成功,第二篇呢可能是国外的docker关闭了未成功)
ELK详细搭建流程_elk搭建-CSDN博客 (本地搭建)
5分钟快速安装ELK(一)(docker搭建)
安装完成的界面
三种模式
选择日志上传
上传文件
导入
命名并导入
上传完成以后去查看
可以根据不同类别去分类查看
IP
时间戳
ua头
这里看到呢ua头有个sqlmap直接定位
搜索特征字符不是单独出现,需要在前后加上*
还可以自动加入机器,自动化进行分析,可以自己研究一下,主要是了解日志平台的分析
案例二:Yara 规则使用-规则检测&分析特征&自写规则
项目地址
https://github.com/VirusTotal/yara部分规则: https://github.com/Yara-Rules/rules
基本使用
检测挖矿病毒
yara需要借助规则去判断,规则直接下载好
yara64.exe 规则 -r 可疑程序/或者文件夹
根据规则所以就得对大概木马类型做出判断
通过帮助文档查看
检测勒索病毒
检测cs木马,没检测到,这里是因为我的cs版本比较高,而项目规则比较老,导致匹配不到
自写Yara-cs规则
可以自己根据需求去写文件进行判断,需要提取特征,根据特征的共同性去判断。
写规则的话,根据两个不同的ip和端口绑定的cs马,通过010editer判断不同程序的共同特征
这里是我自己写的,没那么多规律可言,只是简单判断,正常的话根据文件头,关键字,协议,域名等等来进行编写
我准备了三个cs文件,1个是cs4.0 32位,还有两个cs4.5 32 位 64位
两个特征
第三个
第四个
编写规则
-Yara 规则内容支持字符串、正则表达式、十六进制进行匹配。字符串:定义一个变量 $a = " 字符串内容 "正则表达式:定义一个变量 $a = / 正则表达式内容 /十六进制:定义一个变量 $a = { 十六进制内容 }-Yara 规则条件and :与 or :或 not :非all of them :所有条件匹配即告警any of them :有一个条件匹配即告警$a and $b and $c : abc 同时匹配即告警($a and $b) or $c :匹配 a 和 b 或 c 即告警
按照如下实例写出规则,同时匹配四个规则就报警
rule csshell_check
{meta:author = "xiaojiesec"description = "test check"date = "2024-09"strings:$a = "MZ"$b = "_set_invalid_parameter_handler"$c = "KERNEL32.dll"$d = "msvcrt.dll"condition:all of them
}
把不同类型的木马放在一个文件夹下
统一进行检测,只有cs后门被检测了出来
自写Yara-挖矿规则
这里就规范一点从文件头,关键字,协议,域名四个角度切入
文件头
这里可以写成字符串的MA,也可以写成16进制的{4D 5A}
关键字
这里就根据文件命名,xmrig进行搜索,这里切换成text进行搜索,不然搜索不到
协议
搜索资料,挖矿病毒常见协议位stratum和xmr协议
搜索xmr也能找到,但是都是文件名在干扰,忽略
域名这里其实没有找到,但是有一个字符串pool,出现了很多次
检测
自写Yara-php内存马规则
这里我觉得内存马的编写确实有问题,一是没办法从多个样本分析,只有一个idea,或者phpstudy环境,而且感觉不能确定唯一性,只做简单了解即可
下面这篇文章介绍过使用php内存马
第146天:内网安全-Web权限维持&各语言内存马&Servlet-api类&Spring类&Agent类_第146天web权限维持-内存马-CSDN博客
这里介绍过查杀
第162天: 应急响应-网站入侵篡改指南&Webshell 内存马查杀&漏洞排查&时间分析_东方通webshell 日志-CSDN博客
要抓取内存马,首先需要把内存包给导出来,进行分析
通过pcdump,把这个进程给进行导出
使用命令
procdump.exe -accepteula -ma 进程名 文件名.dmp
procdump.exe -accepteula -ma phpstudy.exe php.dmp
首先常见的eval
因为这个php内存马是你删除就立刻上传文件,应该涉及到sleep,条件竞争,以及file文件上传,直接搜php函数搜索不到,其实我也不是很理解
就根据这三个函数进行尝试
rule _checkphp
{meta:author = "xiaojiesec"description = "test check"date = "2024-09"strings:$a = "eval"$b = "file"$c = "sleep"condition:all of them
}
确定进程号
通过进程号检测
但是这里规则写的不好,检测别的进程号也能够检测到,主要是不理解为什么函数不出现
下面是ai写的也没用,根本搜索不到关键字,了解一下工具的使用,以及利用进程号分析
rule PHP_Memory_Webshell_DynamicWrite { meta: description = "Detects PHP scripts that attempt to dynamically write webshell code to a file" author = "Your Name" version = "1.0" date = "YYYY-MM-DD" strings: $ignore_user_abort = "ignore_user_abort(true);" $set_time_limit = "set_time_limit(0);" $unlink = "@unlink(__FILE__);" $eval_code = "<?php @eval($_POST\['c'\]); ?>" $file_put_contents = "file_put_contents" $usleep = "usleep" condition: $ignore_user_abort and $set_time_limit and $unlink and $file_put_contents and $usleep and # This is a heuristic to check for the eval code being written to a file # Note: This is not foolproof, as the actual code written to the file might vary # But it gives us a good indication of the intent # We use a wildcard to match the variable assignment and loop structure # which are likely to be present in such scripts ( # Matching the file variable assignment /\$file\s*=\s*['"].+['"];/ and # Matching the code assignment /\$code\s*=\s*['"].+<?php\s*@eval\(\$_POST\['c'\]\);\s*>.+['"];/ and # Matching the while loop structure /while\s*\(1\)\s*\{/ )
}
自写Yara-java内存马规则
写在前面这里我发现小迪师傅讲的有一点点问题,我发现没上传内存马,用小迪的程序检测也能够检测出来,真尴尬啊,我也只是简单复现了一下
注入两个不同的内存马
把idea的内存包导出,这个过程会比较慢,因为java会创建虚拟机
先分析这个ico后缀的
发现他们两个有相同的前缀 org.apache.coyote 查的时候可能输入完整的查不到,可以只查一部分,就像java中类的概念一样
搜索
在分析特殊之处 TimeZoneSerializer
就根据这两条这一个判断gsl内存马
rule java_chechk
{meta:author = "xiaojiesec"description = "test check"date = "2024-09"strings:$a = "org.apache.coyote"$b = "TimeZoneSerializer"condition:all of them
}
存在gsl内存马
判断别的没有
分析完这个分析一下刚才上传了一个lister 一个filter
org.apache.jasper
还有另外一个相同的类 org.apache.jsp
同时存在判断有内存马
rule java_chechk
{meta:author = "xiaojiesec"description = "test check"date = "2024-09"strings:$a = "org.apache.coyote"$b = "TimeZoneSerializer"condition:all of them
}
判断结果
判断别的进程的结果
但是这个规则总觉得有很多问题,只是简单了解了一下
相关文章:

第168天:应急响应-ELK 日志分析系统Yara规则样本识别特征提取规则编写
目录 案例一:ELK 搭建使用-导入文件&监控日志&语法筛选 案例二:Yara 规则使用-规则检测&分析特征&自写规则 案例一:ELK 搭建使用-导入文件&监控日志&语法筛选 该软件是专业分析日志的工具,但是不支持安…...

MySQL 面试题及答案
MySQL 面试题及答案: 一、基础问题 什么是数据库索引?有哪些类型? 答:数据库索引是一种数据结构,用于提高数据库查询的效率。它就像一本书的目录,可以快速定位到特定的数据行。 类型主要有: …...

vue仿chatGpt的AI聊天功能--大模型通义千问(阿里云)
vue仿chatGpt的AI聊天功能–大模型通义千问(阿里云) 通义千问是由阿里云自主研发的大语言模型,用于理解和分析用户输入的自然语言。 1. 创建API-KEY并配置环境变量 打开通义千问网站进行登录,登陆之后创建api-key,右…...

养老院管理系统(含源码+sql+视频导入教程+文档)
👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 养老院管理系统拥有两种角色:管理员和护工 管理员:用户管理、老人信息管理、事故记录管理、入住费用管理、护工薪资管理、护工请假管理、床位管理、请假管理等 护…...

大数据的挑战是小文件
小文件可能会给存储平台及其支持的应用程序带来大问题。在 Google 上搜索 “small files performance” 会产生 2M 的结果。这篇博文将更深入地研究小文件问题,深入研究其根源并总结解决方案。 问题陈述 出于本讨论的目的,小文件通常被视为小于 64 KB …...

迁移学习案例-python代码
大白话 迁移学习就是用不太相同但又有一些联系的A和B数据,训练同一个网络。比如,先用A数据训练一下网络,然后再用B数据训练一下网络,那么就说最后的模型是从A迁移到B的。 迁移学习的具体形式是多种多样的,比如先用A训练…...
MCUboot 和 U-Boot区别
MCUboot 和 U-Boot 都是用于嵌入式系统的引导加载程序,但它们在一些方面存在区别: 功能特性 安全特性侧重不同 MCUboot :更专注于安全引导方面,强调安全启动、固件完整性验证和加密等安全功能。它提供了强大的安全机制来防止恶意…...

Apache OFBiz SSRF漏洞CVE-2024-45507分析
Apache OFBiz介绍 Apache OFBiz 是一个功能丰富的开源电子商务平台,包含完整的商业解决方案,适用于多种行业。它提供了一套全面的服务,包括客户关系管理(CRM)、企业资源规划(ERP)、订单管理、产…...

计算机毕业设计 饮食营养管理信息系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...

828华为云征文|华为云Flexus云服务器X实例部署——盲盒抽奖商城系统以及编译发布小程序
盲盒抽奖商城系统使用 thinkphp6.0 uniapp 开发,做到了全移动端兼容。一个系统不仅可以打包 小程序 还可以 打包APP ,H5 华为云Flexus云服务器X实例在安装搭建盲盒商城小程序方面具有显著优势,这些优势主要体现在以下几个方面: …...
优化理论及应用精解【12】
文章目录 最优化基础基本概念一、目标函数二、约束条件三、约束函数 可行域与可行点可行点可行域可行点与可行域的关系示例 最优值与可行域的关系1. 最优值一定在可行域内取得2. 可行域定义了最优解的搜索空间3. 最优值的存在性与可行域的性质有关4. 最优值与可行域的边界关系示…...
excel 填充内容的公式
多行填充快捷方式: 使用“CtrlEnter”键,这样所有选中的空单元格前就会自动添加上相同的字符。 对于多行填充,Excel提供了几个快捷键来提高工作效率: “CtrlR”用于向右填充数据。如果你在表格的某一列输入了数据,选…...

这款工具在手,前端开发轻松搞定!
这款工具在手,前端开发轻松搞定! 引言 在之前的一篇文章中,已经给大家分享了一款AI助手。尽管该助手能够生成前端代码,但遗憾的是缺少了实时预览的功能。而现在,这一缺憾已经被弥补——你只需要描述你的设计想法&…...

Hadoop三大组件之HDFS(一)
HDFS 简介 HDFS (Hadoop Distributed File System) 是一个分布式文件系统,用于存储文件,采用目录树结构来定位文件。它由多个服务器组成,每个服务器在集群中扮演不同的角色。 适合一次写入,多次读取的场景。文件创建、写入和关闭…...

基于Hadoop的NBA球员大数据分析及可视化系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…...
docker容器安装nginx
docker安装nginx部署前端项目 拉取镜像 docker pull nginx:1.24.0运行容器 docker run --name nginx -p 80:80 -d nginx:1.24.0创建本地挂载的目录 mkdir -p /docker/nginx/conf mkdir -p /docker/nginx/log mkdir -p /docker/nginx/html复制运行的nginx配置到宿主机上 将…...

LC记录一:寻找旋转数组最小值、判断旋转数组是否存在给定元素
文章目录 33.搜索旋转排序数组81.搜索旋转排序数组||153.寻找旋转排序数组中的最小值154.寻找旋转排序数组中的最小值||参考链接 33.搜索旋转排序数组 https://leetcode.cn/problems/search-in-rotated-sorted-array/description/ 下面这张图片是LC154题官方题解提供的一个图…...

关于 JVM 个人 NOTE
目录 1、JVM 的体系结构 2、双亲委派机制 3、堆内存调优 4、关于GC垃圾回收机制 4.1 GC中的复制算法 4.2 GC中的标记清除算法 1、JVM 的体系结构 "堆"中存在垃圾而"栈"中不存在垃圾的原因: 堆(Heap) 用途ÿ…...
网络工程和信息安全专业应该考哪些证书?
网络工程和信息安全专业在校大学生可以考的网络信息安全方向证书有NISP一级、NISP二级、CISP-DSG、CISP-PTE! 一、NISP一级 NISP一级是网络安全行业入门证书! NISP一级报名条件:年满16周岁即可 NISP一级报名时间:随时可报 NI…...

ASP.NET Core 创建使用异步队列
示例图 在 ASP.NET Core 应用程序中,执行耗时任务而不阻塞线程的一种有效方法是使用异步队列。在本文中,我们将探讨如何使用 .NET Core 和 C# 创建队列结构以及如何使用此队列异步执行操作。 步骤 1:创建 EmailMessage 类 首先,…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
iOS 应用的发布流程一直是开发链路中最“苹果味”的环节:强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说,这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发(例如 Flutter、React Na…...

uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...

结构化文件管理实战:实现目录自动创建与归类
手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题,进而引发后续程序异常。使用工具进行标准化操作,能有效降低出错概率。 需要快速整理大量文件的技术用户而言,这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB,…...