TLS証明書透明性ログの分析 は何をしますか?
使用するタイミング
- TLS証明書透明性ログの分析を必要とするセキュリティインシデントを調査する場合
- このドメインに対する検出ルールや脅威ハンティングクエリを構築する場合
- SOCアナリストがこの分析タイプの構造化手順を必要とする場合
- 関連する攻撃テクニックに対するセキュリティ監視カバレッジを検証する場合
前提条件
- セキュリティ運用の概念とツールに関する知識
- 安全な実行のためのテスト環境またはラボ環境へのアクセス
- 必要な依存関係がインストールされたPython 3.8以上
- テスト活動に対する適切な認可
手順
crt.sh Certificate Transparencyデータベースをクエリして、組織のブランドに類似したドメインに対して発行された証明書を検索し、フィッシングインフラストラクチャを検出します。
from pycrtsh import Crtsh
c = Crtsh()
# ドメインに一致する証明書を検索
certs = c.search("example.com")
for cert in certs:
print(cert["id"], cert["name_value"])
# 証明書の詳細を取得
details = c.get(certs[0]["id"], type="id")
主な分析手順:
- ドメインパターンに一致するすべての証明書をcrt.shにクエリする
- typ squattingバリエーション(レーベンシュタイン距離)を含む証明書を特定する
- 予期しない認証局からの証明書にフラグを立てる
- 疑わしいサブドメイン上のワイルドカード証明書を監視する
- 既知のフィッシングインフラストラクチャとクロスリファレンスする
例
from pycrtsh import Crtsh
c = Crtsh()
certs = c.search("%.example.com")
for cert in certs:
print(f"発行者: {cert.get('issuer_name')}, ドメイン: {cert.get('name_value')}")