
ldapsearch BOF、pyldapsearch、および Brute Ratel の LDAP Sentinel によって書き込まれたログから BloodHound 互換の JSON を生成します。
⛔🚧 このリポジトリはメンテナンスされていません。問題の報告、プルリクエストの送信、最新バージョンの入手は https://github.com/coffeegist/bofhound を参照してください 🚧⛔
_____________________________ __ __ ______ __ __ __ __ _______
| _ / / __ / | ____/| | | | / __ \ | | | | | \ | | | \
| |_) | | | | | | |__ | |__| | | | | | | | | | | \| | | .--. |
| _ < | | | | | __| | __ | | | | | | | | | | . ` | | | | |
| |_) | | `--' | | | | | | | | `--' | | `--' | | |\ | | '--' |
|______/ \______/ |__| |__| |___\_\________\_\________\|__| \___\|_________\
by Fortalice ✪
BOFHound は、TrustedSec の ldapsearch BOF、その Python 版 pyldapsearch、および Brute Ratel の LDAP Sentinel と互換性のあるオフラインの BloodHound インジェスター兼 LDAP 結果パーサーです。
上記のツールが生成するログファイルを解析することで、BOFHound はオペレーターが BloodHound の愛用されているインターフェースを利用できるようにしつつ、実行される LDAP クエリとその実行速度に対する完全な制御を維持します。これにより、オペレーターは潜在的なハニーポットアカウント、高コストな LDAP クエリのしきい値、および従来の自動化された BloodHound コレクターを念頭に設計されたその他の検出メカニズムを考慮して、自由に判断することができます。
BOFHound は pip3 install bofhound またはこのリポジトリをクローンして pip3 install . を実行することでインストールできます。

ldapsearch BOF の結果を Cobalt Strike ログ(デフォルトでは /opt/cobaltstrike/logs)から /data/ にパースする
bofhound -o /data/
pyldapsearch ログをパースし、すべてのプロパティを含める(通常のプロパティのみではなく)
bofhound -i ~/.pyldapsearch/logs/ --all-properties
BRc4 ログから LDAP Sentinel データをパースする(デフォルトの入力パスを /opt/bruteratel/logs に変更します)
bofhound --brute-ratel
以下の属性が正しい機能に必要です:
samaccounttype
dn
objectsid
すべてのデータを取得(代わりに BloodHound を実行しますか?)
ldapsearch (objectclass=*) *,ntsecuritydescriptor
すべてのスキーマ情報を取得
ldapsearch (schemaIDGUID=*) name,schemaidguid -1 "" CN=Schema,CN=Configuration,DC=windomain,DC=local
ms-Mcs-AdmPwd schemaIDGUID のみを取得
ldapsearch (name=ms-mcs-admpwd) name,schemaidguid 1 "" CN=Schema,CN=Configuration,DC=windomain,DC=local
bofhound は Poetry を使用して依存関係を管理します。ソースからインストールし、開発用にセットアップするには:
git clone https://github.com/fortalice/bofhound
cd bofhound
poetry install
poetry run bofhound --help