TL;DR
目的:Queries Certificate Transparency logs via crt.sh and pycrtsh to detect phishing domains, unauthorized certificate issuance, and shadow IT…
适用:目标资产侦察/信息收集
输入:目标根域名 + 监控开始时间(可选起止日)
输出:资产清单 + 子域列表 + 暴露面报告
红线:仅限授权范围内;扫描限速
-c 10 -rl 10;所有动作记 oplog关联:上游:003-src-session-start → 下游:004-analyzing-certificate-transparency-for-phishing, 006-analyzing-typosquatting-domains-with-dnstwist
phishing domains, unauthorized certificate issuance, and shadow IT…
适用:目标资产侦察/信息收集
输入:见正文 工作流/输入 章节
输出:执行结果 + 证据链
红线:仅限授权范围内;扫描限速
-c 10 -rl 10;所有动作记 oplog关联:上游:src-session-start → 下游:01-src-component-nday / 65-hunt-sqli / 71-hunt-xss
phishing domains, unauthorized certificate issuance, and shadow IT…
适用:目标资产侦察/信息收集
输入:见正文 工作流/输入 章节
输出:执行结果 + 证据链
红线:仅限授权范围内;扫描限速
-c 10 -rl 10;所有动作记 oplog关联:上游:src-session-start → 下游:01-src-component-nday / 65-hunt-sqli / 71-hunt-xss
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.
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:
- Query crt.sh for all certificates matching your domain pattern
- Identify certificates with typosquatting variations (Levenshtein distance)
- Flag certificates from unexpected CAs
- Monitor for wildcard certificates on suspicious subdomains
- Cross-reference with known phishing infrastructure
Examples
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')}")
Tools & Systems
- subfinder — Subdomain enumeration (passive + active)
- amass — Deep subdomain recon with graph database
- shodan — Internet-wide device search
- censys — Certificate transparency + scan data
- theHarvester — Email/subdomain/host harvesting
- SpiderFoot — Automated OSINT (200+ modules)
All tools run locally with -rate-limit 20 to avoid OPSEC issues.
Output Format
# Recon Report: <target>
Generated: <ISO timestamp>
## Subdomains
- sub1.target.com (resolved IP, ASN)
- sub2.target.com (resolved IP, ASN)
## Exposed services
- sub1.target.com:443 (HTTPS, cert issuer)
- sub2.target.com:80 (HTTP, server header)
## Email addresses
- admin@target.com (source)
- ceo@target.com (source)
Save as share/intel/recon/<target>-<timestamp>.md.
Workflow
- Seed input — Root domain, company name, or ASN
- Passive collection — crt.sh, shodan, censys, theHarvester (no touch)
- Active enumeration — subfinder with public resolvers
- Validation — Resolve and probe live hosts
- Fingerprint — Identify technology stack
- Reporting — Aggregate into recon report
Advanced Techniques
Multi-Source Correlation
Combine passive sources (crt.sh, shodan) with active enumeration results to identify shadow IT, forgotten subdomains, and orphan DNS records.
Timeline Analysis
Use whois history and Certificate Transparency logs to reconstruct the target's infrastructure evolution.