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.
- Confirma que conectarte y sondear el servicio TLS objetivo está dentro del alcance autorizado.
- Usa s_client para abrir una conexión y ver el protocolo, cifrado y cadena de certificados negociados.
- Usa x509 para analizar en detalle los campos del certificado obtenido (subject, issuer, validez, SANs).
- Repite s_client con -tls1, -tls1_1 o valores -cipher específicos para mapear exactamente qué sigue aceptando el servidor.
- 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.comANTES 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.