Subparse是一款由Josh Strochein、Aaron Baker和Odin Bernstein共同开发的模块化框架,该框架设计用于解析和索引恶意软件文件,并在可搜索的Web浏览器中显示解析过程中发现的信息。该框架是模块化的,利用了核心解析引擎、解析模块和各种为恶意软件索引添加附加信息的富集器。框架的主要输入值是恶意软件文件的目录,核心解析引擎或用户指定的解析引擎在从任何用户指定的富集引擎添加附加信息之前解析这些文件,所有这些都是在将解析的信息编入弹性搜索索引之前实现的。然后可以通过web浏览器搜索和查看收集的信息,该浏览器还允许对从任何文件收集的任何值进行过滤。
当前版本的subparse拥有三个解析引擎(ELFParser、OLEParser和PEParser)和四个富集模块(ABUSEEnricher、CAPEEEnricher,STRINGEnricher和YARAEnricher)
在使用Subparse之前,还需要安装并配置一些其他的工具组件以确保Subparse的正常运行:
软件 | 状态 | 链接 |
---|---|---|
Docker | 必须 | https://docs.docker.com/get-docker/ |
Python3.8.1 | 必须 | https://www.python.org/downloads/release/python-381/ |
Pyenv | 推荐 | https://github.com/pyenv/pyenv |
安装好该工具所需的必要软件之后,我们还需要安装一些其他的依赖组件:
Python:
sudo get apt install build-essential
pip3 install -r ./requirements.txt
Docker:
docker-compose up
首先,我们需要更新系统:
sudo apt update && sudo apt upgrade -y
VIm安装:
sudo apt install vim
Git安装:
sudo apt install git
代码库克隆:
git clone https://github.com/jstrosch/subparse.git
(向右滑动、查看更多)
NPM安装:
sudo apt install npm
Python3 pip安装:
sudo apt install python3-pip
Python3 TK安装:
sudo apt install python3-tk
Docker安装:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
(向右滑动、查看更多)
再次更新系统:
sudo apt update
安装Docker:
sudo apt install docker-ce -y
Docker检测:
sudo systemctl status docker
修改主机Systemctl文件:
sudo vim /etc/sysctl.conf
然后在文件底部追加下列信息:
vm.max_map_count=262144
按下:wq保存文件,然后重启系统,并安装Docker-Compose:
sudo apt install docker-compose
安装Python依赖:
python3.8 -m pip install -r requirements.txt
安装Vue依赖:
npm install .
构建容器:
docker-compose up -d --build
查看站点:
http://localhost:8080
参数选项 | 长命令 | 是否必须 | 描述 |
---|---|---|---|
-h | --help | 否 | 查看工具帮助菜单 |
-d SAMPLES_DIR | --directory SAMPLES_DIR | 是 | 要解析的样本目录 |
-e ENRICHER_MODULES | --enrichers ENRICHER_MODULES | 否 | 额外解析需要使用的富集模块 |
-r | --reset | 否 | 重制/删除Elasticsearch集群中的所有数据 |
-v | --verbose | 否 | 显示Verbose命令行输出 |
-s | --service-mode | 否 | 进入服务模块,允许在处理过程中添加其他服务功能 |
本项目的开发与发布遵循MIT开源许可证协议。
Subparse:https://github.com/jstrosch/subparse