YARA样本查询平台:mquery

渗透技巧 1年前 (2023) admin
227 0 0
mquery简介


Mquery是一个Web的YARA样本查询平台,由波兰CERT开源。项目地址:https://github.com/CERT-Polska/mquery

YARA样本查询平台:mquery

mquery架构

可见mquery的组件是比较简单的,由4个部分组成:

  • Web前

  • Daemons (也叫mquery agents或workers)

  • UrsaDB (后端数据库)

  • Redis



安装mquery
1.准备1台Linux服务器,安装docker和docker-compose
2.构建、启动mquery容器
git clone --recurse-submodules https://github.com/CERT-Polska/mquery.gitcd mquerymkdir samplesvim .env #设置样本路径,比如SAMPLES_DIR=/root/mquery/samples INDEX_DIR=/root/mquery/indexdocker-compose up -d --scale daemon=3

3.在项目的sample路径下放置样本(.env中配置的挂载路径)

4.构建ursadb索引

docker-compose exec ursadb ursacliindex "/mnt/samples" with taints ["white"]
使用mquery
测试样本是否正常导入数据库
rule mquery_exceptions {    strings: $a = "Exception"    condition: all of them}


YARA样本查询平台:mquery
在平台创建一条YARA进行检测,这里选用Elastic开源的Mirai检测规则查询:
https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Linux_Trojan_Mirai.yar


YARA样本查询平台:mquery
可以看到成功检出了很多Mirai的样本。也可以选定YARA搜索的范围,比如建立一个白名单文件索引。通过检测YARA是否匹配白名单索引,减少出现误报。
YARA样本查询平台:mquery
此外,mquery的一个优点是YARA查询快。
测试样本数量:28398

测试方式

耗费时间

mquery

35s

yara(Linux)

48s


Q:为什么mquery的YARA检索速度更快?
A:主要原因是做了预过滤,实现的方式就是Ursadb,该数据库专门针对二进制文件检索做了优化。
YARA样本查询平台:mquery

mquery流程图

那么Ursadb的优化具体是什么原理?例如,一个YARA如下:
rule example{    strings:        $test = "abcd"    condition:        $test}
这时,mquery只在同时包含“abc”和“bcd”子字符串的文件上运行YARA, 而非在每个文件上运行YARA。也正因如此,有些YARA规则是无法被mquery优化查询速度的。

如果希望继续深入了解Ursadb,可以阅读以下文档:
https://cert-polska.github.io/ursadb/
高级使用
前文介绍了基础的YARA查询,除此之外,mquery还有很多高级功能。比如用户认证、API、插件,那么理论上就可以通过API实现自动化,这部分需要各位看官自行摸索了。

YARA样本查询平台:mquery

网空引擎语句
网空引擎语句:
hunter:web.icon="37013ee35e340a9f0bdf65ec56b21f18"fofa:icon_hash="1706076547"
       
YARA样本查询平台:mquery

开源C2 Sliver的安装及配置

Cobaltstrike威胁狩猎总结

容器安全事件排查

云原生安全:编排文件

原文始发于微信公众号(无界信安):YARA样本查询平台:mquery

版权声明:admin 发表于 2023年2月27日 下午12:00。
转载请注明:YARA样本查询平台:mquery | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...