freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

DrSemu:基于动态行为的恶意软件检测与分类工具
2019-10-09 15:00:40

Dr.Semu

Dr.Semu是一款基于动态行为分析的恶意软件检测与分类工具,目前该工具仍处于早起开发阶段。Dr.Semu能够在一个隔离环境中运行目标可执行程序,并监控相关进程的各种行为。除此之外,广大用户还可以根据自己的需求或社区现成的信息来构建Dr.Semu检测规则,并对目标恶意软件或进程进行安全检测。

在Dr.Semu的帮助下,我们可以根据对进程动态行为检测的结果来创建恶意软件检测规则。

通过重定向实现隔离

该工具会在用户模式下运行,Windows项目文件系统(ProjFS)可以给我们提供一个虚拟文件系统,针对注册表重定向,该工具会将所有的注册表键拷贝到一个新的地址,并重定向所有的注册表键访问请求。

监控

Dr.Semu使用了DynamoRIO(动态指令工具平台)来拦截线程,这种操作的效果等同于设置SSDT钩子,但是整个过程是在用户模式下实现的,而且无需设置任何钩子。

在这个阶段,Dr.Semu会生成一个JSON文件,其中包含有工具拦截下的所有数据信息。

检测

进程终止之后,根据Dr.Semu规则,我们将会接受到目标应用程序的检测结果,即目标应用是否是恶意软件。

Dr.Semu规则

Dr.Semu规则采用Python或LUA书写(位于dr_rules),需要使用到拦截过程中的动态信息以及关于待测目标的静态信息。

规则参考样本-Python:【点我获取

规则参考样本-LUA:【点我获取

工具使用

1、使用管理员权限运行PowerShell,并特权PowerShell窗口中启用ProjFS:

Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart

2、从该项目的releases页面中下载项目文档并解压缩ZIP文件;

3、下载DynamoRIO,并将文件提取至DrSemu目录中,然后重命名为dynamorio

4、安装Python 3(x64)

DrSemu.exe --target file_path

DrSemu.exe --target files_directory

工具演示

演示视频:【点我观看

代码构建

1、使用管理员权限运行PowerShell,并特权PowerShell窗口中启用ProjFS:

Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart

3.png 

2、安装Python 3(x64)

3、下载DynamoRIO,并将项目文件提取至bin目录,然后重命名为dynamorio

4、构建pe-parser-library.lib库:

使用cmake-gui并通过DrSemu\shared_libs\pe_parse中生成VS项目;

在build目录(\shared_libs\pe_parse\build\pe-parser-library\Release\)下构建32位代码,或者在build64目录下构建64位代码;

将运行时库选项设置为Multi-threaded(/MT);

5、将LauncherCLI设置为启动项目;

工具运行限制

唯一支持的Windows平台版本:Windows 10 v1809

项目地址

Dr.Semu:【GitHub传送门

* 参考来源:secrary,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

# 工具 # 恶意软件检测 # DrSemu
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者