Skip to content

Double-q1015/argus

Repository files navigation

argus

Argus是一个开源的样本静态及动态信息收集平台

  • 基于容器可以快速搭建环境及动态扩容
  • 基于对象存储的样本及样本衍生物存储可以实现文件的冗余备份和轻松扩容存储空间。

本项目是站在巨人的肩膀上,参考了很多类似的知名项目,如果下面列出的这些项目可以满足您的使用需求,建议优先使用这些知名项目。

  • Assemblyline AssemblyLine的可扩展性非常强
    AssemblyLine 4 是一个开源恶意软件分析框架。它利用 Kubernetes 和 Docker 来适应多种用例;从支持手动恶意软件分析和安全团队的小型设备,到每天扫描数百万个文件并提供分类功能的大型企业安全运营
    
  • Strelka Strelka支持多种文件格式的解析分析能力
    Strelka 是一个基于容器的实时文件扫描系统,用于威胁搜寻、威胁检测和事件响应。
    
  • CAPEv2 CAPEv2是出色的开源沙箱
    CAPEv2用于在隔离环境中执行恶意文件,同时检测其动态行为并收集法医证据
    

系统依赖

  • strings相关 apt-get install binutils

  • TLSH相关 apt-get install -y libssl-dev

  • magic相关 apt-get install -y libmagic1 python3-magic

  • ssdeep相关 apt-get install -y ssdeep

  • exiftool相关 apt install libimage-exiftool-perl

  • yara相关 apt-get install yara

相关项目

  • 1、CAPEv2 CAPEv2是一个沙箱
  • 2、Strelka Strelka 是一个基于容器的实时文件扫描系统,用于威胁搜寻、威胁检测和事件响应。

页面简介

认证模块

登录页面

注册页面

首页

  • 路径: /home
  • 功能: 首页数据展示

首页基本信息界面

搜索

  • 路径: /search
  • 功能: 全局搜索功能

搜索界面

搜索提示界面

样本管理

  • 路径: /samples
  • 功能: 样本文件的上传、下载、查询详情等功能(样本详情的部分功能需要安装cape沙箱)

样本列表界面

样本上传界面

样本详情界面

情报IOC界面 目前均为模拟数据 TODO:

行为分析界面 目前均为模拟数据 TODO:

多维分析界面 多维分析部分主要集成了下面两部分(均需要Cape沙箱支持)

  • Yara规则扫描内存dump
  • Sigma规则

引擎检测界面 目前均为模拟数据 引擎检测部分只支持clamav,其他引擎均需要自己添加

分析任务

功能: 分析任务的创建、配置、结果查询等

Yara规则 (yara.py)

路径: /yara 功能: Yara规则的创建、更新、查询等

任务管理 (tasks.py)

  • 路径: /tasks
  • 功能: 后台任务管理

用户管理 (users.py)

  • 路径: /users
  • 功能: 用户信息管理,提供以下信息的设置

设置界面

  • 个人信息管理
  • API密钥管理
  • 系统主题管理

数据迁移 (migration.py)

路径: /migration 功能: 文件存储引擎可以选择对象存储引擎或者本地文件存储,本模块提供本地存储和对象存储互相迁移的功能

样本迁移界面

Exif工具 (exiftool.py)

功能: 处理文件元数据

部署

1、单独部署后端

  • 1、cd到后端目录
  • 2、修改环境变量和config文件
    • argus-backend/.env
    • argus-backend/app/core/config.py
  • 3、使用Dockerfile编译镜像
    docker build -t argus-latest .
    
    Tips: argus-backend/Dockerfile中配置了代理,你可以改为自己的代理,也可以注释掉
  • 4、使用编译好的镜像启动一个容器
    docker run -itd -p 8000:8000 --name argus-container argus-latest

2、单独部署前端

3、demo环境(前端+后端+mongodb+minio)

API说明

用户

1、用户注册

curl -X POST "http://localhost:8000/api/v1/auth/register?username=testuser&email=test@example.com&password=Test123!@#&is_active=true&is_superuser=false"

2、用户token获取(带验证码)

Step1: 获取验证码

curl -X GET "http://localhost:8000/api/v1/auth/captcha?client_id=test123" -o captcha.png

Step1: 带验证码登录

3、用户token获取(不带验证码)

curl -X POST http://localhost:8000/api/v1/auth/token -H 'Content-Type: application/x-www-form-urlencoded' -d 'username=usernamexxxx&password=passwordxxxx'

样本

文件上传

文件下载

文件删除

信息查询

TODO

漏洞详情页

  • 1、漏洞详情页面添加 magika 工具
  • 2、漏洞详情页面添加 Die 工具
  • 3、漏洞详情页面添加 Trid 工具

API管理

PE节区信息

Windows 资源语言和子语言的官方定义可以在以下位置找到: Windows SDK 头文件: winnt.h 文件中包含了完整的语言和子语言定义 路径通常在:C:\Program Files (x86)\Windows Kits\10\Include<version>\um\winnt.h MSDN 文档: 语言标识符:https://learn.microsoft.com/en-us/windows/win32/intl/language-identifiers 子语言标识符:https://learn.microsoft.com/en-us/windows/win32/intl/sublanguage-identifiers Windows API 参考: LANGID 和 SUBLANGID 宏的定义 MAKELANGID 和 MAKESUBLANGID 宏的使用方法

About

Argus is a malware analysis platform built with Vue 3 and Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published