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.

相关推荐
建群新人小猿4 分钟前
会员等级经验问题
android·开发语言·前端·javascript·php
风间琉璃""10 分钟前
二进制与网络安全的关系
安全·机器学习·网络安全·逆向·二进制
岁岁岁平安15 分钟前
springboot实战(15)(注解@JsonFormat(pattern=“?“)、@JsonIgnore)
java·spring boot·后端·idea
Oak Zhang16 分钟前
TheadLocal出现的内存泄漏具体泄漏的是什么?弱引用在里面有什么作用?什么情景什么问题?
java·系统安全
007php00717 分钟前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang
数据小小爬虫19 分钟前
如何利用Java爬虫获得1688店铺详情
java·开发语言
Tech Synapse19 分钟前
Python网络爬虫实践案例:爬取猫眼电影Top100
开发语言·爬虫·python
天若有情67320 分钟前
c++框架设计展示---提高开发效率!
java·c++·算法
biomooc31 分钟前
R语言/Rstudio 报错
开发语言·r语言
Theliars35 分钟前
C语言之字符串
c语言·开发语言