关于FalconHound
FalconHound是一款专为蓝队研究人员设计的多功能安全测试工具,该工具允许广大研究人员以更加自动化的形式增强BloodHound的能力,并将其整合进渗透测试活动中。除此之外,该工具还可以跟SIEM或其他日志聚合工具一起使用。
FalconHound支持在图中查看目标环境的最新状态,这种功能对于不断变化的场景环境非常有用。BloodHound最难收集的关系之一是本地组成员和会话信息。作为蓝队队员,我们在日志中随时可以获得这些信息。同样的,FalconHound也可以收集这些信息并将其添加到图中,以便让BloodHound使用它们。
除此之外,图还可以用来触发警报或生成数据更加丰富的列表。FalconHound还可以用于查询图数据库,以查找访问到敏感或高特权组的最短路径。如果有路径,则可以将其记录到SIEM或用于触发警报。
工具使用场景
1、根据登录和注销事件在图中添加、删除或超时会话;
2、当用户和计算机在Sentinel或MDE中被记录下事件时,在图中标记为已渗透;
3、添加CVE信息以及是否存在可用的公共漏洞;
4、各种Azure活动;
5、将用户添加到组或赋予新角色时,重新计算敏感组的最短路径;
6、将新用户、组和计算机添加到图中。
7、为Sentinel和Splunk生成丰富的数据列表,例如Kerberoastable用户或拥有某些实体所有权的用户;
8、当前版本的FalconHound仅支持Neo4j数据库和BH CE即BHE的API;
工具要求
1、BloodHound;
2、最新版本Neo4j数据库;
3、一个SIEM或其他日志聚合工具,当前支持Azure Sentinel和Splunk;
4、需要交互的终端凭证信息;
支持的平台
Windows
Linux
macOS
工具安装
由于该工具基于Go语言开发,因此我们首先需要在本地设备上安装并配置好最新版本的Go语言环境。
接下来,广大研究人员可以直接访问该项目的【Releases页面】以下载对应操作系统平台的预编译FalconHound。
工具使用
运行FalconHound时添加-go参数即可在活动目录中执行所有查询:
./falconhound -go
-actionlist参数可以枚举所有已启动的活动,需与-go参数结合使用:
./falconhound -actionlist -go
-ids参数可以选择一组活动,后跟逗号分隔的活动ID,需与-go参数结合使用:
./falconhound -ids action1,action2,action3 -go
默认配置下,FalconHound会在当前目录下寻找配置文件,我们也可以使用-config参数指定一个配置文件:
./falconhound -go -config /path/to/config.yml
默认配置下,FalconHound会在当前目录下寻找活动(actions)目录,我们还可以使用-actions-dir参数指定一个不同的目录:
./falconhound -go -actions-dir /path/to/actions
默认配置下,FalconHound会使用config.yml中的凭证信息,-keyvault参数可以从指定配置文件中获取keyvault和所有的敏感凭证信息:
./falconhound -go -keyvault
许可证协议
本项目的开发与发布遵循BSD-3-Clause开源许可证协议。
项目地址
FalconHound:【GitHub传送门】
参考资料
https://medium.com/falconforce/falconhound-attack-path-management-for-blue-teams-42adedc9cae5?source=friends_link&sk=9f64b6b3028c5a2a6087d63b4fd2c82f
https://azure.microsoft.com/en-us/pricing/details/key-vault/