Segugio:一款针对恶意软件的进程执行跟踪与安全分析工具

关于Segugio

Segugio是一款功能强大的恶意软件安全分析工具,该工具允许我们轻松分析恶意软件执行的关键步骤,并对其进行跟踪分析和安全审计。

Segugio允许执行和跟踪恶意软件感染过程中的关键步骤,其中包括从点击第一阶段到提取恶意软件的最终阶段配置。Segugio的创建是为了满足在分析环境中加快从恶意工件中提取 IoC 的需求。

恶意软件分析通常涉及静态和动态分析等耗时活动,这需要丰富的逆向工程和代码分析知识。而Segugio是完全自动化的,旨在简化从事网络事件响应 (DFIR) 的安全分析师和专家的工作,使他们能够快速识别恶意工件,而无需执行复杂的静态和动态分析,而是专注于行为分析。

工具机制

通过与airbus-cert的 yara.dll 库的集成,可以使用 YARA 规则在进程的私有内存中搜索与已知恶意软件家族相关的指标。该功能可归纳为三个关键步骤:

1、用户选择要执行的文件,可能定义诸如命令行或要创建的命令行的父进程等选项。

2、单击 Segugio 按钮后,Segugio 开始扫描与所选文件执行相关的进程及其父进程(本例中为 explorer.exe)。请注意,某些系统可能有多个 explorer.exe 实例。

3、一旦 Segugio 识别出与 YARA 规则匹配的进程,如果存在针对所识别的 YARA 规则的专用 Python 脚本(例如 AgentTesla),它就会开始转储与该规则匹配的进程,以自动从私有内存中提取恶意软件的配置(例如 AgentTesla)。

工具要求

dnYara

Python 3

.NET Framework 4.72

工具安装

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

复制代码
git clone https://github.com/reecdeep/segugio.git

工具使用

首次运行Segugio之前,需要在 settings.ini 文件中完成配置。配置需要以下参数,这些参数对于程序正常运行是必不可少的:

YaraRulesDirectory:包含 YARA 规则的文件夹的绝对路径;

PythonExecutablePath:Python(python.exe)所在文件夹的绝对路径;

ConfigExtractorsDirectory:包含用于配置提取的 Python 脚本的文件夹的绝对路径;

DumpFolder:符合 YARA 规则的进程的内存转储将保存到的文件夹的绝对路径;

此外,还可以修改以下参数:

DefaultCommandlines特定文件类型常用的命令行列表。可以定义多个默认命令行,以竖线 (|) 字符分隔;

PreferredParentProcess:执行文件时所创建进程的首选父进程。某些恶意软件会检查父进程。在 MS Windows 中,如果用户执行文件,则相关进程将成为 Explorer.exe 的子进程;

MonitorInterval:后台进程监控更新的间隔(以毫秒为单位)(建议值:100);

ScanInterval:扫描进程内存的间隔(以毫秒为单位)(建议值:1000);

isEnabledParentScan:您可以选择是否扫描创建的子进程的父进程;

从本质上讲,Segugio 依赖于 YARA 和自动配置提取器,它们位于程序的配置文件夹中。

YARA 和配置提取器

Segugio 需要 YARA 规则包含定义明确的元字段,其结构如下:

复制代码
meta:

        name = "YARA_Rule_Name"

        description = "YARA_Rule_Description"

类似地,Python脚本在代码开头必须有以下标头:

复制代码
# -*- coding: utf-8 -*-

__author__ = "author"

__version__ = "1.0"

__script_name__ = "YARA_Rule_Name"

工具运行演示

注意事项

1、Segugio 不提供任何针对执行恶意软件的保护。

2、在进行新的分析之前,必须始终将分析环境重置为其初始状态。

3、正确识别恶意软件家族的能力取决于分析环境的性能(可用的 CPU 和 RAM)以及所使用的 YARA 规则的有效性。

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

Segugio :【GitHub传送门

参考资料

Antelox (@Antelox) · GitHub

GitHub - airbus-cert/dnYara: A multi-platform .Net wrapper library for the native Yara library.

相关推荐
我命由我1234510 分钟前
Android 控件 - CardView(快速实现圆角)
android·java·java-ee·kotlin·android studio·android-studio·android runtime
2601_9638699514 分钟前
【计算机毕业设计】基于Java的潮牌购物网站系统的设计与实现
java·开发语言·课程设计
203号居民21 分钟前
LeetCode hot 100 —560. 和为 K 的子数组
java·算法·leetcode
名字还没想好☜39 分钟前
Go 的 io.Reader/Writer 组合实战:io.Copy、TeeReader、MultiWriter 优雅处理数据流
开发语言·后端·golang·go·iphone
浪客川40 分钟前
使用 IDEA 生成API文档
java·ide·intellij-idea
郝学胜-神的一滴1 小时前
Qt 高级编程 042:进度条从入门到自定义美化
开发语言·c++·qt·软件开发·用户界面
鸿芯微控科技1 小时前
压电纳米定位分辨率怎么测?噪声、带宽、最小可检测位移与Python分析
开发语言·python·噪声分析·压电执行器·纳米定位·位移测量
会编程的土豆1 小时前
从「锁」到「时间」:后端里几个容易混的概念
java·开发语言·数据库·goland
acrel71 小时前
算力机房供电不间断,智能电力运维保驾护航
运维·安全·机房电力运维·机房配电·列头柜监测
上下求索,莫负韶华1 小时前
笔记-数据库事务和java事务和切面
java·数据库·笔记