mirror of
https://github.com/rapid7/metasploit-payloads
synced 2025-03-24 18:16:24 +01:00
143 lines
6.4 KiB
C
Executable File
143 lines
6.4 KiB
C
Executable File
#include "metsrv.h"
|
|
#include "../../common/common.h"
|
|
#include "ssl_lib_setup.h"
|
|
|
|
// OpenSSL lib includes which contain references to the functions
|
|
#include "openssl/ssl.h"
|
|
#include "openssl/rand.h"
|
|
#include "openssl/err.h"
|
|
#include "openssl/x509.h"
|
|
#include "openssl/x509v3.h"
|
|
|
|
void setup_ssl_lib(SslLib* sslLib)
|
|
{
|
|
dprintf("[SSL] setting up all SSL function pointers");
|
|
sslLib->RAND_status = RAND_status;
|
|
sslLib->RAND_add = RAND_add;
|
|
sslLib->RAND_egd = RAND_egd;
|
|
sslLib->ERR_get_state = ERR_get_state;
|
|
sslLib->ERR_reason_error_string = ERR_reason_error_string;
|
|
sslLib->ERR_clear_error = ERR_clear_error;
|
|
sslLib->ERR_peek_last_error = ERR_peek_last_error;
|
|
sslLib->SSL_get_current_compression = SSL_get_current_compression;
|
|
sslLib->SSL_get_ex_data = SSL_get_ex_data;
|
|
sslLib->SSL_set_SSL_CTX = SSL_set_SSL_CTX;
|
|
sslLib->SSL_get_SSL_CTX = SSL_get_SSL_CTX;
|
|
sslLib->SSL_CTX_load_verify_locations = SSL_CTX_load_verify_locations;
|
|
sslLib->SSL_CTX_set_default_verify_paths = SSL_CTX_set_default_verify_paths;
|
|
sslLib->SSL_get_shutdown = SSL_get_shutdown;
|
|
sslLib->SSL_library_init = SSL_library_init;
|
|
sslLib->SSL_set_accept_state = SSL_set_accept_state;
|
|
sslLib->SSL_set_connect_state = SSL_set_connect_state;
|
|
sslLib->SSL_shutdown = SSL_shutdown;
|
|
sslLib->SSL_do_handshake = SSL_do_handshake;
|
|
sslLib->TLSv1_method = TLSv1_method;
|
|
sslLib->SSLv23_method = SSLv23_method;
|
|
sslLib->SSLv3_method = SSLv3_method;
|
|
sslLib->SSLv2_method = SSLv2_method;
|
|
sslLib->SSL_get_version = SSL_get_version;
|
|
sslLib->SSL_get_error = SSL_get_error;
|
|
sslLib->SSL_CTX_callback_ctrl = SSL_CTX_callback_ctrl;
|
|
sslLib->SSL_CTX_ctrl = SSL_CTX_ctrl;
|
|
sslLib->SSL_free = SSL_free;
|
|
sslLib->SSL_read = SSL_read;
|
|
sslLib->SSL_write = SSL_write;
|
|
sslLib->SSL_new = SSL_new;
|
|
sslLib->SSL_CTX_set_session_id_context = SSL_CTX_set_session_id_context;
|
|
sslLib->SSL_CTX_check_private_key = SSL_CTX_check_private_key;
|
|
sslLib->SSL_CTX_set_default_passwd_cb = SSL_CTX_set_default_passwd_cb;
|
|
sslLib->SSL_CTX_set_default_passwd_cb_userdata = SSL_CTX_set_default_passwd_cb_userdata;
|
|
sslLib->SSL_set_ex_data = SSL_set_ex_data;
|
|
sslLib->SSL_ctrl = SSL_ctrl;
|
|
sslLib->SSL_CTX_set_verify = SSL_CTX_set_verify;
|
|
sslLib->SSL_CTX_get_verify_mode = SSL_CTX_get_verify_mode;
|
|
sslLib->SSL_get_peer_certificate = SSL_get_peer_certificate;
|
|
sslLib->SSL_load_error_strings = SSL_load_error_strings;
|
|
sslLib->SSL_CTX_use_certificate_chain_file = SSL_CTX_use_certificate_chain_file;
|
|
sslLib->SSL_CTX_use_PrivateKey_file = SSL_CTX_use_PrivateKey_file;
|
|
sslLib->SSL_set_read_ahead = SSL_set_read_ahead;
|
|
sslLib->SSL_get_wbio = SSL_get_wbio;
|
|
sslLib->SSL_get_rbio = SSL_get_rbio;
|
|
sslLib->SSL_set_fd = SSL_set_fd;
|
|
sslLib->SSL_pending = SSL_pending;
|
|
sslLib->SSL_CIPHER_get_version = SSL_CIPHER_get_version;
|
|
sslLib->SSL_CIPHER_get_name = SSL_CIPHER_get_name;
|
|
sslLib->SSL_CIPHER_get_bits = SSL_CIPHER_get_bits;
|
|
sslLib->SSL_get_current_cipher = SSL_get_current_cipher;
|
|
sslLib->SSL_CTX_get_cert_store = SSL_CTX_get_cert_store;
|
|
sslLib->SSL_CTX_free = SSL_CTX_free;
|
|
sslLib->SSL_CTX_new = SSL_CTX_new;
|
|
sslLib->SSL_CTX_set_cipher_list = SSL_CTX_set_cipher_list;
|
|
sslLib->SSL_get_finished = SSL_get_finished;
|
|
sslLib->SSL_get_peer_finished = SSL_get_peer_finished;
|
|
sslLib->SSL_get_servername = SSL_get_servername;
|
|
sslLib->PEM_read_bio = PEM_read_bio;
|
|
sslLib->PEM_read_bio_X509 = PEM_read_bio_X509;
|
|
sslLib->PEM_read_bio_X509_AUX = PEM_read_bio_X509_AUX;
|
|
sslLib->X509_check_ca = X509_check_ca;
|
|
sslLib->PEM_read_bio_DHparams = PEM_read_bio_DHparams;
|
|
sslLib->X509V3_EXT_get = X509V3_EXT_get;
|
|
sslLib->AUTHORITY_INFO_ACCESS_free = AUTHORITY_INFO_ACCESS_free;
|
|
sslLib->GENERAL_NAME_print = GENERAL_NAME_print;
|
|
sslLib->GENERAL_NAME_free = GENERAL_NAME_free;
|
|
sslLib->X509_add_ext = X509_add_ext;
|
|
sslLib->X509_get_ext_d2i = X509_get_ext_d2i;
|
|
sslLib->X509_get_ext_by_NID = X509_get_ext_by_NID;
|
|
sslLib->X509_NAME_ENTRY_get_object = X509_NAME_ENTRY_get_object;
|
|
sslLib->X509_NAME_ENTRY_get_data = X509_NAME_ENTRY_get_data;
|
|
sslLib->X509_NAME_get_entry = X509_NAME_get_entry;
|
|
sslLib->X509_NAME_entry_count = X509_NAME_entry_count;
|
|
sslLib->X509_get_subject_name = X509_get_subject_name;
|
|
sslLib->X509_get_serialNumber = X509_get_serialNumber;
|
|
sslLib->X509_get_ext = X509_get_ext;
|
|
sslLib->X509_get_issuer_name = X509_get_issuer_name;
|
|
sslLib->i2d_X509 = i2d_X509;
|
|
sslLib->X509_free = X509_free;
|
|
sslLib->sk_value = sk_value;
|
|
sslLib->sk_num = sk_num;
|
|
sslLib->sk_pop_free = sk_pop_free;
|
|
sslLib->SSLeay_version = SSLeay_version;
|
|
sslLib->SSLeay = SSLeay;
|
|
sslLib->CRYPTO_num_locks = CRYPTO_num_locks;
|
|
sslLib->CRYPTO_set_locking_callback = CRYPTO_set_locking_callback;
|
|
sslLib->CRYPTO_set_id_callback = CRYPTO_set_id_callback;
|
|
sslLib->CRYPTO_free = CRYPTO_free;
|
|
sslLib->BIO_s_file = BIO_s_file;
|
|
sslLib->BIO_new_file = BIO_new_file;
|
|
sslLib->BIO_new = BIO_new;
|
|
sslLib->BIO_free = BIO_free;
|
|
sslLib->BIO_gets = BIO_gets;
|
|
sslLib->BIO_ctrl = BIO_ctrl;
|
|
sslLib->BIO_s_mem = BIO_s_mem;
|
|
sslLib->BIO_new_mem_buf = BIO_new_mem_buf;
|
|
sslLib->ASN1_OBJECT_free = ASN1_OBJECT_free;
|
|
sslLib->ASN1_STRING_length = ASN1_STRING_length;
|
|
sslLib->ASN1_STRING_data = ASN1_STRING_data;
|
|
sslLib->i2a_ASN1_INTEGER = i2a_ASN1_INTEGER;
|
|
sslLib->ASN1_INTEGER_get = ASN1_INTEGER_get;
|
|
sslLib->ASN1_STRING_to_UTF8 = ASN1_STRING_to_UTF8;
|
|
sslLib->ASN1_TIME_print = ASN1_TIME_print;
|
|
sslLib->ASN1_item_d2i = ASN1_item_d2i;
|
|
sslLib->OBJ_nid2obj = OBJ_nid2obj;
|
|
sslLib->OBJ_nid2ln = OBJ_nid2ln;
|
|
sslLib->OBJ_nid2sn = OBJ_nid2sn;
|
|
sslLib->OBJ_obj2nid = OBJ_obj2nid;
|
|
sslLib->OBJ_txt2obj = OBJ_txt2obj;
|
|
sslLib->OBJ_obj2txt = OBJ_obj2txt;
|
|
sslLib->OBJ_sn2nid = OBJ_sn2nid;
|
|
sslLib->OPENSSL_add_all_algorithms_noconf = OPENSSL_add_all_algorithms_noconf;
|
|
sslLib->EC_KEY_new_by_curve_name = EC_KEY_new_by_curve_name;
|
|
sslLib->EC_KEY_free = EC_KEY_free;
|
|
sslLib->DH_free = DH_free;
|
|
sslLib->X509_STORE_add_cert = X509_STORE_add_cert;
|
|
sslLib->X509_VERIFY_PARAM_set_flags = X509_VERIFY_PARAM_set_flags;
|
|
sslLib->X509_VERIFY_PARAM_clear_flags = X509_VERIFY_PARAM_clear_flags;
|
|
sslLib->X509_VERIFY_PARAM_get_flags = X509_VERIFY_PARAM_get_flags;
|
|
sslLib->d2i_X509_bio = d2i_X509_bio;
|
|
sslLib->X509_get_default_cert_dir = X509_get_default_cert_dir;
|
|
sslLib->X509_get_default_cert_file = X509_get_default_cert_file;
|
|
sslLib->X509_get_default_cert_dir_env = X509_get_default_cert_dir_env;
|
|
sslLib->X509_get_default_cert_file_env = X509_get_default_cert_file_env;
|
|
dprintf("[SSL] function pointers configured");
|
|
}
|