Valhalla API客户端

valhallaA的Python项目详细描述


瓦尔哈拉皮

这个模块允许您与valhalla api交互,检索不同格式的yara规则,过滤它们并将它们写入磁盘。您可以在我们的网站上找到有关Valhalla的更多信息。没有python模块和客户机的过滤功能的web界面可以在这里访问。

它包含一个python模块valhalla api和一个python命令行api客户端valhalla cli

python模块

Web API允许您检索已订阅的规则。

python模块的3个主要功能是:

  • get_rules_text()以文本形式检索规则
  • get_rules_json()以json形式检索规则
  • get_rule_info()查询数据库以获取有关某个规则的信息(例如,样本散列、AV检测率)

该模块提供基于

  • 标签
  • 得分
  • 关键词
  • 支持的yara版本和必需的yara模块

它还允许您检索符合用于应用规则的产品的筛选规则集。例如,您可以通过筛选所有使用yara版本(高于受支持的1.7.0

Valhalla数据库中有两个用于特殊查找的额外功能(仅限客户):

  • 获取规则信息检索规则信息和所有匹配的示例散列
  • 获取哈希信息检索与特定SHA256哈希匹配的所有规则

演示访问

有一个演示API密钥可用于测试目的。

1111111111111111111111111111111111111111111111111111111111111111

它将允许您检索已处理的公共签名集。

该键还允许您查询单个规则的规则信息,即:

Casing_Anomaly_ByPass

请注意,瓦尔哈拉有适当的保护机制,如果你尝试愚蠢的事情,会在相当长的时间内阻止你的双峰末端。

开始

pip3 install valhallaAPI

用法

获取服务状态(不需要有效的api密钥)

fromvalhallaAPI.valhallaimportValhallaAPIv=ValhallaAPI()status=v.get_status()

文本规则

获取所有已订阅的规则作为文本并将其保存到文件中

fromvalhallaAPI.valhallaimportValhallaAPIv=ValhallaAPI(api_key="Your API Key")response=v.get_rules_text()withopen('valhalla-rules.yar','w')asfh:fh.write(response)

或者使用demo api密钥,它允许您检索所有公共规则

fromvalhallaAPI.valhallaimportValhallaAPIv=ValhallaAPI(api_key="1111111111111111111111111111111111111111111111111111111111111111")response=v.get_rules_text()withopen('valhalla-rules.yar','w')asfh:fh.write(response)

获取所有最低得分为75的已订阅规则并将其保存到文件中

response=v.get_rules_text(score=75)

获取包含关键字mimikatz的所有已订阅规则,并将它们保存到文件中

response=v.get_rules_text(search="Mimikatz")

获取您的扫描引擎的所有已订阅规则,该引擎支持yara最新版本3.2.0pe模块,并将它们保存到文件中

response=v.get_rules_text(max_version="3.2.0",modules=['pe'])

获取您的FireEyeex的所有订阅规则

1111111111111111111111111111111111111111111111111111111111111111
0

获取您的tanium的所有订阅规则

1111111111111111111111111111111111111111111111111111111111111111
1

以下产品具有预定义的预设值

1111111111111111111111111111111111111111111111111111111111111111
2

示例响应将类似于

1111111111111111111111111111111111111111111111111111111111111111
3

json输出

使用apt标记获取所有已订阅的规则,标记为json并将它们保存到文件中

1111111111111111111111111111111111111111111111111111111111111111
4

示例响应将类似于

1111111111111111111111111111111111111111111111111111111111111111
5

规则信息

获取规则"套管异常"旁路的信息

1111111111111111111111111111111111111111111111111111111111111111
6

请注意,casing_anomaly_bypass的规则信息是您可以使用demo api密钥检索的唯一信息。

规则信息请求的示例输出将类似于

1111111111111111111111111111111111111111111111111111111111111111
7

散列信息

获取hash的信息8a883a74702f83a273e6c29292f172f114fd1cce8ee126cd90c95131e870744af

1111111111111111111111111111111111111111111111111111111111111111
8

哈希信息请求的示例输出如下所示

1111111111111111111111111111111111111111111111111111111111111111
9

API客户端

api客户端允许您从命令行查询web api。它需要蟒蛇3。

开始

安装python3,然后运行以下命令:

pip3 install valhallaAPI

然后,您应该能够使用Linux或MacOS系统从命令行运行valhalla cli

在Windows上,请执行以下操作:

Casing_Anomaly_ByPass
1

复制完整路径,然后运行

Casing_Anomaly_ByPass
2

或者从最新版本的release部分下载预编译的valhalla cli.exe

用法

Casing_Anomaly_ByPass
3

示例

检查演示用户订阅的状态

Casing_Anomaly_ByPass
4

检查订阅的状态

Casing_Anomaly_ByPass
5

获取所有已订阅的规则并将其保存到valhalla rules.yar

Casing_Anomaly_ByPass
6

获取分数高于75的规则,并将其保存到valhalla rules.yar

Casing_Anomaly_ByPass
7

获取适用于炭黑的规则,并将其保存到valhalla april cb.yar

Casing_Anomaly_ByPass
8

获取包含关键字mimikatz的规则,并将其保存到mimikatz rules.yar

Casing_Anomaly_ByPass
9

配置文件

valhalla cli将检查~/.valhalla作为配置文件的默认位置。

配置文件当前只包含api密钥和mu,如下所示:

pip3 install valhallaAPI
0

查找

valhalla cli具有对其数据库执行查找的某些功能。

查找返回json输出。您可以使用-lo file选项将json结果保存到文件中。

哈希查找

哈希查找可用于在Valhalla数据库中搜索特定哈希(仅限SHA256)。

pip3 install valhallaAPI
1

它将返回一个json结构。

1111111111111111111111111111111111111111111111111111111111111111
9

规则查找

规则查找可用于在Valhalla数据库中搜索特定规则及其匹配项(高级功能)。

pip3 install valhallaAPI
3

它将返回一个json结构。

pip3 install valhallaAPI
4

得分

下表说明了规则集中使用的分数

<表><广告>得分键入说明 < /广告><正文>1-39信息扫描仪使用的低评分规则(不包括Valhalla,仅用于扫描仪)40-59值得注意异常和威胁搜索规则60-74可疑可疑物品规则75-100警报硬恶意匹配

重要注意事项

  • 我们不断改进旧规则。下次您获取规则集时,它们可能已更改。因此,建议始终获取完整的规则集,并用较新版本替换较旧的规则。
  • 完整的规则集包含分数低于60的yara规则,用于搜索威胁和异常检测用例。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Maven发布插件在创建标记时失败   opencv使用java控制网络摄像头LED灯   java在使用JTA时不能使用EntityTransaction。使用非JTA   java映射大小与实际条目不同   javaspringboot。执行saveAndFlush并将实体结果修改为未保存的trancient异常   java在Selenium 3.0.0中运行Selenium IDE?   用于捕获键/值的java正则表达式   java Ivy的transitive=“false”在从Nexus下载时被忽略   JavaSpring引导忽略应用程序中的数据源url。yml   可以使用正则表达式拆分Java字符串,但正则表达式匹配返回false   log4j2中的javakafka追加器。xml不起作用   循环java测试分数统计   JFrame中边框的java返回类型   java在LibGDX中如何防止相机延迟?