基于Python的小工具 从网络威胁报告中预测 Att&ck 战术和技术
作者:Sec-Labs | 发布时间:

工具介绍
从网络威胁报告中预测 Att&ck 战术和技术的 python 工具。
工具地址
https://github.com/vlegoy/rcATT
使用方法
该工具旨在预测网络威胁报告中ATT&CK框架(https://attack.mitre.org/)的战术和技术,例如可以在https://otx.alienvault.com/ 或https://exchange.xforce.ibmcloud.com/。
rcATT可通过命令行界面或图形界面使用。两个版本都有相同的功能。
- 从给定的网络威胁报告中预测文本格式的战术和技术
- 对每个技术和战术的分类器的置信度进行排序和可视化,即使是报告中未包含的预测。
- 将结果保存在STIX格式的json文件中
- 通过修改预测结果为正数或负数,向工具提供反馈意见
- 将反馈意见和/或结果保存到训练集上
- 用新的数据重新训练分类器

安装
工具所需依赖环境
- python >= 3.5
- joblib
- pandas
- numpy
- stix2
- scikit-learn
- nltk 及以下包:
- punkt
- stopwords
- wordnet
- flask (GUI版本)
- colorama (只需要命令行版本)
如何使用rcATT
命令行界面
以文本格式从给定的网络威胁报告中预测战术和技术
对于命令行工具,将你的报告保存在一个文本文件中。然后使用命令: python -p -i [文本文件中的报告] 。
结果将按存在的可能性排序显示。


通过将预测值修改为正数或负数,给该工具以反馈。
使用命令行: python app.py -f [战术和技术列表] -i [输入由rcATT生成的结果.json文件] -o [输出.json文件] 。
将反馈和/或结果保存到训练集上
使用命令 python app.py -a -i [由rcATT提供的.json文件] 。
用新的数据重新训练分类器
使用命令 python app.py -t
将结果保存在一个STIX格式的json文件中
在命令行版本中,这个步骤包括在预测或反馈功能中,在给出的命令中加入-o [输出json文件]。使用-n[报告标题]和-d[发表日期]精确地确定一个名称和一个日期。
图形化界面
从给定的网络威胁报告中预测文本格式的战术和技术
在文本区输入报告,并点击 "预测 "按钮。

通过修改预测结果为正数或负数,给该工具以反馈。
点击 "纠正结果 "按钮。

将反馈和/或结果保存到训练集上
点击 "为训练保存结果 "按钮。
用新数据重新训练分类器
点击"⚙"按钮。
将结果保存在STIX格式的json文件中
点击 "导出结果 "按钮,填写表格(如果没有填写,将给出默认值)。
