Saltar al contenido
OPS // KITitspentest.sh

R-OPE

OpenSSL

Kit de herramientas estándar de TLS/cripto en CLI para inspeccionar certificados, probar cifrados y protocolos soportados, e interactuar manualmente con servicios TLS.

Sitio oficialVolver al catálogo

RESUMEN

OpenSSL (openssl.org, github.com/openssl/openssl) es el kit de referencia para TLS/SSL y criptografía de propósito general, y su binario CLI `openssl` viene instalado por defecto en casi todo sistema Linux/macOS. Durante un pentest se usa menos por su librería (que sustenta incontables otras herramientas) y más como utilidad de inspección directa: s_client abre una conexión TLS cruda a cualquier host/puerto para mostrar la versión de protocolo negociada, el conjunto de cifrado y la cadena de certificados completa, y x509 analiza un archivo de certificado para mostrar su subject, issuer, ventana de validez y extensiones.

Como s_client se comporta como un socket crudo una vez completado el handshake TLS, también funciona como cliente manual para protocolos TLS basados en líneas (SMTP, IMAP y HTTP sobre TLS plano) cuando no hay un cliente específico disponible o cuando necesitas ver exactamente qué va por el cable sin la abstracción de una librería de por medio.

CASOS DE USO

Casos de uso en un engagement

  • 01

    Extraer la cadena de certificados completa de un servicio para revisar caducidad, issuer, SANs y confianza antes de reportar un hallazgo de TLS.

  • 02

    Probar qué versiones de protocolo y conjuntos de cifrado acepta un servidor (SSLv3, TLS 1.0, cifrados débiles).

  • 03

    Abrir una conexión TLS cruda con s_client para enviar comandos manualmente a un servicio SMTP/IMAP/HTTPS.

  • 04

    Generar un CSR o un certificado autofirmado para probar cómo valida una aplicación los certificados de cliente.

PRIMEROS PASOS

Cuando aparece un servicio TLS en la enumeración — para extraer su cadena de certificados, revisar protocolos/cifrados débiles o abrir una conexión manual cuando ningún otro cliente encaja.

  1. Confirma que conectarte y sondear el servicio TLS objetivo está dentro del alcance autorizado.
  2. Usa s_client para abrir una conexión y ver el protocolo, cifrado y cadena de certificados negociados.
  3. Usa x509 para analizar en detalle los campos del certificado obtenido (subject, issuer, validez, SANs).
  4. Repite s_client con -tls1, -tls1_1 o valores -cipher específicos para mapear exactamente qué sigue aceptando el servidor.
  5. Registra el soporte de protocolo/cifrado y los detalles del certificado como evidencia para el informe.
openssl s_client -connect target.example.com:443 -servername target.example.com

ANTES DE USARLA

Qué revisar antes de lanzarla

s_client establece una conexión TCP/TLS real contra el objetivo — incluso una inspección de solo lectura es actividad de red contra el servicio, así que confirma que está dentro del alcance como cualquier otra conexión.

El comportamiento de la CLI y las flags disponibles difieren de forma significativa entre OpenSSL 1.1.1 y 3.x (y entre OpenSSL y forks como LibreSSL en algunos sistemas) — confirma la versión local antes de asumir que una flag existe.

Los hallazgos de cifrado/protocolo débil dependen de la configuración del servidor, que puede cambiar en cualquier momento — marca la fecha y reverifica los resultados cerca de la entrega del informe.

SIGUE EXPLORANDO

Ver toda la fase →