← retour aux outils back to tools

# 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