应急响应-工具-ELK日志分析系统与Yara规则识别样本

admin 2025年4月21日00:38:52评论0 views字数 3324阅读11分4秒阅读模式

ELK日志分析系统

  1. 1. Elasticsearch:用于存储收集到的日志信息
  2. 2. Logstash:用于收集日志,SpringBoot应用整合了Logstash以后会把日志发送给Logstash,Logstash再把日志转发给Elasticsearch
  3. 3. Kibana:通过Web端的可视化界面来查看日志

很多日志分析的应用都不够全面,ELK解决了很多不完善的地方,是蓝队日志分析的一个好工具,是一个外国的产品,在系统下搭建很麻烦,很容易出错,如果只是日常使用,方便了解,建议在docker下搭建,如果是实战,建议在系统下搭建,毕竟docker只是个虚拟容器。

环境搭建

使用的Docker镜像sebp/elk:793

注意该容器使用的内存大约在2.1G左右

服务器需要安装Docker、Docker-compose

这个镜像是Elasticsearch、Logstash、Kibana集成容器镜像,使用docker或者docker-compose启动后各个组件就会启动成功

apt update
apt install docker
apt install docker-compose
# 设置一个进程可以拥有的VMA(虚拟内存区域)的数量
sysctl -w vm.max_map_count=262144
# 使上个命令立即生效
sysctl -p

如果有出现vm.max_map_count = 262144说明设置成功

vim docker-compose.yml
# 文件内容
version: "3.5"
services:
  elk:
    image: sebp/elk:7.12.0
    volumes:
       - ./elk/02-beats-input.conf:/etc/logstash/conf.d/02-beats-input.conf
    environment:
      ES_JAVA_OPTS: -Xms512m -Xmx512m
    ports:
#Kibana 网络界面
      - "5601:5601"
# Elasticsearch JSON 接口
      - "9200:9200"
# Logstash Beats 接口
      - "5044:5044"

在docker-compose.yml文件目录下创建elk文件夹,创建Logstash配置文件02-beats-input.conf

#进入elk目录
cd elk
#创建并编辑02-beats-input.conf文件
vi 02-beats-input.conf
input {
    tcp {
        port => 5044
        codec => json_lines
    }
}
output{
    elasticsearch {
      hosts => ["localhost:9200"]
      index => "beat-%{+YYYY.MM.dd}"
    }
}
docker-compose up -d elk
应急响应-工具-ELK日志分析系统与Yara规则识别样本
应急响应-工具-ELK日志分析系统与Yara规则识别样本

上传日志文件解析

应急响应-工具-ELK日志分析系统与Yara规则识别样本
应急响应-工具-ELK日志分析系统与Yara规则识别样本
应急响应-工具-ELK日志分析系统与Yara规则识别样本
应急响应-工具-ELK日志分析系统与Yara规则识别样本
应急响应-工具-ELK日志分析系统与Yara规则识别样本

特定部署采集分析

应急响应-工具-ELK日志分析系统与Yara规则识别样本
应急响应-工具-ELK日志分析系统与Yara规则识别样本
应急响应-工具-ELK日志分析系统与Yara规则识别样本
应急响应-工具-ELK日志分析系统与Yara规则识别样本

恶意样本Yara分析

Yara工具地址

GitHub - VirusTotal/yara: The pattern matching swiss knife[1]

恶意样本库

GitHub - ytisf/theZoo: A repository of LIVE malwares for your own joy and pleasure. theZoo is a project created to make the possibility of malware analysis open and available to the public.[2]

相关开源的检测规则

GitHub - Yara-Rules/rules: Repository of yara rules[3]

https://github.com/JerryLinLinLin/Huorong-ATP-Rules

https://github.com/m-sec-org/d-eyes/tree/master/yaraRules

