tls-certificate-analysis
This skill uses Claude hooks which can execute code automatically in response to events. Review carefully before installing.
TLS Certificate Analysis Skill
Purpose
Analyze TLS certificates to extract issuer information, Subject Alternative Names, protocol versions, and fingerprint data for technology identification.
Operations
1. extract_certificate_metadata
Connect to server and extract certificate details.
Command:
echo | openssl s_client -connect {domain}:443 -servername {domain} 2>/dev/null | openssl x509 -noout -text
Fields to Extract:
- Subject (CN, O, OU)
- Issuer (CN, O)
- Validity (Not Before, Not After)
- Subject Alternative Names
- Signature Algorithm
- Public Key Algorithm & Size
2. analyze_certificate_issuer
Identify certificate authority and infer hosting/security practices.
Issuer Detection Patterns:
{
"Let's Encrypt": {
"pattern": "Let's Encrypt",
"indicates": ["Automated cert management", "Cost-conscious"],
"confidence": 90
},
"DigiCert": {
"pattern": "DigiCert",
"indicates": ["Enterprise security", "Compliance focus"],
"confidence": 85
},
"Amazon": {
"pattern": "Amazon|AWS",
"indicates": ["AWS infrastructure", "ACM usage"],
"confidence": 95,
"tech": "AWS Certificate Manager"
},
"Cloudflare": {
"pattern": "Cloudflare",
"indicates": ["Cloudflare CDN/proxy"],
"confidence": 95,
"tech": "Cloudflare"
},
"Google Trust Services": {
"pattern": "Google Trust Services|GTS",
"indicates": ["GCP infrastructure"],
"confidence": 90,
"tech": "Google Cloud"
},
"Sectigo": {
"pattern": "Sectigo|Comodo",
"indicates": ["Commercial CA", "Traditional hosting"],
"confidence": 80
},
"ZeroSSL": {
"pattern": "ZeroSSL",
"indicates": ["Free CA alternative", "Automated certs"],
"confidence": 85
}
}
3. extract_sans
Parse Subject Alternative Names from certificate.
Command:
echo | openssl s_client -connect {domain}:443 -servername {domain} 2>/dev/null | \
openssl x509 -noout -ext subjectAltName
Process:
- Extract SAN extension
- Parse DNS names
- Filter for relevant domains
- Identify wildcards
4. check_protocol_support
Test TLS protocol and cipher support.
Command:
# Check TLS versions
nmap --script ssl-enum-ciphers -p 443 {domain}
# Or simpler check:
openssl s_client -connect {domain}:443 -tls1_2
openssl s_client -connect {domain}:443 -tls1_3
Protocol Analysis:
{
"TLS 1.3 only": {"indicates": ["Modern security", "Recent deployment"]},
"TLS 1.2 + 1.3": {"indicates": ["Standard modern config"]},
"TLS 1.1 enabled": {"indicates": ["Legacy support", "Older infrastructure"]},
"TLS 1.0 enabled": {"indicates": ["Legacy systems", "Security concern"]}
}
5. generate_jarm_fingerprint
Generate JARM fingerprint for server identification.
JARM Concept: JARM is a TLS server fingerprinting tool that sends specific TLS ClientHello packets and fingerprints the server's responses.
Known JARM Fingerprints:
{
"29d29d15d29d29d00042d42d000000cd19c7d2c21d91e77fcb9e7a8d6d1d8c": "Cloudflare",
"27d3ed3ed0003ed1dc42d43d00041d6183ff1bfae51ebd88d70384363d525c": "Cloudflare Alternative",
"29d29d00029d29d00042d43d00041d44609a5a9a88e797f466e878a82e8365": "AWS CloudFront",
"29d29d15d29d29d00029d29d29d29dcd19c7d2c21d91e77fcb9e7a8d6d1d8c": "Fastly",
"2ad2ad0002ad2ad0002ad2ad2ad2adce7a321c3e485c38c0e28d4e78968ed7": "Akamai"
}
Note: JARM fingerprinting requires specialized tools. This operation may be marked as optional.
Output
{
"skill": "tls_certificate_analysis",
"domain": "string",
"results": {
"certificates": [
{
"domain": "string",
"subject": {
"common_name": "string",
"organization": "string",
"country": "string"
},
"issuer": {
"common_name": "string",
"organization": "string",
"technology_indicated": "AWS Certificate Manager|Cloudflare|Let's Encrypt|Other"
},
"validity": {
"not_before": "date",
"not_after": "date",
"days_remaining": "number"
},
"sans": ["array of DNS names"],
"signature_algorithm": "string",
"public_key": {
"algorithm": "RSA|ECDSA",
"size": "number"
}
}
],
"protocol_support": {
"tls_1_3": "boolean",
"tls_1_2": "boolean",
"tls_1_1": "boolean",
"tls_1_0": "boolean"
},
"fingerprints": {
"jarm": "string (optional)",
"jarm_match": "string (if known)"
},
"security_analysis": {
"cert_automation": "boolean (Let's Encrypt or similar)",
"wildcard_usage": "boolean",
"short_validity": "boolean (< 90 days)",
"modern_protocols_only": "boolean"
},
"technologies_detected": [
{
"name": "string",
"source": "certificate_issuer|jarm_fingerprint",
"confidence": "number"
}
]
},
"evidence": [
{
"type": "certificate",
"domain": "string",
"issuer": "string",
"validity": "string",
"timestamp": "ISO-8601"
}
]
}
Technology Signals from Certificates
| Signal | Indicates | Confidence |
|---|---|---|
| Amazon issuer | AWS infrastructure | 95% |
| Cloudflare issuer | Cloudflare proxy | 95% |
| GTS issuer | Google Cloud | 90% |
| Let's Encrypt + 90-day validity | Automated cert management | 85% |
| EV certificate | Enterprise/financial | 80% |
| Wildcard SAN | Dynamic subdomain usage | 70% |
Rate Limiting
- TLS connections: 10/minute per domain
- JARM scanning: 5/minute (if enabled)
Error Handling
- Connection refused: Server may not have HTTPS
- Certificate expired: Log but continue
- Self-signed certificate: Log as finding
- SNI required: Retry with server name
Security Considerations
- Only passive TLS analysis
- No certificate validation bypass
- Do not store private key material
- Log all connections for audit
More from transilienceai/communitytools
hackerone
HackerOne bug bounty automation - parses scope CSVs, deploys parallel pentesting agents for each asset, validates PoCs, and generates platform-ready submission reports. Use when testing HackerOne programs or preparing professional vulnerability submissions.
50reconnaissance
Domain assessment and web application mapping - subdomain discovery, port scanning, endpoint enumeration, API discovery, and attack surface analysis.
40ai-threat-testing
Offensive AI security testing and exploitation framework. Systematically tests LLM applications for OWASP Top 10 vulnerabilities including prompt injection, model extraction, data poisoning, and supply chain attacks. Integrates with pentest workflows to discover and exploit AI-specific threats.
38osint
Open-source intelligence gathering - company repository enumeration, secret scanning, git history analysis, employee footprint, and code exposure discovery.
37social-engineering
Social engineering testing - phishing, pretexting, vishing, and physical security assessment techniques.
37source-code-scanning
Security-focused source code review and SAST. Scans for vulnerabilities (OWASP Top 10, CWE Top 25), CVEs in third-party dependencies/packages, hardcoded secrets, malicious code, and insecure patterns. Use when given source code, a repo path, or asked to "audit", "scan", "review" code security, or "check dependencies for CVEs".
35