mirror of
https://github.com/mukul975/Anthropic-Cybersecurity-Skills.git
synced 2026-08-05 02:10:18 +03:00
- Add mitre_f3 frontmatter block to 94 fraud-relevant skills (phishing, account takeover, banking malware, BEC, identity/KYC, payment/card fraud, money-mule/cash-out, ransomware extortion, DFIR, threat intel) - Map each skill to F3 v1.1 tactics + precise technique IDs, including the two F3-specific tactics ATT&CK lacks: Positioning (FA0001) and Monetization (FA0002) - All 123 F3 v1.1 technique IDs validated against the upstream STIX bundle (github.com/center-for-threat-informed-defense/fight-fraud-framework): 0 invalid IDs, 0 invalid tactics, 0 name mismatches, no placeholder IDs - mitre_f3 kept as a separate block from mitre_attack (F3 redefines several ATT&CK tactics for the fraud context) - Add docs/mitre-f3-mapping.md schema reference - Update README: F3 as the 6th framework, dedicated F3 section + badge
114 lines
2.9 KiB
Markdown
114 lines
2.9 KiB
Markdown
---
|
|
name: analyzing-tls-certificate-transparency-logs
|
|
description: 'Queries Certificate Transparency logs via crt.sh and pycrtsh to detect
|
|
phishing domains, unauthorized certificate issuance, and shadow IT. Monitors newly
|
|
issued certificates for typosquatting and brand impersonation using Levenshtein
|
|
distance. Use for proactive phishing domain detection and certificate monitoring.
|
|
|
|
'
|
|
domain: cybersecurity
|
|
subdomain: security-operations
|
|
tags:
|
|
- certificate-transparency
|
|
- ct-logs
|
|
- crt-sh
|
|
- phishing-detection
|
|
- tls-monitoring
|
|
- security-operations
|
|
version: '1.0'
|
|
author: mahipal
|
|
license: Apache-2.0
|
|
atlas_techniques:
|
|
- AML.T0073
|
|
- AML.T0052
|
|
nist_csf:
|
|
- DE.CM-01
|
|
- RS.MA-01
|
|
- GV.OV-01
|
|
- DE.AE-02
|
|
mitre_attack:
|
|
- T1583.001
|
|
- T1566.002
|
|
- T1598.003
|
|
- T1583.006
|
|
mitre_f3:
|
|
version: '1.1'
|
|
tactics:
|
|
- reconnaissance
|
|
- resource-development
|
|
- initial-access
|
|
techniques:
|
|
- id: T1598
|
|
name: Phishing for Information
|
|
tactic: reconnaissance
|
|
source: attack
|
|
- id: T1593
|
|
name: Search Open Websites/Domains
|
|
tactic: reconnaissance
|
|
source: attack
|
|
- id: T1583.001
|
|
name: 'Acquire Infrastructure: Domains'
|
|
tactic: resource-development
|
|
source: attack
|
|
- id: F1020.002
|
|
name: 'Create Fake Materials: Fake Website'
|
|
tactic: resource-development
|
|
source: f3
|
|
- id: T1660
|
|
name: Phishing
|
|
tactic: initial-access
|
|
source: attack
|
|
---
|
|
|
|
# Analyzing TLS Certificate Transparency Logs
|
|
|
|
|
|
## When to Use
|
|
|
|
- When investigating security incidents that require analyzing tls certificate transparency logs
|
|
- When building detection rules or threat hunting queries for this domain
|
|
- When SOC analysts need structured procedures for this analysis type
|
|
- When validating security monitoring coverage for related attack techniques
|
|
|
|
## Prerequisites
|
|
|
|
- Familiarity with security operations concepts and tools
|
|
- Access to a test or lab environment for safe execution
|
|
- Python 3.8+ with required dependencies installed
|
|
- Appropriate authorization for any testing activities
|
|
|
|
## Instructions
|
|
|
|
Query crt.sh Certificate Transparency database to find certificates issued for
|
|
domains similar to your organization's brand, detecting phishing infrastructure.
|
|
|
|
```python
|
|
from pycrtsh import Crtsh
|
|
|
|
c = Crtsh()
|
|
# Search for certificates matching a domain
|
|
certs = c.search("example.com")
|
|
for cert in certs:
|
|
print(cert["id"], cert["name_value"])
|
|
|
|
# Get full certificate details
|
|
details = c.get(certs[0]["id"], type="id")
|
|
```
|
|
|
|
Key analysis steps:
|
|
1. Query crt.sh for all certificates matching your domain pattern
|
|
2. Identify certificates with typosquatting variations (Levenshtein distance)
|
|
3. Flag certificates from unexpected CAs
|
|
4. Monitor for wildcard certificates on suspicious subdomains
|
|
5. Cross-reference with known phishing infrastructure
|
|
|
|
## Examples
|
|
|
|
```python
|
|
from pycrtsh import Crtsh
|
|
c = Crtsh()
|
|
certs = c.search("%.example.com")
|
|
for cert in certs:
|
|
print(f"Issuer: {cert.get('issuer_name')}, Domain: {cert.get('name_value')}")
|
|
```
|