module

OpenSSL Alternative Chains Certificate Forgery MITM Proxy

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

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 Benjamin
Adam Langley
Ramon de C Valle rcvalle@metasploit.com

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 auxiliary(openssl_altchainsforgery_mitm_proxy) > show actions
...actions...
msf auxiliary(openssl_altchainsforgery_mitm_proxy) > set ACTION < action-name >
msf auxiliary(openssl_altchainsforgery_mitm_proxy) > show options
...show and set options...
msf auxiliary(openssl_altchainsforgery_mitm_proxy) > 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.