Double-q1015/argus
GitHub: Double-q1015/argus
一个基于 Vue 3 与 Python 的开源样本静态及动态信息收集平台,解决多源样本统一管理与快速分析的问题。
Stars: 1 | Forks: 0
# 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](https://github.com/kevoreilly/CAPEv2) CAPEv2是一个沙箱
* 2、[Strelka](https://github.com/target/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](https://github.com/google/magika) 工具
* 2、漏洞详情页面添加 [Die](https://github.com/horsicq/DIE-engine/releases) 工具
* 3、漏洞详情页面添加 [Trid]() 工具
### API管理
## PE节区信息
Windows 资源语言和子语言的官方定义可以在以下位置找到:
Windows SDK 头文件:
winnt.h 文件中包含了完整的语言和子语言定义
路径通常在:C:\Program Files (x86)\Windows Kits\10\Include\\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 宏的使用方法
## Scanner
主要复用Strelka的Scanner组件
* batch
common scan_encrypted_zip.py scan_jpeg.py scan_php.py scan_udf.py
__init__.py scan_entropy.py scan_json.py scan_pkcs7.py scan_upx.py
scan_antiword.py scan_exception.py scan_libarchive.py scan_plist.py scan_url.py
scan_base64_pe.py scan_exiftool.py scan_lnk.py scan_png_eof.py scan_vba.py
scan_base64.py scan_falcon_sandbox.py scan_lsb.py scan_pyinstaller.py scan_vb.py
scan_batch.py scan_footer.py scan_lzma.py scan_qr.py scan_vhd.py
scan_bmp_eof.py scan_gif.py scan_macho.py scan_rar.py scan_vsto.py
scan_bzip2.py scan_gzip.py scan_manifest.py scan_rpm.py scan_x509.py
scan_ccn.py scan_hash.py scan_msi.py scan_rtf.py scan_xl4ma.py
scan_cuckoo.py scan_header.py scan_nf.py scan_save.py scan_xml.py
scan_delay.py scan_html.py scan_ocr.py scan_seven_zip.py scan_yara.py
scan_dmg.py scan_ini.py scan_ole.py scan_strings.py scan_zip.py
scan_docx.py scan_iqy.py scan_onenote.py scan_swf.py scan_zlib.py
scan_donut.py scan_iso.py scan_pcap.py scan_tar.py
scan_elf.py scan_jar_manifest.py scan_pdf.py scan_tlsh.py
scan_email.py scan_javascript.py scan_pe.py scan_tnef.py
scan_encrypted_doc.py scan_jnlp.py scan_pgp.py scan_transcode.py
标签:AMSI绕过, AssemblyLine, CAPEv2, DAST, DNS解析, Docker, exiftool, magic, NIDS, Python, SEO, ssdeep, Strelka, strings, TLSH, Vue 3, yara, 云安全监控, 全局搜索, 威胁搜寻, 威胁检测, 安全防御评估, 容器化, 对象存储, 开源沙箱, 开源项目, 恶意软件分析, 文件冗余备份, 文件扫描, 无后门, 样本管理, 登录注册, 系统依赖, 自动扩容, 认证模块, 请求拦截, 逆向工具, 静态分析, 首页数据展示