with one click
crt-sh
Enumerate subdomains and TLS certs via CT logs (no API key needed)
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Enumerate subdomains and TLS certs via CT logs (no API key needed)
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Search and download arXiv papers (no API key needed)
Delegate coding and file edits to Anthropic Claude Code CLI
Read/write Windows clipboard text, HTML, images, history (PowerShell)
Running scripts and code on Windows
Delegate coding tasks to OpenAI Codex CLI
Windows Defender: scans, threat history, signatures (PowerShell)
| name | crt.sh |
| description | Enumerate subdomains and TLS certs via CT logs (no API key needed) |
| category | security |
| version | 1.0.0 |
| license | Apache-2.0 |
| origin | aiden |
| tags | security, osint, certificates, subdomains, tls, ssl, ct-logs, recon, crt.sh |
Query crt.sh to enumerate all TLS/SSL certificates ever issued for a domain. Certificate transparency logs are public — no API key or account needed.
$domain = "taracod.com"
$url = "https://crt.sh/?q=$domain&output=json"
$certs = Invoke-RestMethod -Uri $url
Write-Host "Found $($certs.Count) certificate records"
$certs | Select-Object -First 10 | Format-Table id, name_value, not_before, not_after -AutoSize
$domain = "taracod.com"
$url = "https://crt.sh/?q=$([Uri]::EscapeDataString("*.$domain"))&output=json"
$certs = Invoke-RestMethod -Uri $url
$names = $certs | ForEach-Object { $_.name_value -split "`n" } |
Sort-Object -Unique |
Where-Object { $_ -ne "" -and $_ -ne "*.$domain" }
Write-Host "Unique subdomains / names ($($names.Count)):"
$names | ForEach-Object { Write-Host " $_" }
$domain = "taracod.com"
$url = "https://crt.sh/?q=$domain&output=json"
$certs = Invoke-RestMethod -Uri $url
$certs | Select-Object issuer_name, not_before, not_after, name_value |
Sort-Object not_before -Descending |
Select-Object -First 20 |
Format-Table -AutoSize
$domain = "example.com"
$url = "https://crt.sh/?q=$domain&output=json"
$certs = Invoke-RestMethod -Uri $url
$cutoff = (Get-Date).AddDays(-30)
$recent = $certs | Where-Object {
[datetime]$_.not_before -gt $cutoff
} | Select-Object name_value, not_before, issuer_name
Write-Host "Certificates issued in the last 30 days: $($recent.Count)"
$recent | Format-Table -AutoSize
"Find all subdomains for google.com"
→ Use the subdomain extraction snippet with $domain = "google.com".
"What TLS certificates has github.com had?"
→ Use the first snippet with $domain = "github.com" and look at not_before/not_after.
"Show me recently issued certs for competitor.com" → Use the "recently issued" snippet — useful for tracking new infrastructure.
not_after*.example.com) are returned — the name_value field may contain multiple names separated by newlinesInvoke-RestMethod handles JSON parsing automatically