规则分类

  1. 1. Antidebug_AntiVM:反调试/反沙箱类yara规则
  2. 2. Crypto:加密类yara规则
  3. 3. CVE_Rules:CVE漏洞利用类yara规则
  4. 4. email:恶意邮件类yara规则
  5. 5. Exploit-Kits:EK类yara规则
  6. 6. Malicious_Documents:恶意文档类yara规则
  7. 7. malware:恶意软件类yara规则
  8. 8. Mobile_Malware:移动恶意软件类yara规则
  9. 9. Packers:加壳类yara规则
  10. 10. utils:通用类yara规则
  11. 11. Webshells:Webshell类yara规则

检测范围

  1. 1. 样本文件
  2. 2. 内存数据
  3. 3. 网络流量

Yara规则开发

参考文章

YARA规则与办公安全:高效检测策略

Yara规则内容支持字符串、正则表达式、十六进制进行匹配

特征规则:

  • • 字符串:定义一个变量 $a = "字符串内容"
  • • 正则表达式:定义一个变量 $a = /正则表达式内容/
  • • 十六进制:定义一个变量 $a = {十六进制内容}

条件规则:

  • • and:与 or:或 not:非
  • • all of them:所有条件匹配即告警
  • • any of them:有一个条件匹配即告警
  • b and $c:abc同时匹配即告警
  • • (b) or $c:匹配a和b或c即告警

Yara规则常用修饰符:

  • • nocase:不区分大小写
  • • base64:base64字符串
  • • xor:异或字符串
  • • wide:宽字符

如何进行特征提取

  1. 1. 通过多个样本的对比来找出共同点特征
  2. 2. 通过分析协议、文件头等来找出特征

实例展示

利用已知规则测试识别挖矿、勒索、C2、WebShell

yara64.exe rulesmalware_index.yar -r example
应急响应-工具-ELK日志分析系统与Yara规则识别样本

利用已知规则测试识别算法

yara64.exe rulescrypto_index.yar -r example
应急响应-工具-ELK日志分析系统与Yara规则识别样本

利用已知规则测试识别加壳

yara64.exe rulespackers_index.yar -r example
应急响应-工具-ELK日志分析系统与Yara规则识别样本

利用已知规则测试识别反沙箱

yara64.exe rulesantidebug_antivm_index.yar -r example
应急响应-工具-ELK日志分析系统与Yara规则识别样本

自写规则识别恶意软件-测试(并不能进行实际识别)

应急响应-工具-ELK日志分析系统与Yara规则识别样本
应急响应-工具-ELK日志分析系统与Yara规则识别样本
rule xmrig_find : miner {
    meta:
        author = "ElmWhite"
date = "2025-02-20"
    strings:
$hex = {4D 5A}
$a = "stratum"
$b = "xmrig"
$c = "pool"
    condition:
        all of them
}
应急响应-工具-ELK日志分析系统与Yara规则识别样本

自写规则识别内存马

应急响应-工具-ELK日志分析系统与Yara规则识别样本
rule mem_find : memshell {
    meta:
        author = "ElmWhite"
date = "2024-09-05"
    strings:
$a = "org.apache.coyote.type.MapLikeType"
$b = "org.apache.coyote.deser"
$c = "org.apache.coyote.exc"
    condition:
        ($a and $b) or $c
}
yara64.exe rulesmem_find.yar PID
应急响应-工具-ELK日志分析系统与Yara规则识别样本

引用链接

[1]GitHub - VirusTotal/yara: The pattern matching swiss knife:https://github.com/VirusTotal/yara
[2]GitHub - ytisf/theZoo: A repository of LIVE malwares for your own joy and pleasure. theZoo is a project created to make the possibility of malware analysis open and available to the public.:https://github.com/ytisf/theZoo
[3]GitHub - Yara-Rules/rules: Repository of yara rules:https://github.com/Yara-Rules/rules

原文始发于微信公众号(ElmWhite安全小记):应急响应-工具-ELK日志分析系统与Yara规则识别样本

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月21日00:38:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   应急响应-工具-ELK日志分析系统与Yara规则识别样本https://cn-sec.com/archives/3979961.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息