Files
metasploit-gs/api/Msf/Exploit/Remote/MsIcpr.html
T
jenkins-metasploit c3f5bd3de2 Reboot gh-pages
2026-05-08 17:08:43 +00:00

801 lines
64 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Module: Msf::Exploit::Remote::MsIcpr
&mdash; Documentation by YARD 0.9.37
</title>
<link rel="stylesheet" href="../../../css/style.css" type="text/css" />
<link rel="stylesheet" href="../../../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "Msf::Exploit::Remote::MsIcpr";
relpath = '../../../';
</script>
<script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../../../class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../../../_index.html">Index (M)</a> &raquo;
<span class='title'><span class='object_link'><a href="../../../Msf.html" title="Msf (module)">Msf</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../Exploit.html" title="Msf::Exploit (class)">Exploit</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Remote.html" title="Msf::Exploit::Remote (class)">Remote</a></span></span>
&raquo;
<span class="title">MsIcpr</span>
</div>
<div id="search">
<a class="full_list_link" id="class_list_link"
href="../../../class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Module: Msf::Exploit::Remote::MsIcpr
</h1>
<div class="box_info">
<dl>
<dt>Includes:</dt>
<dd><span class='object_link'><a href="CertRequest.html" title="Msf::Exploit::Remote::CertRequest (module)">CertRequest</a></span>, <span class='object_link'><a href="DCERPC.html" title="Msf::Exploit::Remote::DCERPC (module)">DCERPC</a></span>, <span class='object_link'><a href="LDAP/ActiveDirectory/AdCsOpts.html" title="Msf::Exploit::Remote::LDAP::ActiveDirectory::AdCsOpts (module)">LDAP::ActiveDirectory::AdCsOpts</a></span>, <span class='object_link'><a href="SMB/Client/Ipc.html" title="Msf::Exploit::Remote::SMB::Client::Ipc (module)">SMB::Client::Ipc</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>lib/msf/core/exploit/remote/ms_icpr.rb</dd>
</dl>
</div>
<h2>Defined Under Namespace</h2>
<p class="children">
<strong class="classes">Classes:</strong> <span class='object_link'><a href="MsIcpr/MsIcprAuthenticationError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprAuthenticationError (class)">MsIcprAuthenticationError</a></span>, <span class='object_link'><a href="MsIcpr/MsIcprAuthorizationError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprAuthorizationError (class)">MsIcprAuthorizationError</a></span>, <span class='object_link'><a href="MsIcpr/MsIcprConnectionError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprConnectionError (class)">MsIcprConnectionError</a></span>, <span class='object_link'><a href="MsIcpr/MsIcprError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprError (class)">MsIcprError</a></span>, <span class='object_link'><a href="MsIcpr/MsIcprNotFoundError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprNotFoundError (class)">MsIcprNotFoundError</a></span>, <span class='object_link'><a href="MsIcpr/MsIcprUnexpectedReplyError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprUnexpectedReplyError (class)">MsIcprUnexpectedReplyError</a></span>, <span class='object_link'><a href="MsIcpr/MsIcprUnknownError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprUnknownError (class)">MsIcprUnknownError</a></span>
</p>
<h2>
Constant Summary
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
</h2>
<dl class="constants">
<dt id="ADCS_CA_SERVICE_NAME-constant" class="">ADCS_CA_SERVICE_NAME =
</dt>
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>adcs-ca</span><span class='tstring_end'>&#39;</span></span></pre></dd>
</dl>
<h3 class="inherited">Constants included
from <span class='object_link'><a href="DCERPC.html" title="Msf::Exploit::Remote::DCERPC (module)">DCERPC</a></span></h3>
<p class="inherited"><span class='object_link'><a href="DCERPC.html#DCERPCClient-constant" title="Msf::Exploit::Remote::DCERPC::DCERPCClient (constant)">DCERPC::DCERPCClient</a></span>, <span class='object_link'><a href="DCERPC.html#DCERPCPacket-constant" title="Msf::Exploit::Remote::DCERPC::DCERPCPacket (constant)">DCERPC::DCERPCPacket</a></span>, <span class='object_link'><a href="DCERPC.html#DCERPCResponse-constant" title="Msf::Exploit::Remote::DCERPC::DCERPCResponse (constant)">DCERPC::DCERPCResponse</a></span>, <span class='object_link'><a href="DCERPC.html#DCERPCUUID-constant" title="Msf::Exploit::Remote::DCERPC::DCERPCUUID (constant)">DCERPC::DCERPCUUID</a></span>, <span class='object_link'><a href="DCERPC.html#NDR-constant" title="Msf::Exploit::Remote::DCERPC::NDR (constant)">DCERPC::NDR</a></span></p>
<h3 class="inherited">Constants included
from <span class='object_link'><a href="DCERPC_LSA.html" title="Msf::Exploit::Remote::DCERPC_LSA (module)">DCERPC_LSA</a></span></h3>
<p class="inherited"><span class='object_link'><a href="DCERPC_LSA.html#NDR-constant" title="Msf::Exploit::Remote::DCERPC_LSA::NDR (constant)">DCERPC_LSA::NDR</a></span></p>
<h3 class="inherited">Constants included
from <span class='object_link'><a href="DCERPC_MGMT.html" title="Msf::Exploit::Remote::DCERPC_MGMT (module)">DCERPC_MGMT</a></span></h3>
<p class="inherited"><span class='object_link'><a href="DCERPC_MGMT.html#NDR-constant" title="Msf::Exploit::Remote::DCERPC_MGMT::NDR (constant)">DCERPC_MGMT::NDR</a></span></p>
<h3 class="inherited">Constants included
from <span class='object_link'><a href="SMB/Client.html" title="Msf::Exploit::Remote::SMB::Client (module)">SMB::Client</a></span></h3>
<p class="inherited"><span class='object_link'><a href="SMB/Client.html#CONST-constant" title="Msf::Exploit::Remote::SMB::Client::CONST (constant)">SMB::Client::CONST</a></span>, <span class='object_link'><a href="SMB/Client.html#DCERPCClient-constant" title="Msf::Exploit::Remote::SMB::Client::DCERPCClient (constant)">SMB::Client::DCERPCClient</a></span>, <span class='object_link'><a href="SMB/Client.html#DCERPCPacket-constant" title="Msf::Exploit::Remote::SMB::Client::DCERPCPacket (constant)">SMB::Client::DCERPCPacket</a></span>, <span class='object_link'><a href="SMB/Client.html#DCERPCResponse-constant" title="Msf::Exploit::Remote::SMB::Client::DCERPCResponse (constant)">SMB::Client::DCERPCResponse</a></span>, <span class='object_link'><a href="SMB/Client.html#DCERPCUUID-constant" title="Msf::Exploit::Remote::SMB::Client::DCERPCUUID (constant)">SMB::Client::DCERPCUUID</a></span>, <span class='object_link'><a href="SMB/Client.html#NDR-constant" title="Msf::Exploit::Remote::SMB::Client::NDR (constant)">SMB::Client::NDR</a></span>, <span class='object_link'><a href="SMB/Client.html#SIMPLE-constant" title="Msf::Exploit::Remote::SMB::Client::SIMPLE (constant)">SMB::Client::SIMPLE</a></span>, <span class='object_link'><a href="SMB/Client.html#XCEPT-constant" title="Msf::Exploit::Remote::SMB::Client::XCEPT (constant)">SMB::Client::XCEPT</a></span></p>
<h2>Instance Attribute Summary</h2>
<h3 class="inherited">Attributes included from <span class='object_link'><a href="DCERPC.html" title="Msf::Exploit::Remote::DCERPC (module)">DCERPC</a></span></h3>
<p class="inherited"><span class='object_link'><a href="DCERPC.html#dcerpc-instance_method" title="Msf::Exploit::Remote::DCERPC#dcerpc (method)">#dcerpc</a></span>, <span class='object_link'><a href="DCERPC.html#handle-instance_method" title="Msf::Exploit::Remote::DCERPC#handle (method)">#handle</a></span></p>
<h3 class="inherited">Attributes included from <span class='object_link'><a href="Tcp.html" title="Msf::Exploit::Remote::Tcp (module)">Tcp</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Tcp.html#sock-instance_method" title="Msf::Exploit::Remote::Tcp#sock (method)">#sock</a></span></p>
<h3 class="inherited">Attributes included from <span class='object_link'><a href="SMB/Client.html" title="Msf::Exploit::Remote::SMB::Client (module)">SMB::Client</a></span></h3>
<p class="inherited"><span class='object_link'><a href="SMB/Client.html#simple-instance_method" title="Msf::Exploit::Remote::SMB::Client#simple (method)">#simple</a></span></p>
<h2>
Class Method Summary
<small><a href="#" class="summary_toggle">collapse</a></small>
</h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#connect_icpr-class_method" title="connect_icpr (class method)">.<strong>connect_icpr</strong>(tree) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#do_request_cert-class_method" title="do_request_cert (class method)">.<strong>do_request_cert</strong>(icpr, opts, csr, attributes) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#report_icertpassage_service-class_method" title="report_icertpassage_service (class method)">.<strong>report_icertpassage_service</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
</ul>
<h2>
Instance Method Summary
<small><a href="#" class="summary_toggle">collapse</a></small>
</h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#icpr_request_certificate-instance_method" title="#icpr_request_certificate (instance method)">#<strong>icpr_request_certificate</strong>(opts = {}) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(info = {}) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
</ul>
<h3 class="inherited">Methods included from <span class='object_link'><a href="LDAP/ActiveDirectory/AdCsOpts.html" title="Msf::Exploit::Remote::LDAP::ActiveDirectory::AdCsOpts (module)">LDAP::ActiveDirectory::AdCsOpts</a></span></h3>
<p class="inherited"><span class='object_link'><a href="LDAP/ActiveDirectory/AdCsOpts.html#validate-instance_method" title="Msf::Exploit::Remote::LDAP::ActiveDirectory::AdCsOpts#validate (method)">#validate</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="CertRequest.html" title="Msf::Exploit::Remote::CertRequest (module)">CertRequest</a></span></h3>
<p class="inherited"><span class='object_link'><a href="CertRequest.html#create_csr-instance_method" title="Msf::Exploit::Remote::CertRequest#create_csr (method)">#create_csr</a></span>, <span class='object_link'><a href="CertRequest.html#get_cert_msext_sid-instance_method" title="Msf::Exploit::Remote::CertRequest#get_cert_msext_sid (method)">#get_cert_msext_sid</a></span>, <span class='object_link'><a href="CertRequest.html#get_cert_msext_upn-instance_method" title="Msf::Exploit::Remote::CertRequest#get_cert_msext_upn (method)">#get_cert_msext_upn</a></span>, <span class='object_link'><a href="CertRequest.html#get_cert_policy_oids-instance_method" title="Msf::Exploit::Remote::CertRequest#get_cert_policy_oids (method)">#get_cert_policy_oids</a></span>, <span class='object_link'><a href="CertRequest.html#get_cert_san-instance_method" title="Msf::Exploit::Remote::CertRequest#get_cert_san (method)">#get_cert_san</a></span>, <span class='object_link'><a href="CertRequest.html#get_cert_san_dns-instance_method" title="Msf::Exploit::Remote::CertRequest#get_cert_san_dns (method)">#get_cert_san_dns</a></span>, <span class='object_link'><a href="CertRequest.html#get_cert_san_email-instance_method" title="Msf::Exploit::Remote::CertRequest#get_cert_san_email (method)">#get_cert_san_email</a></span>, <span class='object_link'><a href="CertRequest.html#get_cert_san_uri-instance_method" title="Msf::Exploit::Remote::CertRequest#get_cert_san_uri (method)">#get_cert_san_uri</a></span>, <span class='object_link'><a href="CertRequest.html#with_adcs_certificate_request-instance_method" title="Msf::Exploit::Remote::CertRequest#with_adcs_certificate_request (method)">#with_adcs_certificate_request</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="DCERPC.html" title="Msf::Exploit::Remote::DCERPC (module)">DCERPC</a></span></h3>
<p class="inherited"><span class='object_link'><a href="DCERPC.html#dcerpc_bind-instance_method" title="Msf::Exploit::Remote::DCERPC#dcerpc_bind (method)">#dcerpc_bind</a></span>, <span class='object_link'><a href="DCERPC.html#dcerpc_call-instance_method" title="Msf::Exploit::Remote::DCERPC#dcerpc_call (method)">#dcerpc_call</a></span>, <span class='object_link'><a href="DCERPC.html#dcerpc_getarch-instance_method" title="Msf::Exploit::Remote::DCERPC#dcerpc_getarch (method)">#dcerpc_getarch</a></span>, <span class='object_link'><a href="DCERPC.html#dcerpc_handle-instance_method" title="Msf::Exploit::Remote::DCERPC#dcerpc_handle (method)">#dcerpc_handle</a></span>, <span class='object_link'><a href="DCERPC.html#dcerpc_handle_target-instance_method" title="Msf::Exploit::Remote::DCERPC#dcerpc_handle_target (method)">#dcerpc_handle_target</a></span>, <span class='object_link'><a href="DCERPC.html#unicode-instance_method" title="Msf::Exploit::Remote::DCERPC#unicode (method)">#unicode</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="DCERPC_LSA.html" title="Msf::Exploit::Remote::DCERPC_LSA (module)">DCERPC_LSA</a></span></h3>
<p class="inherited"><span class='object_link'><a href="DCERPC_LSA.html#lsa_open_policy-instance_method" title="Msf::Exploit::Remote::DCERPC_LSA#lsa_open_policy (method)">#lsa_open_policy</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="DCERPC_MGMT.html" title="Msf::Exploit::Remote::DCERPC_MGMT (module)">DCERPC_MGMT</a></span></h3>
<p class="inherited"><span class='object_link'><a href="DCERPC_MGMT.html#dcerpc_mgmt_connect-instance_method" title="Msf::Exploit::Remote::DCERPC_MGMT#dcerpc_mgmt_connect (method)">#dcerpc_mgmt_connect</a></span>, <span class='object_link'><a href="DCERPC_MGMT.html#dcerpc_mgmt_inq_if_ids-instance_method" title="Msf::Exploit::Remote::DCERPC_MGMT#dcerpc_mgmt_inq_if_ids (method)">#dcerpc_mgmt_inq_if_ids</a></span>, <span class='object_link'><a href="DCERPC_MGMT.html#dcerpc_mgmt_inq_if_stats-instance_method" title="Msf::Exploit::Remote::DCERPC_MGMT#dcerpc_mgmt_inq_if_stats (method)">#dcerpc_mgmt_inq_if_stats</a></span>, <span class='object_link'><a href="DCERPC_MGMT.html#dcerpc_mgmt_inq_princ_name-instance_method" title="Msf::Exploit::Remote::DCERPC_MGMT#dcerpc_mgmt_inq_princ_name (method)">#dcerpc_mgmt_inq_princ_name</a></span>, <span class='object_link'><a href="DCERPC_MGMT.html#dcerpc_mgmt_is_server_listening-instance_method" title="Msf::Exploit::Remote::DCERPC_MGMT#dcerpc_mgmt_is_server_listening (method)">#dcerpc_mgmt_is_server_listening</a></span>, <span class='object_link'><a href="DCERPC_MGMT.html#dcerpc_mgmt_stop_server_listening-instance_method" title="Msf::Exploit::Remote::DCERPC_MGMT#dcerpc_mgmt_stop_server_listening (method)">#dcerpc_mgmt_stop_server_listening</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="DCERPC_EPM.html" title="Msf::Exploit::Remote::DCERPC_EPM (module)">DCERPC_EPM</a></span></h3>
<p class="inherited"><span class='object_link'><a href="DCERPC_EPM.html#dcerpc_endpoint_find_tcp-instance_method" title="Msf::Exploit::Remote::DCERPC_EPM#dcerpc_endpoint_find_tcp (method)">#dcerpc_endpoint_find_tcp</a></span>, <span class='object_link'><a href="DCERPC_EPM.html#dcerpc_endpoint_find_udp-instance_method" title="Msf::Exploit::Remote::DCERPC_EPM#dcerpc_endpoint_find_udp (method)">#dcerpc_endpoint_find_udp</a></span>, <span class='object_link'><a href="DCERPC_EPM.html#dcerpc_endpoint_list-instance_method" title="Msf::Exploit::Remote::DCERPC_EPM#dcerpc_endpoint_list (method)">#dcerpc_endpoint_list</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Tcp.html" title="Msf::Exploit::Remote::Tcp (module)">Tcp</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Tcp.html#chost-instance_method" title="Msf::Exploit::Remote::Tcp#chost (method)">#chost</a></span>, <span class='object_link'><a href="Tcp.html#cleanup-instance_method" title="Msf::Exploit::Remote::Tcp#cleanup (method)">#cleanup</a></span>, <span class='object_link'><a href="Tcp.html#connect-instance_method" title="Msf::Exploit::Remote::Tcp#connect (method)">#connect</a></span>, <span class='object_link'><a href="Tcp.html#connect_timeout-instance_method" title="Msf::Exploit::Remote::Tcp#connect_timeout (method)">#connect_timeout</a></span>, <span class='object_link'><a href="Tcp.html#cport-instance_method" title="Msf::Exploit::Remote::Tcp#cport (method)">#cport</a></span>, <span class='object_link'><a href="Tcp.html#disconnect-instance_method" title="Msf::Exploit::Remote::Tcp#disconnect (method)">#disconnect</a></span>, <span class='object_link'><a href="Tcp.html#handler-instance_method" title="Msf::Exploit::Remote::Tcp#handler (method)">#handler</a></span>, <span class='object_link'><a href="Tcp.html#lhost-instance_method" title="Msf::Exploit::Remote::Tcp#lhost (method)">#lhost</a></span>, <span class='object_link'><a href="Tcp.html#lport-instance_method" title="Msf::Exploit::Remote::Tcp#lport (method)">#lport</a></span>, <span class='object_link'><a href="Tcp.html#peer-instance_method" title="Msf::Exploit::Remote::Tcp#peer (method)">#peer</a></span>, <span class='object_link'><a href="Tcp.html#print_prefix-instance_method" title="Msf::Exploit::Remote::Tcp#print_prefix (method)">#print_prefix</a></span>, <span class='object_link'><a href="Tcp.html#proxies-instance_method" title="Msf::Exploit::Remote::Tcp#proxies (method)">#proxies</a></span>, <span class='object_link'><a href="Tcp.html#replicant-instance_method" title="Msf::Exploit::Remote::Tcp#replicant (method)">#replicant</a></span>, <span class='object_link'><a href="Tcp.html#rhost-instance_method" title="Msf::Exploit::Remote::Tcp#rhost (method)">#rhost</a></span>, <span class='object_link'><a href="Tcp.html#rport-instance_method" title="Msf::Exploit::Remote::Tcp#rport (method)">#rport</a></span>, <span class='object_link'><a href="Tcp.html#set_tcp_evasions-instance_method" title="Msf::Exploit::Remote::Tcp#set_tcp_evasions (method)">#set_tcp_evasions</a></span>, <span class='object_link'><a href="Tcp.html#shutdown-instance_method" title="Msf::Exploit::Remote::Tcp#shutdown (method)">#shutdown</a></span>, <span class='object_link'><a href="Tcp.html#ssl-instance_method" title="Msf::Exploit::Remote::Tcp#ssl (method)">#ssl</a></span>, <span class='object_link'><a href="Tcp.html#ssl_cipher-instance_method" title="Msf::Exploit::Remote::Tcp#ssl_cipher (method)">#ssl_cipher</a></span>, <span class='object_link'><a href="Tcp.html#ssl_verify_mode-instance_method" title="Msf::Exploit::Remote::Tcp#ssl_verify_mode (method)">#ssl_verify_mode</a></span>, <span class='object_link'><a href="Tcp.html#ssl_version-instance_method" title="Msf::Exploit::Remote::Tcp#ssl_version (method)">#ssl_version</a></span>, <span class='object_link'><a href="Tcp.html#sslkeylogfile-instance_method" title="Msf::Exploit::Remote::Tcp#sslkeylogfile (method)">#sslkeylogfile</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="SMB/Client/Ipc.html" title="Msf::Exploit::Remote::SMB::Client::Ipc (module)">SMB::Client::Ipc</a></span></h3>
<p class="inherited"><span class='object_link'><a href="SMB/Client/Ipc.html#connect_ipc-class_method" title="Msf::Exploit::Remote::SMB::Client::Ipc.connect_ipc (method)">connect_ipc</a></span>, <span class='object_link'><a href="SMB/Client/Ipc.html#disconnect_ipc-class_method" title="Msf::Exploit::Remote::SMB::Client::Ipc.disconnect_ipc (method)">disconnect_ipc</a></span>, <span class='object_link'><a href="SMB/Client/Ipc.html#report_dcerpc_service-class_method" title="Msf::Exploit::Remote::SMB::Client::Ipc.report_dcerpc_service (method)">report_dcerpc_service</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="../../Auxiliary/Report.html" title="Msf::Auxiliary::Report (module)">Auxiliary::Report</a></span></h3>
<p class="inherited"><span class='object_link'><a href="../../Auxiliary/Report.html#active_db%3F-instance_method" title="Msf::Auxiliary::Report#active_db? (method)">#active_db?</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#create_cracked_credential-instance_method" title="Msf::Auxiliary::Report#create_cracked_credential (method)">#create_cracked_credential</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#create_credential-instance_method" title="Msf::Auxiliary::Report#create_credential (method)">#create_credential</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#create_credential_and_login-instance_method" title="Msf::Auxiliary::Report#create_credential_and_login (method)">#create_credential_and_login</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#create_credential_login-instance_method" title="Msf::Auxiliary::Report#create_credential_login (method)">#create_credential_login</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#db-instance_method" title="Msf::Auxiliary::Report#db (method)">#db</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#db_warning_given%3F-instance_method" title="Msf::Auxiliary::Report#db_warning_given? (method)">#db_warning_given?</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#get_client-instance_method" title="Msf::Auxiliary::Report#get_client (method)">#get_client</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#get_host-instance_method" title="Msf::Auxiliary::Report#get_host (method)">#get_host</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#inside_workspace_boundary%3F-instance_method" title="Msf::Auxiliary::Report#inside_workspace_boundary? (method)">#inside_workspace_boundary?</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#invalidate_login-instance_method" title="Msf::Auxiliary::Report#invalidate_login (method)">#invalidate_login</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#mytask-instance_method" title="Msf::Auxiliary::Report#mytask (method)">#mytask</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#myworkspace-instance_method" title="Msf::Auxiliary::Report#myworkspace (method)">#myworkspace</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#myworkspace_id-instance_method" title="Msf::Auxiliary::Report#myworkspace_id (method)">#myworkspace_id</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#report_auth_info-instance_method" title="Msf::Auxiliary::Report#report_auth_info (method)">#report_auth_info</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#report_client-instance_method" title="Msf::Auxiliary::Report#report_client (method)">#report_client</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#report_exploit-instance_method" title="Msf::Auxiliary::Report#report_exploit (method)">#report_exploit</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#report_host-instance_method" title="Msf::Auxiliary::Report#report_host (method)">#report_host</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#report_loot-instance_method" title="Msf::Auxiliary::Report#report_loot (method)">#report_loot</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#report_note-instance_method" title="Msf::Auxiliary::Report#report_note (method)">#report_note</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#report_service-instance_method" title="Msf::Auxiliary::Report#report_service (method)">#report_service</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#report_vuln-instance_method" title="Msf::Auxiliary::Report#report_vuln (method)">#report_vuln</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#report_web_form-instance_method" title="Msf::Auxiliary::Report#report_web_form (method)">#report_web_form</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#report_web_page-instance_method" title="Msf::Auxiliary::Report#report_web_page (method)">#report_web_page</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#report_web_site-instance_method" title="Msf::Auxiliary::Report#report_web_site (method)">#report_web_site</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#report_web_vuln-instance_method" title="Msf::Auxiliary::Report#report_web_vuln (method)">#report_web_vuln</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#store_cred-instance_method" title="Msf::Auxiliary::Report#store_cred (method)">#store_cred</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#store_local-instance_method" title="Msf::Auxiliary::Report#store_local (method)">#store_local</a></span>, <span class='object_link'><a href="../../Auxiliary/Report.html#store_loot-instance_method" title="Msf::Auxiliary::Report#store_loot (method)">#store_loot</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="../../../Metasploit/Framework/Require.html" title="Metasploit::Framework::Require (module)">Metasploit::Framework::Require</a></span></h3>
<p class="inherited"><span class='object_link'><a href="../../../Metasploit/Framework/Require.html#optionally-class_method" title="Metasploit::Framework::Require.optionally (method)">optionally</a></span>, <span class='object_link'><a href="../../../Metasploit/Framework/Require.html#optionally_active_record_railtie-class_method" title="Metasploit::Framework::Require.optionally_active_record_railtie (method)">optionally_active_record_railtie</a></span>, <span class='object_link'><a href="../../../Metasploit/Framework/Require.html#optionally_include_metasploit_credential_creation-class_method" title="Metasploit::Framework::Require.optionally_include_metasploit_credential_creation (method)">optionally_include_metasploit_credential_creation</a></span>, <span class='object_link'><a href="../../../Metasploit/Framework/Require.html#optionally_include_metasploit_credential_creation-instance_method" title="Metasploit::Framework::Require#optionally_include_metasploit_credential_creation (method)">#optionally_include_metasploit_credential_creation</a></span>, <span class='object_link'><a href="../../../Metasploit/Framework/Require.html#optionally_require_metasploit_db_gem_engines-class_method" title="Metasploit::Framework::Require.optionally_require_metasploit_db_gem_engines (method)">optionally_require_metasploit_db_gem_engines</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Kerberos/ServiceAuthenticator/Options.html" title="Msf::Exploit::Remote::Kerberos::ServiceAuthenticator::Options (module)">Kerberos::ServiceAuthenticator::Options</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Kerberos/ServiceAuthenticator/Options.html#kerberos_auth_options-instance_method" title="Msf::Exploit::Remote::Kerberos::ServiceAuthenticator::Options#kerberos_auth_options (method)">#kerberos_auth_options</a></span>, <span class='object_link'><a href="Kerberos/ServiceAuthenticator/Options.html#kerberos_clock_skew_seconds-instance_method" title="Msf::Exploit::Remote::Kerberos::ServiceAuthenticator::Options#kerberos_clock_skew_seconds (method)">#kerberos_clock_skew_seconds</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Kerberos/Ticket/Storage.html" title="Msf::Exploit::Remote::Kerberos::Ticket::Storage (module)">Kerberos::Ticket::Storage</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Kerberos/Ticket/Storage.html#kerberos_storage_options-instance_method" title="Msf::Exploit::Remote::Kerberos::Ticket::Storage#kerberos_storage_options (method)">#kerberos_storage_options</a></span>, <span class='object_link'><a href="Kerberos/Ticket/Storage.html#kerberos_ticket_storage-instance_method" title="Msf::Exploit::Remote::Kerberos::Ticket::Storage#kerberos_ticket_storage (method)">#kerberos_ticket_storage</a></span>, <span class='object_link'><a href="Kerberos/Ticket/Storage.html#store_ccache-class_method" title="Msf::Exploit::Remote::Kerberos::Ticket::Storage.store_ccache (method)">store_ccache</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="SMB/Client.html" title="Msf::Exploit::Remote::SMB::Client (module)">SMB::Client</a></span></h3>
<p class="inherited"><span class='object_link'><a href="SMB/Client.html#connect-instance_method" title="Msf::Exploit::Remote::SMB::Client#connect (method)">#connect</a></span>, <span class='object_link'><a href="SMB/Client.html#domain-instance_method" title="Msf::Exploit::Remote::SMB::Client#domain (method)">#domain</a></span>, <span class='object_link'><a href="SMB/Client.html#domain_username_split-instance_method" title="Msf::Exploit::Remote::SMB::Client#domain_username_split (method)">#domain_username_split</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_create-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_create (method)">#smb_create</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_direct-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_direct (method)">#smb_direct</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_enumprinters-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_enumprinters (method)">#smb_enumprinters</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_enumprintproviders-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_enumprintproviders (method)">#smb_enumprintproviders</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_file_exist%3F-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_file_exist? (method)">#smb_file_exist?</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_file_rm-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_file_rm (method)">#smb_file_rm</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_fingerprint-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_fingerprint (method)">#smb_fingerprint</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_fingerprint_windows_lang-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_fingerprint_windows_lang (method)">#smb_fingerprint_windows_lang</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_fingerprint_windows_sp-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_fingerprint_windows_sp (method)">#smb_fingerprint_windows_sp</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_hostname-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_hostname (method)">#smb_hostname</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_lanman_netshareenumall-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_lanman_netshareenumall (method)">#smb_lanman_netshareenumall</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_login-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_login (method)">#smb_login</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_lookup_share_type-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_lookup_share_type (method)">#smb_lookup_share_type</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_netshareenumall-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_netshareenumall (method)">#smb_netshareenumall</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_netsharegetinfo-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_netsharegetinfo (method)">#smb_netsharegetinfo</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_open-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_open (method)">#smb_open</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_peer_lm-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_peer_lm (method)">#smb_peer_lm</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_peer_os-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_peer_os (method)">#smb_peer_os</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_srvsvc_netshareenumall-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_srvsvc_netshareenumall (method)">#smb_srvsvc_netshareenumall</a></span>, <span class='object_link'><a href="SMB/Client.html#smb_srvsvc_netsharegetinfo-instance_method" title="Msf::Exploit::Remote::SMB::Client#smb_srvsvc_netsharegetinfo (method)">#smb_srvsvc_netsharegetinfo</a></span>, <span class='object_link'><a href="SMB/Client.html#smbhost-instance_method" title="Msf::Exploit::Remote::SMB::Client#smbhost (method)">#smbhost</a></span>, <span class='object_link'><a href="SMB/Client.html#splitname-instance_method" title="Msf::Exploit::Remote::SMB::Client#splitname (method)">#splitname</a></span>, <span class='object_link'><a href="SMB/Client.html#unicode-instance_method" title="Msf::Exploit::Remote::SMB::Client#unicode (method)">#unicode</a></span></p>
<div id="class_method_details" class="method_details_list">
<h2>Class Method Details</h2>
<div class="method_details first">
<h3 class="signature first" id="connect_icpr-class_method">
.<strong>connect_icpr</strong>(tree) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/ms_icpr.rb', line 80</span>
<span class='kw'>def</span> <span class='id identifier rubyid_connect_icpr'>connect_icpr</span><span class='lparen'>(</span><span class='id identifier rubyid_tree'>tree</span><span class='rparen'>)</span>
<span class='id identifier rubyid_vprint_status'>vprint_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Connecting to ICertPassage (ICPR) Remote Protocol</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_icpr'>icpr</span> <span class='op'>=</span> <span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_open_file'>open_file</span><span class='lparen'>(</span><span class='label'>filename:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>cert</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='label'>write:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>read:</span> <span class='kw'>true</span><span class='rparen'>)</span>
<span class='id identifier rubyid_vprint_status'>vprint_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Binding to \\cert...</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_icpr'>icpr</span><span class='period'>.</span><span class='id identifier rubyid_bind'>bind</span><span class='lparen'>(</span>
<span class='label'>endpoint:</span> <span class='const'>RubySMB</span><span class='op'>::</span><span class='const'>Dcerpc</span><span class='op'>::</span><span class='const'>Icpr</span><span class='comma'>,</span>
<span class='label'>auth_level:</span> <span class='const'>RubySMB</span><span class='op'>::</span><span class='const'>Dcerpc</span><span class='op'>::</span><span class='const'>RPC_C_AUTHN_LEVEL_PKT_PRIVACY</span><span class='comma'>,</span>
<span class='label'>auth_type:</span> <span class='const'>RubySMB</span><span class='op'>::</span><span class='const'>Dcerpc</span><span class='op'>::</span><span class='const'>RPC_C_AUTHN_WINNT</span>
<span class='rparen'>)</span>
<span class='id identifier rubyid_vprint_good'>vprint_good</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Bound to \\cert</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_report_icertpassage_service'>report_icertpassage_service</span>
<span class='id identifier rubyid_icpr'>icpr</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="do_request_cert-class_method">
.<strong>do_request_cert</strong>(icpr, opts, csr, attributes) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/ms_icpr.rb', line 97</span>
<span class='kw'>def</span> <span class='id identifier rubyid_do_request_cert'>do_request_cert</span><span class='lparen'>(</span><span class='id identifier rubyid_icpr'>icpr</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span> <span class='id identifier rubyid_csr'>csr</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
<span class='id identifier rubyid_response'>response</span> <span class='op'>=</span> <span class='id identifier rubyid_icpr'>icpr</span><span class='period'>.</span><span class='id identifier rubyid_cert_server_request'>cert_server_request</span><span class='lparen'>(</span>
<span class='label'>attributes:</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='comma'>,</span>
<span class='label'>authority:</span> <span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>CA</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
<span class='label'>csr:</span> <span class='id identifier rubyid_csr'>csr</span>
<span class='rparen'>)</span>
<span class='kw'>case</span> <span class='id identifier rubyid_response'>response</span><span class='lbracket'>[</span><span class='symbol'>:status</span><span class='rbracket'>]</span>
<span class='kw'>when</span> <span class='symbol'>:issued</span>
<span class='id identifier rubyid_print_good'>print_good</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>The requested certificate was issued.</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='kw'>when</span> <span class='symbol'>:submitted</span>
<span class='id identifier rubyid_print_warning'>print_warning</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>The requested certificate was submitted for review.</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>There was an error while requesting the certificate.</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='id identifier rubyid_response'>response</span><span class='lbracket'>[</span><span class='symbol'>:disposition_message</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_response'>response</span><span class='lbracket'>[</span><span class='symbol'>:disposition_message</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span>
<span class='id identifier rubyid_hresult'>hresult</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>WindowsError</span><span class='op'>::</span><span class='const'>HResult</span><span class='period'>.</span><span class='id identifier rubyid_find_by_retval'>find_by_retval</span><span class='lparen'>(</span><span class='id identifier rubyid_response'>response</span><span class='lbracket'>[</span><span class='symbol'>:disposition</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
<span class='kw'>if</span> <span class='id identifier rubyid_hresult'>hresult</span>
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Error details:</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> Source: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_hresult'>hresult</span><span class='period'>.</span><span class='id identifier rubyid_facility'>facility</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_hresult'>hresult</span><span class='period'>.</span><span class='id identifier rubyid_facility'>facility</span>
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> HRESULT: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_hresult'>hresult</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>case</span> <span class='id identifier rubyid_hresult'>hresult</span>
<span class='kw'>when</span> <span class='op'>::</span><span class='const'>WindowsError</span><span class='op'>::</span><span class='const'>HResult</span><span class='op'>::</span><span class='const'>CERTSRV_E_ENROLL_DENIED</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="MsIcpr/MsIcprAuthorizationError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprAuthorizationError (class)">MsIcprAuthorizationError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Msf::Exploit::Remote::MsIcpr#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_hresult'>hresult</span><span class='period'>.</span><span class='id identifier rubyid_description'>description</span><span class='rparen'>)</span>
<span class='kw'>when</span> <span class='op'>::</span><span class='const'>WindowsError</span><span class='op'>::</span><span class='const'>HResult</span><span class='op'>::</span><span class='const'>CERTSRV_E_TEMPLATE_DENIED</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="MsIcpr/MsIcprAuthorizationError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprAuthorizationError (class)">MsIcprAuthorizationError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Msf::Exploit::Remote::MsIcpr#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_hresult'>hresult</span><span class='period'>.</span><span class='id identifier rubyid_description'>description</span><span class='rparen'>)</span>
<span class='kw'>when</span> <span class='op'>::</span><span class='const'>WindowsError</span><span class='op'>::</span><span class='const'>HResult</span><span class='op'>::</span><span class='const'>CERTSRV_E_UNSUPPORTED_CERT_TYPE</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="MsIcpr/MsIcprNotFoundError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprNotFoundError (class)">MsIcprNotFoundError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Msf::Exploit::Remote::MsIcpr#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_hresult'>hresult</span><span class='period'>.</span><span class='id identifier rubyid_description'>description</span><span class='rparen'>)</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="MsIcpr/MsIcprUnknownError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprUnknownError (class)">MsIcprUnknownError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Msf::Exploit::Remote::MsIcpr#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_hresult'>hresult</span><span class='period'>.</span><span class='id identifier rubyid_description'>description</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_response'>response</span><span class='lbracket'>[</span><span class='symbol'>:certificate</span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="report_icertpassage_service-class_method">
.<strong>report_icertpassage_service</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
134
135
136
137
138
139
140
141
142
143</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/ms_icpr.rb', line 134</span>
<span class='kw'>def</span> <span class='id identifier rubyid_report_icertpassage_service'>report_icertpassage_service</span>
<span class='id identifier rubyid_report_service'>report_service</span><span class='lparen'>(</span><span class='lbrace'>{</span>
<span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>icertpassage</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='label'>resource:</span> <span class='lbrace'>{</span> <span class='label'>dcerpc:</span> <span class='lbrace'>{</span> <span class='label'>pipe:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>cert</span><span class='tstring_end'>&#39;</span></span> <span class='rbrace'>}</span> <span class='rbrace'>}</span><span class='comma'>,</span>
<span class='label'>host:</span> <span class='id identifier rubyid_simple'>simple</span><span class='period'>.</span><span class='id identifier rubyid_peerhost'>peerhost</span><span class='comma'>,</span>
<span class='label'>port:</span> <span class='id identifier rubyid_simple'>simple</span><span class='period'>.</span><span class='id identifier rubyid_peerport'>peerport</span><span class='comma'>,</span>
<span class='label'>proto:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>tcp</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='label'>parents:</span> <span class='id identifier rubyid_report_dcerpc_service'>report_dcerpc_service</span>
<span class='rbrace'>}</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
<div id="instance_method_details" class="method_details_list">
<h2>Instance Method Details</h2>
<div class="method_details first">
<h3 class="signature first" id="icpr_request_certificate-instance_method">
#<strong>icpr_request_certificate</strong>(opts = {}) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/ms_icpr.rb', line 41</span>
<span class='kw'>def</span> <span class='id identifier rubyid_icpr_request_certificate'>icpr_request_certificate</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
<span class='id identifier rubyid_tree'>tree</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:tree</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='id identifier rubyid_connect_ipc'>connect_ipc</span>
<span class='kw'>begin</span>
<span class='id identifier rubyid_icpr'>icpr</span> <span class='op'>=</span> <span class='id identifier rubyid_connect_icpr'>connect_icpr</span><span class='lparen'>(</span><span class='id identifier rubyid_tree'>tree</span><span class='rparen'>)</span>
<span class='kw'>rescue</span> <span class='const'>RubySMB</span><span class='op'>::</span><span class='const'>Error</span><span class='op'>::</span><span class='const'>UnexpectedStatusCode</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span>
<span class='kw'>if</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_status_code'>status_code</span> <span class='op'>==</span> <span class='op'>::</span><span class='const'>WindowsError</span><span class='op'>::</span><span class='const'>NTStatus</span><span class='op'>::</span><span class='const'>STATUS_OBJECT_NAME_NOT_FOUND</span>
<span class='comment'># STATUS_OBJECT_NAME_NOT_FOUND will be the status if Active Directory Certificate Service (AD CS) is not installed on the target
</span> <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="MsIcpr/MsIcprNotFoundError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprNotFoundError (class)">MsIcprNotFoundError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Connection failed (AD CS was not found).</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>end</span>
<span class='id identifier rubyid_elog'><span class='object_link'><a href="../../../top-level-namespace.html#elog-instance_method" title="#elog (method)">elog</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='label'>error:</span> <span class='id identifier rubyid_e'>e</span><span class='rparen'>)</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="MsIcpr/MsIcprUnexpectedReplyError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprUnexpectedReplyError (class)">MsIcprUnexpectedReplyError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Connection failed (unexpected status: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_status_name'>status_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>end</span>
<span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span> <span class='comment'># Don&#39;t alter the caller&#39;s instance
</span> <span class='comment'># Calls to this come from different places with different imports and different opts hash values, so we need this
</span> <span class='comment'># here to make sure all the data we need is populated
</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:username</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:username</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>SMBUser</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='rbrace'>}</span>
<span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:domain</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:domain</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_simple'>simple</span><span class='period'>.</span><span class='id identifier rubyid_client'>client</span><span class='period'>.</span><span class='id identifier rubyid_default_domain'>default_domain</span> <span class='rbrace'>}</span>
<span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:service</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_report_icertpassage_service'>report_icertpassage_service</span>
<span class='id identifier rubyid_with_adcs_certificate_request'>with_adcs_certificate_request</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_csr'>csr</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='op'>|</span>
<span class='id identifier rubyid_do_request_cert'>do_request_cert</span><span class='lparen'>(</span><span class='id identifier rubyid_icpr'>icpr</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span> <span class='id identifier rubyid_csr'>csr</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>rescue</span> <span class='const'>RubySMB</span><span class='op'>::</span><span class='const'>Dcerpc</span><span class='op'>::</span><span class='const'>Error</span><span class='op'>::</span><span class='const'>FaultError</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span>
<span class='id identifier rubyid_elog'><span class='object_link'><a href="../../../top-level-namespace.html#elog-instance_method" title="#elog (method)">elog</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='label'>error:</span> <span class='id identifier rubyid_e'>e</span><span class='rparen'>)</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="MsIcpr/MsIcprUnexpectedReplyError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprUnexpectedReplyError (class)">MsIcprUnexpectedReplyError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Operation failed (DCERPC fault: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_status_name'>status_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>rescue</span> <span class='const'>RubySMB</span><span class='op'>::</span><span class='const'>Dcerpc</span><span class='op'>::</span><span class='const'>Error</span><span class='op'>::</span><span class='const'>DcerpcError</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span>
<span class='id identifier rubyid_elog'><span class='object_link'><a href="../../../top-level-namespace.html#elog-instance_method" title="#elog (method)">elog</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='label'>error:</span> <span class='id identifier rubyid_e'>e</span><span class='rparen'>)</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="MsIcpr/MsIcprUnexpectedReplyError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprUnexpectedReplyError (class)">MsIcprUnexpectedReplyError</a></span></span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span>
<span class='kw'>rescue</span> <span class='const'>RubySMB</span><span class='op'>::</span><span class='const'>Error</span><span class='op'>::</span><span class='const'>RubySMBError</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span>
<span class='id identifier rubyid_elog'><span class='object_link'><a href="../../../top-level-namespace.html#elog-instance_method" title="#elog (method)">elog</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='label'>error:</span> <span class='id identifier rubyid_e'>e</span><span class='rparen'>)</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="MsIcpr/MsIcprUnknownError.html" title="Msf::Exploit::Remote::MsIcpr::MsIcprUnknownError (class)">MsIcprUnknownError</a></span></span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="initialize-instance_method">
#<strong>initialize</strong>(info = {}) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
31
32
33
34
35
36
37
38
39</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/ms_icpr.rb', line 31</span>
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_info'>info</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
<span class='kw'>super</span>
<span class='id identifier rubyid_register_options'>register_options</span><span class='lparen'>(</span><span class='lbracket'>[</span>
<span class='const'><span class='object_link'><a href="../../OptString.html" title="Msf::OptString (class)">OptString</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../../OptString.html#initialize-instance_method" title="Msf::OptString#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>CA</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='lbracket'>[</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>The target certificate authority</span><span class='tstring_end'>&#39;</span></span> <span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="../../Opt.html" title="Msf::Opt (module)">Opt</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Opt.html#RPORT-constant" title="Msf::Opt::RPORT (constant)">RPORT</a></span></span><span class='lparen'>(</span><span class='int'>445</span><span class='rparen'>)</span>
<span class='rbracket'>]</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../../../Msf.html" title="Msf (module)">Msf</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Exploit.html" title="Msf::Exploit (class)">Exploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Remote.html" title="Msf::Exploit::Remote (class)">Remote</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Msf::Exploit::Remote::MsIcpr (module)">MsIcpr</a></span></span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Fri May 8 17:01:45 2026 by
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.37 (ruby-3.1.5).
</div>
</div>
</body>
</html>