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.

相关推荐
Hacker_Fuchen6 分钟前
天融信网络架构安全实践
网络·安全·架构
m0_748236117 分钟前
Calcite Web 项目常见问题解决方案
开发语言·前端·rust
炫彩@之星8 分钟前
Windows和Linux安全配置和加固
linux·windows·安全·系统安全配置和加固
倔强的石头10615 分钟前
【C++指南】类和对象(九):内部类
开发语言·c++
ProtonBase19 分钟前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
Watermelo61720 分钟前
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
开发语言·前端·javascript·算法·数据挖掘·数据分析·ecmascript
乐之者v25 分钟前
leetCode43.字符串相乘
java·数据结构·算法
半盏茶香1 小时前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
Evand J2 小时前
LOS/NLOS环境建模与三维TOA定位,MATLAB仿真程序,可自定义锚点数量和轨迹点长度
开发语言·matlab
LucianaiB2 小时前
探索CSDN博客数据:使用Python爬虫技术
开发语言·爬虫·python