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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/902969.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中航资本:什么是主板创业板及科创板?主板创业板及科创板有什么区别?

什么是主板创业板及科创板? 主板、创业板和科创板都是股票商场的组成部分。 主板商场分为沪市主板和深市主板,首要服务与有安稳的盈利才华、较大的本钱规划和较强的商场竞争力的企业。 创业板首要服务于成长型、中小型、高新技术企业等,包…

1.3 面向对象 C++面试问题

1.3.1 简述一下什么是面向对象,面向对象与面向过程的区别 什么是面向对象 面向对象(Object-Oriented Programming,OOP)是一种编程范式,它通过将现实世界中的实体抽象为“对象”来组织代码。面向对象编程关注对象及其交互&#x…

酷睿 Ultra 200S核显相当于GTX 1050Ti?4核心表现出人意料

原文转载修改自(更多互联网新闻/搞机小知识): 酷睿 Ultra 200S核显评测,GTX 1050Ti水平能玩3A 酷睿 Ultra 200S系列CPU是真没什么好聊的,不过作为陪衬,毫无存在感的Arc核显倒还算真的有点意思,…

netty之导入源码到idea

写在前面 本文看下如何导入netty源码到idea中。 1:环境准备 idea:IntelliJ IDEA 2021.1 (Ultimate Edition) jdk:1.8 netty:4.1.58.Final os:win102:开始 2.1:下载netty源码 点击。 2.2&…

k8s部署使用有状态服务statefulset部署eureka集群,需登录认证

一、构建eureka集群镜像 1、编写dockerfile文件,此处基础镜像为arm版本,eureka目录中文件内容:application-dev.yml、Dockerfile、eureka-server-1.0-SNAPSHOT.jar(添加登录认证模块,文章最后附上下载连接) FROM mdsol/java8-j…

Spring Boot驱动的厨艺社交平台设计与实现

5 系统实现 5.1食材分类管理 管理员管理食材分类,可以添加,修改,删除食材分类信息。下图就是食材分类管理页面。 图5.1 食材分类管理页面 5.2 用户信息管理 管理员管理用户信息,可以添加,修改,删除用户信…

《性能之巅:洞悉系统、企业与云计算》-应用程序-笔记

《性能之巅:洞悉系统、企业与云计算》第一章(绪论)和第二章(方法)的笔记,请参考Part 1,第三章(操作系统)的笔记,请参考Part 2,第四章(…

Python小游戏14——雷霆战机

首先,你需要确保安装了Pygame库。如果你还没有安装,可以使用pip来安装: bash pip install pygame 代码如下: python import pygame import sys import random # 初始化Pygame pygame.init() # 设置屏幕大小 screen_width 800 scr…

传输层UDP

再谈端口号 端口号:标识了主机上进行通信的不同的应用程序 在TCP/IP 协议中我们用“源IP”"源端口号" “目的IP”“目的端口号” “协议号”五元组来标识一个通信 用netstat -n 查看 查看网络信息,我们有两种命令查看网络通信1.用netsta…

协同推理:模型切分算法;任务调度算法

目录 协同推理 模型切分算法 任务调度算法 优化目标 协同推理 协同推理算法涉及模型切分算法和任务调度算法,它们的主要优化目标包括性能、动态环境中推理延迟的鲁棒性和能耗等。以下是对这两类算法及其优化目标的详细阐述: 模型切分算法 模型切分算法旨在将复杂的深度…

【论文阅读】jina-embeddings-v3: Multilingual Embeddings With Task LoRA

#1024程序员节|征文# jina-embeddings-v3: Multilingual Embeddings With Task LoRA Abstract1 Introduction2 Related Work2.1 General Text Embeddings2.2 Multilingual Embedding Models2.3 Task-Specific Embedding Models 3 Model Architecture4 Training Meth…

虚拟现实在制造业中的应用

当你想到制造业中的虚拟现实技术时,你脑海中闪过的第一个念头是什么?从目前来看,只需几年时间,制造业就将离不开虚拟现实技术的帮助。实施虚拟现实应用对制造业来说都有诸多好处。通常情况下,制造设施都是由各种机器组…

【专题】关系模型的基本理论

1. 关系模型基本概念 1.1 基本术语 关系(Relation):用于描述数据的一张二维表。 表中每一行称为元组; 表中每一列称为属性。 域(Domain):指属性的取值范围。 候选键(Candidate …

六,Linux基础环境搭建(CentOS7)- 安装HBase

Linux基础环境搭建(CentOS7)- 安装HBase 大家注意以下的环境搭建版本号,如果版本不匹配有可能出现问题! 一、HBase下载及安装 HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文…

YoloV8改进策略:Block改进|RFE模块|即插即用

摘要 论文介绍 本文介绍了一种基于YOLOv5的人脸检测方法,命名为YOLO-FaceV2。该方法旨在解决人脸检测中的尺度变化、简单与困难样本不平衡以及人脸遮挡等问题。通过引入一系列创新模块和损失函数,YOLO-FaceV2在WiderFace数据集上取得了优异的表现&…

分布式光伏电站电网接入的技术问题解析

1、电压波动与闪变 原因:光伏发电的输出功率受光照强度、温度等自然因素影响,具有间歇性和波动性。当光伏电站的输出功率发生快速变化时,会引起电网电压的波动和闪变。例如,在多云天气下,光照强度变化频繁&#xff0c…

idea设置全文搜索的File mask属性,搜索分类筛选

** 1、首选找到自己idea的安装位置 ** ** 2、打开以后进行添加 **

小登的硬件培训

PCB设计流程: EDA选择: 1.立创EDA : 新手入门 ; 或者平常画一些较为简单的板子 ; 或者白嫖EDA专用优惠券 2.AD : 很多小公司在用,硬件工作通常由一个人完成,没有协作 3.cadence : 很多大厂在用,多人协作功能丰富,做…

微信小程序性能优化 ==== 合理使用 setData 纯数据字段

目录 1. setData 的流程 2. 数据通信 3. 使用建议 3.1 data 应只包括渲染相关的数据 3.2 控制 setData 的频率 3.3 选择合适的 setData 范围 3.4 setData 应只传发生变化的数据 3.5 控制后台态页面的 setData 纯数据字段 组件数据中的纯数据字段 组件属性中的纯数据…

Java程序设计:spring boot(12)——定时调度集成 - Quartz

在⽇常项⽬运⾏中,我们总会有需求在某⼀时间段周期性的执⾏某个动作。⽐如每天在某个时间段导 出报表,或者每隔多久统计⼀次现在在线的⽤户量等。 在 Spring Boot 中有 Java ⾃带的 java.util.Timer 类,也有强⼤的调度器 Quartz,还…