Puerto 443: HTTPS

HTTPS (Hypertext Transfer Protocol Secure) es la versión segura del protocolo HTTP, utilizado para la comunicación segura a través de la red. HTTPS se ejecuta sobre el puerto 443 por defecto y emplea SSL/TLS (Secure Sockets Layer/Transport Layer Security) para cifrar los datos transferidos entre el cliente y el servidor, garantizando la confidencialidad e integridad de la información.

Descripción de HTTPS

  • Protocolo: HTTPS combina HTTP con SSL/TLS para proporcionar una conexión segura. Opera sobre el puerto 443.

  • Cifrado: SSL/TLS cifra los datos transmitidos, protegiéndolos contra la interceptación y los ataques man-in-the-middle (MITM).

  • Autenticación: HTTPS verifica la identidad del servidor mediante certificados digitales emitidos por autoridades de certificación (CAs).

  • Integridad de Datos: Utiliza sumas de verificación y algoritmos hash para asegurar que los datos no sean alterados durante la transmisión.

Relevancia en Pentesting

Importancia de HTTPS en Pentesting:

  • Seguridad de la Comunicación: HTTPS protege la información sensible (como credenciales de usuario y datos financieros) contra la interceptación.

  • Configuraciones Incorrectas: Los pentesters buscan configuraciones incorrectas en la implementación de HTTPS, como certificados expirados, cifrados débiles, y falta de configuraciones de seguridad como HSTS.

  • Vulnerabilidades en SSL/TLS: Los pentesters también identifican vulnerabilidades en la configuración de SSL/TLS, como soporte para versiones obsoletas y cifrados inseguros, que pueden ser explotadas.

Ejemplo de Escaneo de HTTPS con Nmap

Para identificar servidores HTTPS activos y verificar posibles vulnerabilidades, se puede utilizar Nmap. El siguiente comando escanea el puerto 443 y ejecuta scripts NSE específicos para HTTPS.

Comando Nmap

nmap -p 443 --script ssl-enum-ciphers,ssl-cert,ssl-dh-params target-ip

Explicación del Comando

  • nmap: Ejecuta el comando Nmap.

  • -p 443: Especifica que Nmap debe escanear el puerto 443, el puerto predeterminado para HTTPS.

  • --script ssl-enum-ciphers,ssl-cert,ssl-dh-params: Utiliza scripts NSE para detectar configuraciones y vulnerabilidades en el servicio HTTPS.

    • ssl-enum-ciphers: Enumera los cifrados soportados por el servidor.

    • ssl-cert: Recupera y muestra detalles del certificado SSL/TLS.

    • ssl-dh-params: Verifica la fuerza de los parámetros Diffie-Hellman utilizados por el servidor.

  • target-ip: Especifica la dirección IP del objetivo.

Ejemplo de Salida de Nmap

Starting Nmap 7.80 ( https://nmap.org ) at 2024-05-18 20:45 UTC
Nmap scan report for 192.168.1.80
Host is up (0.00021s latency).

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A
|     compressors:
|       NULL
|   TLSv1.3:
|     ciphers:
|       TLS_AES_256_GCM_SHA384 - A
|       TLS_AES_128_GCM_SHA256 - A
|       TLS_CHACHA20_POLY1305_SHA256 - A
|_  least strength: A
| ssl-cert: Subject: commonName=example.com/organizationName=Example Corp/stateOrProvinceName=CA/countryName=US
| Issuer: commonName=Example CA/organizationName=Example Cert Authority/stateOrProvinceName=CA/countryName=US
| Public Key type: RSA
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2024-04-01T00:00:00
| Not valid after:  2025-04-01T23:59:59
| MD5:   2d:4b:12:89:ef:23:45:67:8a:90:bc:de:f1:23:45:67
| SHA-1: 3a:34:2b:56:cd:78:ef:90:12:34:56:78:90:ab:cd:ef:12:34:56:78
|_SHA-256: 12:34:56:78:9a:bc:de:f1:23:45:67:8a:90:bc:de:f1:23:45:67:8a:90:bc:de:f1:23:45:67:8a:90:bc:de
|_ssl-dh-params: DH parameters appear to be safe

Nmap done: 1 IP address (1 host up) scanned in 5.92 seconds

Interpretación de la Salida

  • Host is up: Indica que el sistema objetivo está en línea y responde.

  • 443/tcp open https: El puerto 443 está abierto y el servicio HTTPS está activo.

  • ssl-enum-ciphers: Enumera los cifrados soportados por el servidor para las versiones TLSv1.2 y TLSv1.3.

    • TLSv1.2: Soporta cifrados fuertes como TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384.

    • TLSv1.3: Soporta cifrados modernos y seguros como TLS_AES_256_GCM_SHA384 y TLS_CHACHA20_POLY1305_SHA256.

  • ssl-cert: Proporciona detalles del certificado SSL/TLS.

    • Subject: El nombre común del certificado (example.com) y la organización (Example Corp).

    • Issuer: La entidad emisora del certificado (Example CA).

    • Public Key: Tipo y tamaño de la clave pública (RSA 2048 bits).

    • Validity: Fechas de validez del certificado (desde 2024-04-01 hasta 2025-04-01).

    • Hashes: Huellas digitales MD5, SHA-1 y SHA-256 del certificado.

  • ssl-dh-params: Verifica que los parámetros Diffie-Hellman utilizados sean seguros.

Última actualización