Was macht Analyse von TLS-Zertifikatstransparenzprotokollen?
Verwendungszweck
- Bei der Untersuchung von Sicherheitsvorfällen, die eine Analyse von TLS-Zertifikatstransparenzprotokollen erfordern
- Beim Erstellen von Erkennungsregeln oder Threat-Hunting-Abfragen für diesen Bereich
- Wenn SOC-Analysten strukturierte Verfahren für diese Analyseart benötigen
- Bei der Validierung der Sicherheitsmonitoring-Abdeckung für verwandte Angriffstechniken
Voraussetzungen
- Vertrautheit mit Konzepten und Werkzeugen der Sicherheitsoperationen
- Zugriff auf eine Test- oder Laborumgebung für die sichere Ausführung
- Python 3.8+ mit installierten erforderlichen Abhängigkeiten
- Entsprechende Autorisierung für etwaige Testaktivitäten
Anleitung
Durchsuchen Sie die crt.sh Certificate-Transparency-Datenbank, um Zertifikate zu finden, die für Domains ähnlich der eigenen Marke ausgestellt wurden, und Phishing-Infrastruktur zu erkennen.
from pycrtsh import Crtsh
c = Crtsh()
# Suche nach Zertifikaten, die einer Domain entsprechen
zertifikate = c.search("example.com")
for zert in zertifikate:
print(zert["id"], zert["name_value"])
# Vollständige Zertifikatsdetails abrufen
details = c.get(zertifikate[0]["id"], type="id")
Wichtige Analyseschritte:
- Durchsuchen Sie crt.sh nach allen Zertifikaten, die Ihrem Domainmuster entsprechen
- Identifizieren Sie Zertifikate mit Typosquatting-Varianten (Levenshtein-Distanz)
- Markieren Sie Zertifikate von unerwarteten Zertifizierungsstellen
- Überwachen Sie Wildcard-Zertifikate auf verdächtigen Subdomains
- Gleichen Sie die Ergebnisse mit bekannter Phishing-Infrastruktur ab
Beispiele
from pycrtsh import Crtsh
c = Crtsh()
zertifikate = c.search("%.example.com")
for zert in zertifikate:
print(f"Aussteller: {zert.get('issuer_name')}, Domain: {zert.get('name_value')}")