module

OpenSSL Alternative Chains Certificate Forgery MITM Proxy

Disclosed
07/09/2015
Created
05/30/2018

Description

This module exploits a logic error in OpenSSL by impersonating the server
and sending a specially-crafted chain of certificates, resulting in
certain checks on untrusted certificates to be bypassed on the client,
allowing it to use a valid leaf certificate as a CA certificate to sign a
fake certificate. The SSL/TLS session is then proxied to the server
allowing the session to continue normally and application data transmitted
between the peers to be saved.

The valid leaf certificate must not contain the keyUsage extension or it
must have at least the keyCertSign bit set (see X509_check_issued function
in crypto/x509v3/v3_purp.c); otherwise; X509_verify_cert fails with
X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY. This module requires an
active man-in-the-middle attack.

Authors

David BenjaminAdam LangleyRamon de C Valle

Module Options

To display the available options, load the module within the Metasploit console and run the commands ‘show options’ or ‘show advanced’:

    msf > use auxiliary/server/openssl_altchainsforgery_mitm_proxy
    msf /(y) > show actions
        ...actions...
    msf /(y) > set ACTION < action-name >
    msf /(y) > show options
        ...show and set options...
    msf /(y) > run
  
Title
NEW

Explore Exposure Command

Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.