tlssled

Script de test de sécurité TLS/SSL. Évalue les configurations SSL/TLS en vérifiant les protocoles supportés, les suites de ciphers, la validité des certificats et les vulnérabilités connues via des commandes openssl. TLS/SSL security testing script. Evaluates SSL/TLS configurations by checking supported protocols, cipher suites, certificate validity, and known vulnerabilities using openssl commands.

↗ https://github.com/tomacorp/TLSSLed

Overview

TLSSLed is a bash script that uses openssl to test SSL/TLS configurations. It checks protocol versions, cipher suites, certificate information, and common vulnerabilities — a lightweight alternative to testssl.sh for quick assessments.

Basic Usage

Basic TLS test

tlssled target.com 443

Test a specific port

tlssled target.com 8443

SMTP with STARTTLS

tlssled mail.target.com 25 smtp

What TLSSLed Checks

# Protocol version support
# → SSLv2, SSLv3 (deprecated/dangerous)
# → TLS 1.0, 1.1 (deprecated)
# → TLS 1.2, 1.3 (current)

# Cipher suite categories
# → NULL ciphers (no encryption)
# → EXPORT ciphers (40/56-bit, weak)
# → RC4 ciphers (stream cipher, weak)
# → Anonymous DH (no authentication)
# → Weak DES/3DES

# Certificate checks
# → Expiry date
# → Self-signed
# → Subject/SAN

# Renegotiation behavior
# → Client-initiated renegotiation (DoS vector)
# → Insecure renegotiation

Output

tlssled target.com 443

→ [*] Testing SSL/TLS on target.com:443 Protocols: [!] SSLv3 is enabled (POODLE vulnerable) [+] TLS 1.2 is enabled [+] TLS 1.3 is enabled Ciphers: [!] RC4 ciphers enabled [+] Forward Secrecy ciphers available Certificate: [+] Certificate expires: 2025-01-01 [-] Subject: CN=target.com

Manual openssl Testing

The same checks manually: Test SSLv3

openssl s_client -ssl3 -connect target.com:443

Test TLS 1.0

openssl s_client -tls1 -connect target.com:443

List cipher suites

openssl ciphers 'ALL:eNULL' | tr ':' '\n'

Test specific cipher

openssl s_client -cipher RC4-MD5 -connect target.com:443

Check certificate

openssl s_client -connect target.com:443 | openssl x509 -noout -text

Tips

  • Use testssl.sh or sslyze for more comprehensive results — TLSSLed is a quick check
  • SSLv3 enabled is an immediate finding (POODLE, CVE-2014-3566)
  • RC4 ciphers are insecure — any server offering them should be flagged
  • NULL ciphers = no encryption at all — critical finding if enabled
  • Forward secrecy (ECDHE/DHE) should be preferred — ensures past sessions stay encrypted
Help / Man page
tlssled HOST PORT [STARTTLS_PROTO]

HOST              Target hostname or IP
PORT              TCP port (443, 8443, etc.)
STARTTLS_PROTO    Optional: smtp, ftp, imap, pop3, xmpp

Examples:
  tlssled example.com 443
  tlssled mail.example.com 587 smtp

Vue d’ensemble

TLSSLed est un script bash qui utilise openssl pour tester les configurations SSL/TLS. Il vérifie les versions de protocole, les suites de ciphers, les informations de certificat, et les vulnérabilités courantes : une alternative légère à testssl.sh pour des évaluations rapides.

Utilisation de base

# Test TLS de base
tlssled target.com 443

# Tester un port spécifique
tlssled target.com 8443

# SMTP avec STARTTLS
tlssled mail.target.com 25 smtp

Ce que TLSSLed vérifie

# Support des versions de protocole
# → SSLv2, SSLv3 (déprécié/dangereux)
# → TLS 1.0, 1.1 (déprécié)
# → TLS 1.2, 1.3 (actuel)

# Catégories de suites de ciphers
# → Ciphers NULL (pas de chiffrement)
# → Ciphers EXPORT (40/56 bits, faibles)
# → Ciphers RC4 (stream cipher, faible)
# → DH anonyme (pas d'authentification)
# → DES/3DES faibles

# Vérifications de certificat
# → Date d'expiration
# → Auto-signé
# → Subject/SAN

# Comportement de renégociation
# → Renégociation initiée par le client (vecteur de DoS)
# → Renégociation non sécurisée

Sortie

tlssled target.com 443

Résultat : [*] Testing SSL/TLS on target.com:443 Protocols: [!] SSLv3 is enabled (POODLE vulnerable) [+] TLS 1.2 is enabled [+] TLS 1.3 is enabled Ciphers: [!] RC4 ciphers enabled [+] Forward Secrecy ciphers available Certificate: [+] Certificate expires: 2025-01-01 [-] Subject: CN=target.com

Test manuel avec openssl

Les mêmes vérifications manuellement :

# Tester SSLv3
openssl s_client -ssl3 -connect target.com:443

# Tester TLS 1.0
openssl s_client -tls1 -connect target.com:443

# Lister les suites de ciphers
openssl ciphers 'ALL:eNULL' | tr ':' '\n'

# Tester un cipher spécifique
openssl s_client -cipher RC4-MD5 -connect target.com:443

# Vérifier le certificat
openssl s_client -connect target.com:443 | openssl x509 -noout -text

Conseils

  • Utiliser testssl.sh ou sslyze pour des résultats plus complets : TLSSLed est une vérification rapide
  • SSLv3 activé est un finding immédiat (POODLE, CVE-2014-3566)
  • Les ciphers RC4 sont non sécurisés : tout serveur qui les propose doit être signalé
  • Les ciphers NULL signifient l’absence totale de chiffrement : finding critique si activé
  • La forward secrecy (ECDHE/DHE) doit être privilégiée : elle garantit que les sessions passées restent chiffrées
Aide / Page de manuel
tlssled HOST PORT [STARTTLS_PROTO]

HOST              Target hostname or IP
PORT              TCP port (443, 8443, etc.)
STARTTLS_PROTO    Optional: smtp, ftp, imap, pop3, xmpp

Examples:
  tlssled example.com 443
  tlssled mail.example.com 587 smtp