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

2339 lines
68 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Class: Msf::Framework
&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::Framework";
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 (F)</a> &raquo;
<span class='title'><span class='object_link'><a href="../Msf.html" title="Msf (module)">Msf</a></span></span>
&raquo;
<span class="title">Framework</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>Class: Msf::Framework
</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd>
<span class="inheritName">Object</span>
<ul class="fullTree">
<li>Object</li>
<li class="next">Msf::Framework</li>
</ul>
<a href="#" class="inheritanceTree">show all</a>
</dd>
</dl>
<dl>
<dt>Includes:</dt>
<dd>MonitorMixin</dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>lib/msf/core/framework.rb</dd>
</dl>
</div>
<h2>Overview</h2><div class="docstring">
<div class="discussion">
<p>This class is the primary context that modules, scripts, and user interfaces interact with. It ties everything together.</p>
</div>
</div>
<div class="tags">
</div><h2>Defined Under Namespace</h2>
<p class="children">
<strong class="modules">Modules:</strong> <span class='object_link'><a href="Framework/Offspring.html" title="Msf::Framework::Offspring (module)">Offspring</a></span>
</p>
<h2>
Constant Summary
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
</h2>
<dl class="constants">
<dt id="Major-constant" class="">Major =
<div class="docstring">
<div class="discussion">
<p>Versioning information</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='const'><span class='object_link'><a href="../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework/Version.html" title="Metasploit::Framework::Version (module)">Version</a></span></span><span class='op'>::</span><span class='const'>MAJOR</span></pre></dd>
<dt id="Minor-constant" class="">Minor =
</dt>
<dd><pre class="code"><span class='const'><span class='object_link'><a href="../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework/Version.html" title="Metasploit::Framework::Version (module)">Version</a></span></span><span class='op'>::</span><span class='const'>MINOR</span></pre></dd>
<dt id="Point-constant" class="">Point =
</dt>
<dd><pre class="code"><span class='const'><span class='object_link'><a href="../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework/Version.html" title="Metasploit::Framework::Version (module)">Version</a></span></span><span class='op'>::</span><span class='const'>PATCH</span></pre></dd>
<dt id="Release-constant" class="">Release =
</dt>
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>-</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework/Version.html" title="Metasploit::Framework::Version (module)">Version</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework/Version.html#PRERELEASE-constant" title="Metasploit::Framework::Version::PRERELEASE (constant)">PRERELEASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span></pre></dd>
<dt id="Version-constant" class="">Version =
</dt>
<dd><pre class="code"><span class='const'><span class='object_link'><a href="../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework.html#VERSION-constant" title="Metasploit::Framework::VERSION (constant)">VERSION</a></span></span></pre></dd>
<dt id="Revision-constant" class="">Revision =
</dt>
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>$Revision$</span><span class='tstring_end'>&quot;</span></span></pre></dd>
</dl>
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#analyze-instance_method" title="#analyze (instance method)">#<strong>analyze</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>The framework instances analysis utility.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#auxmgr-instance_method" title="#auxmgr (instance method)">#<strong>auxmgr</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>The framework instances aux manager.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#browser_profiles-instance_method" title="#browser_profiles (instance method)">#<strong>browser_profiles</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>The framework instances browser profile store.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#datastore-instance_method" title="#datastore (instance method)">#<strong>datastore</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>The global framework datastore that can be used by modules.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#db-instance_method" title="#db (instance method)">#<strong>db</strong> &#x21d2; Metasploit::Framework::DataService::DataProxy </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>The framework instances data service proxy.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#dns_resolver-instance_method" title="#dns_resolver (instance method)">#<strong>dns_resolver</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>DNS resolver for the framework.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#events-instance_method" title="#events (instance method)">#<strong>events</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Event management interface for registering event handler subscribers and for interacting with the correlation engine.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#features-instance_method" title="#features (instance method)">#<strong>features</strong> &#x21d2; Msf::FeatureManager </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>The framework instances feature manager.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#history_manager-instance_method" title="#history_manager (instance method)">#<strong>history_manager</strong> &#x21d2; Rex::Ui::Text::Shell::HistoryManager </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>The framework instances history manager, responsible for managing command history in different contexts.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#jobs-instance_method" title="#jobs (instance method)">#<strong>jobs</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Background job management specific to things spawned from this instance of the framework.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#modules-instance_method" title="#modules (instance method)">#<strong>modules</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Module manager that contains information about all loaded modules, regardless of type.</p>
</div></span>
</li>
<li class="protected ">
<span class="summary_signature">
<a href="#options-instance_method" title="#options (instance method)">#<strong>options</strong> &#x21d2; Hash </a>
</span>
<span class="note title protected">protected</span>
<span class="summary_desc"><div class='inline'>
<p>Options passed to <span class='object_link'><a href="#initialize-instance_method" title="Msf::Framework#initialize (method)">#initialize</a></span>.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#plugins-instance_method" title="#plugins (instance method)">#<strong>plugins</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>The framework instances plugin manager.</p>
</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="#auxiliary-instance_method" title="#auxiliary (instance method)">#<strong>auxiliary</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the module set for auxiliary modules.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#eicar_corrupted%3F-instance_method" title="#eicar_corrupted? (instance method)">#<strong>eicar_corrupted?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>EICAR Canary.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#encoders-instance_method" title="#encoders (instance method)">#<strong>encoders</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the module set for encoders.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#evasion-instance_method" title="#evasion (instance method)">#<strong>evasion</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#exploits-instance_method" title="#exploits (instance method)">#<strong>exploits</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the module set for exploits.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(options = {}) &#x21d2; Framework </a>
</span>
<span class="note title constructor">constructor</span>
<span class="summary_desc"><div class='inline'>
<p>Creates an instance of the framework context.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#inspect-instance_method" title="#inspect (instance method)">#<strong>inspect</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#nops-instance_method" title="#nops (instance method)">#<strong>nops</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the module set for nops.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#payloads-instance_method" title="#payloads (instance method)">#<strong>payloads</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the module set for payloads.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#post-instance_method" title="#post (instance method)">#<strong>post</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the module set for post modules.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#search-instance_method" title="#search (instance method)">#<strong>search</strong>(search_string) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#sessions-instance_method" title="#sessions (instance method)">#<strong>sessions</strong> &#x21d2; Msf::SessionManager </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Session manager that tracks sessions associated with this framework instance over the course of their lifetime.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#threads-instance_method" title="#threads (instance method)">#<strong>threads</strong> &#x21d2; Msf::ThreadManager </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>The framework instances thread manager.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#threads%3F-instance_method" title="#threads? (instance method)">#<strong>threads?</strong> &#x21d2; true, false </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Whether <span class='object_link'><a href="#threads-instance_method" title="Msf::Framework#threads (method)">#threads</a></span> has been initialized.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#version-instance_method" title="#version (instance method)">#<strong>version</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the framework version in Major.Minor format.</p>
</div></span>
</li>
</ul>
<div id="constructor_details" class="method_details_list">
<h2>Constructor Details</h2>
<div class="method_details first">
<h3 class="signature first" id="initialize-instance_method">
#<strong>initialize</strong>(options = {}) &#x21d2; <tt><span class='object_link'><a href="" title="Msf::Framework (class)">Framework</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>Creates an instance of the framework context.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 56</span>
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span>
<span class='comment'># call super to initialize MonitorMixin. #synchronize won&#39;t work without this.
</span> <span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span>
<span class='comment'># Allow specific module types to be loaded
</span> <span class='id identifier rubyid_types'>types</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:module_types</span><span class='rbracket'>]</span> <span class='op'>||</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="../Msf.html#MODULE_TYPES-constant" title="Msf::MODULE_TYPES (constant)">MODULE_TYPES</a></span></span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_history_manager'>history_manager</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Rex/Ui.html" title="Rex::Ui (module)">Ui</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Rex/Ui/Text.html" title="Rex::Ui::Text (module)">Text</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Rex/Ui/Text/Shell.html" title="Rex::Ui::Text::Shell (module)">Shell</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Rex/Ui/Text/Shell/HistoryManager.html" title="Rex::Ui::Text::Shell::HistoryManager (class)">HistoryManager</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Rex/Ui/Text/Shell/HistoryManager.html#initialize-instance_method" title="Rex::Ui::Text::Shell::HistoryManager#initialize (method)">new</a></span></span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_features'>features</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="FeatureManager.html" title="Msf::FeatureManager (class)">FeatureManager</a></span></span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_features'>features</span><span class='period'>.</span><span class='id identifier rubyid_load_config'>load_config</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_events'>events</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="EventDispatcher.html" title="Msf::EventDispatcher (class)">EventDispatcher</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="EventDispatcher.html#initialize-instance_method" title="Msf::EventDispatcher#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_modules'>modules</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="ModuleManager.html" title="Msf::ModuleManager (class)">ModuleManager</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="ModuleManager.html#initialize-instance_method" title="Msf::ModuleManager#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span><span class='id identifier rubyid_types'>types</span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_datastore'>datastore</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="DataStore.html" title="Msf::DataStore (class)">DataStore</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="DataStore.html#initialize-instance_method" title="Msf::DataStore#initialize (method)">new</a></span></span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_datastore'>datastore</span><span class='period'>.</span><span class='id identifier rubyid_import_options'>import_options</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="DataStore.html" title="Msf::DataStore (class)">DataStore</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="DataStore.html#GLOBAL_OPTION_DEFINITIONS-constant" title="Msf::DataStore::GLOBAL_OPTION_DEFINITIONS (constant)">GLOBAL_OPTION_DEFINITIONS</a></span></span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_jobs'>jobs</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Rex/JobContainer.html" title="Rex::JobContainer (class)">JobContainer</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Rex/JobContainer.html#initialize-instance_method" title="Rex::JobContainer#initialize (method)">new</a></span></span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_analyze'>analyze</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Analyze.html" title="Msf::Analyze (class)">Analyze</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Analyze.html#initialize-instance_method" title="Msf::Analyze#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_plugins'>plugins</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="PluginManager.html" title="Msf::PluginManager (class)">PluginManager</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="PluginManager.html#initialize-instance_method" title="Msf::PluginManager#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_browser_profiles'>browser_profiles</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
<span class='comment'># Configure the thread factory
</span> <span class='const'><span class='object_link'><a href="../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Rex/ThreadFactory.html" title="Rex::ThreadFactory (class)">ThreadFactory</a></span></span><span class='period'>.</span><span class='id identifier rubyid_provider'>provider</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Metasploit/Framework/ThreadFactoryProvider.html" title="Metasploit::Framework::ThreadFactoryProvider (class)">ThreadFactoryProvider</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>framework:</span> <span class='kw'>self</span><span class='rparen'>)</span>
<span class='comment'># Configure the SSL certificate generator
</span> <span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>msf/core/cert_provider</span><span class='tstring_end'>&#39;</span></span>
<span class='const'><span class='object_link'><a href="../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='op'>::</span><span class='const'>Ssl</span><span class='period'>.</span><span class='id identifier rubyid_cert_provider'>cert_provider</span> <span class='op'>=</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="Ssl.html" title="Msf::Ssl (module)">Ssl</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Ssl/CertProvider.html" title="Msf::Ssl::CertProvider (module)">CertProvider</a></span></span>
<span class='kw'>if</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>CustomDnsResolver</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</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="FeatureManager.html" title="Msf::FeatureManager (class)">FeatureManager</a></span></span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_enabled?'>enabled?</span><span class='lparen'>(</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="FeatureManager.html" title="Msf::FeatureManager (class)">FeatureManager</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="FeatureManager.html#DNS-constant" title="Msf::FeatureManager::DNS (constant)">DNS</a></span></span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dns_resolver'>dns_resolver</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>CustomDnsResolver</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dns_resolver'>dns_resolver</span><span class='period'>.</span><span class='id identifier rubyid_set_framework'>set_framework</span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
<span class='const'><span class='object_link'><a href="../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid__install_global_resolver'>_install_global_resolver</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dns_resolver'>dns_resolver</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_subscriber'>subscriber</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="FrameworkEventSubscriber.html" title="Msf::FrameworkEventSubscriber (class)">FrameworkEventSubscriber</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="FrameworkEventSubscriber.html#initialize-instance_method" title="Msf::FrameworkEventSubscriber#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
<span class='id identifier rubyid_events'>events</span><span class='period'>.</span><span class='id identifier rubyid_add_exploit_subscriber'>add_exploit_subscriber</span><span class='lparen'>(</span><span class='id identifier rubyid_subscriber'>subscriber</span><span class='rparen'>)</span>
<span class='id identifier rubyid_events'>events</span><span class='period'>.</span><span class='id identifier rubyid_add_session_subscriber'>add_session_subscriber</span><span class='lparen'>(</span><span class='id identifier rubyid_subscriber'>subscriber</span><span class='rparen'>)</span>
<span class='id identifier rubyid_events'>events</span><span class='period'>.</span><span class='id identifier rubyid_add_general_subscriber'>add_general_subscriber</span><span class='lparen'>(</span><span class='id identifier rubyid_subscriber'>subscriber</span><span class='rparen'>)</span>
<span class='id identifier rubyid_events'>events</span><span class='period'>.</span><span class='id identifier rubyid_add_db_subscriber'>add_db_subscriber</span><span class='lparen'>(</span><span class='id identifier rubyid_subscriber'>subscriber</span><span class='rparen'>)</span>
<span class='id identifier rubyid_events'>events</span><span class='period'>.</span><span class='id identifier rubyid_add_ui_subscriber'>add_ui_subscriber</span><span class='lparen'>(</span><span class='id identifier rubyid_subscriber'>subscriber</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
<div id="instance_attr_details" class="attr_details">
<h2>Instance Attribute Details</h2>
<span id="analyze=-instance_method"></span>
<div class="method_details first">
<h3 class="signature first" id="analyze-instance_method">
#<strong>analyze</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>The framework instances analysis utility. Provide method to analyze framework objects to offer related objects/actions available.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
201
202
203</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 201</span>
<span class='kw'>def</span> <span class='id identifier rubyid_analyze'>analyze</span>
<span class='ivar'>@analyze</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="auxmgr=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="auxmgr-instance_method">
#<strong>auxmgr</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>The framework instances aux manager. The aux manager is responsible for collecting and cataloging all aux information that comes in from aux modules.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
179
180
181</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 179</span>
<span class='kw'>def</span> <span class='id identifier rubyid_auxmgr'>auxmgr</span>
<span class='ivar'>@auxmgr</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="browser_profiles=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="browser_profiles-instance_method">
#<strong>browser_profiles</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>The framework instances browser profile store. These profiles are generated by client-side modules and need to be shared across different contexts.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
196
197
198</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 196</span>
<span class='kw'>def</span> <span class='id identifier rubyid_browser_profiles'>browser_profiles</span>
<span class='ivar'>@browser_profiles</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="datastore=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="datastore-instance_method">
#<strong>datastore</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>The global framework datastore that can be used by modules.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
173
174
175</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 173</span>
<span class='kw'>def</span> <span class='id identifier rubyid_datastore'>datastore</span>
<span class='ivar'>@datastore</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="db=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="db-instance_method">
#<strong>db</strong> &#x21d2; <tt><span class='object_link'><a href="../Metasploit/Framework/DataService/DataProxy.html" title="Metasploit::Framework::DataService::DataProxy (class)">Metasploit::Framework::DataService::DataProxy</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>The framework instances data service proxy</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt><span class='object_link'><a href="../Metasploit/Framework/DataService/DataProxy.html" title="Metasploit::Framework::DataService::DataProxy (class)">Metasploit::Framework::DataService::DataProxy</a></span></tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
217
218
219
220
221
222
223</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 217</span>
<span class='kw'>def</span> <span class='id identifier rubyid_db'>db</span>
<span class='kw'>return</span> <span class='ivar'>@db</span> <span class='kw'>if</span> <span class='ivar'>@db</span>
<span class='id identifier rubyid_synchronize'>synchronize</span> <span class='lbrace'>{</span>
<span class='ivar'>@db</span> <span class='op'>||=</span> <span class='id identifier rubyid_get_db'>get_db</span>
<span class='rbrace'>}</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="dns_resolver=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="dns_resolver-instance_method">
#<strong>dns_resolver</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>DNS resolver for the framework</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
159
160
161</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 159</span>
<span class='kw'>def</span> <span class='id identifier rubyid_dns_resolver'>dns_resolver</span>
<span class='ivar'>@dns_resolver</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="events=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="events-instance_method">
#<strong>events</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Event management interface for registering event handler subscribers and for interacting with the correlation engine.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
164
165
166</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 164</span>
<span class='kw'>def</span> <span class='id identifier rubyid_events'>events</span>
<span class='ivar'>@events</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="features=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="features-instance_method">
#<strong>features</strong> &#x21d2; <tt><span class='object_link'><a href="FeatureManager.html" title="Msf::FeatureManager (class)">Msf::FeatureManager</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>The framework instances feature manager. The feature manager is responsible for configuring feature flags that can change characteristics of framework.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt><span class='object_link'><a href="FeatureManager.html" title="Msf::FeatureManager (class)">Msf::FeatureManager</a></span></tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
206
207
208</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 206</span>
<span class='kw'>def</span> <span class='id identifier rubyid_features'>features</span>
<span class='ivar'>@features</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="history_manager=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="history_manager-instance_method">
#<strong>history_manager</strong> &#x21d2; <tt><span class='object_link'><a href="../Rex/Ui/Text/Shell/HistoryManager.html" title="Rex::Ui::Text::Shell::HistoryManager (class)">Rex::Ui::Text::Shell::HistoryManager</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>The framework instances history manager, responsible for managing command history in different contexts</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt><span class='object_link'><a href="../Rex/Ui/Text/Shell/HistoryManager.html" title="Rex::Ui::Text::Shell::HistoryManager (class)">Rex::Ui::Text::Shell::HistoryManager</a></span></tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
211
212
213</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 211</span>
<span class='kw'>def</span> <span class='id identifier rubyid_history_manager'>history_manager</span>
<span class='ivar'>@history_manager</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="jobs=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="jobs-instance_method">
#<strong>jobs</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Background job management specific to things spawned from this instance of the framework.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
184
185
186</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 184</span>
<span class='kw'>def</span> <span class='id identifier rubyid_jobs'>jobs</span>
<span class='ivar'>@jobs</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="modules=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="modules-instance_method">
#<strong>modules</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Module manager that contains information about all loaded modules, regardless of type.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
169
170
171</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 169</span>
<span class='kw'>def</span> <span class='id identifier rubyid_modules'>modules</span>
<span class='ivar'>@modules</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="options=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="options-instance_method">
#<strong>options</strong> &#x21d2; <tt>Hash</tt> <span class="extras">(protected)</span>
</h3><div class="docstring">
<div class="discussion">
<p>Options passed to <span class='object_link'><a href="#initialize-instance_method" title="Msf::Framework#initialize (method)">#initialize</a></span></p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Hash</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
289
290
291</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 289</span>
<span class='kw'>def</span> <span class='id identifier rubyid_options'>options</span>
<span class='ivar'>@options</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="plugins=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="plugins-instance_method">
#<strong>plugins</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>The framework instances plugin manager. The plugin manager is responsible for exposing an interface that allows for the loading and unloading of plugins.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
190
191
192</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 190</span>
<span class='kw'>def</span> <span class='id identifier rubyid_plugins'>plugins</span>
<span class='ivar'>@plugins</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="auxiliary-instance_method">
#<strong>auxiliary</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the module set for auxiliary modules</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
134
135
136</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 134</span>
<span class='kw'>def</span> <span class='id identifier rubyid_auxiliary'>auxiliary</span>
<span class='kw'>return</span> <span class='id identifier rubyid_modules'>modules</span><span class='period'>.</span><span class='id identifier rubyid_auxiliary'>auxiliary</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="eicar_corrupted?-instance_method">
#<strong>eicar_corrupted?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
<p>EICAR Canary</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
&mdash;
<div class='inline'>
<p>Should return true if the EICAR file has been corrupted</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 267</span>
<span class='kw'>def</span> <span class='id identifier rubyid_eicar_corrupted?'>eicar_corrupted?</span>
<span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_expand_path'>expand_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span>
<span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>..</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>..</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>..</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>data</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>eicar.com</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='rparen'>)</span>
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>unless</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_exist?'>exist?</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='comma'>,</span> <span class='label'>mode:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>rb</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>unless</span> <span class='const'>Digest</span><span class='op'>::</span><span class='const'>SHA1</span><span class='period'>.</span><span class='id identifier rubyid_hexdigest'>hexdigest</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>3395856ce81f2b7382dee72602f798b642f14140</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>false</span>
<span class='comment'># If anything goes wrong assume AV got us
</span><span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
<span class='kw'>true</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="encoders-instance_method">
#<strong>encoders</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the module set for encoders.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
106
107
108</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 106</span>
<span class='kw'>def</span> <span class='id identifier rubyid_encoders'>encoders</span>
<span class='kw'>return</span> <span class='id identifier rubyid_modules'>modules</span><span class='period'>.</span><span class='id identifier rubyid_encoders'>encoders</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="evasion-instance_method">
#<strong>evasion</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
145
146
147</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 145</span>
<span class='kw'>def</span> <span class='id identifier rubyid_evasion'>evasion</span>
<span class='kw'>return</span> <span class='id identifier rubyid_modules'>modules</span><span class='period'>.</span><span class='id identifier rubyid_evasion'>evasion</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="exploits-instance_method">
#<strong>exploits</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the module set for exploits.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
113
114
115</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 113</span>
<span class='kw'>def</span> <span class='id identifier rubyid_exploits'>exploits</span>
<span class='kw'>return</span> <span class='id identifier rubyid_modules'>modules</span><span class='period'>.</span><span class='id identifier rubyid_exploits'>exploits</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="inspect-instance_method">
#<strong>inspect</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
99
100
101</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 99</span>
<span class='kw'>def</span> <span class='id identifier rubyid_inspect'>inspect</span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>#&lt;Framework (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_sessions'>sessions</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='embexpr_end'>}</span><span class='tstring_content'> sessions, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_jobs'>jobs</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='embexpr_end'>}</span><span class='tstring_content'> jobs, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_plugins'>plugins</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='embexpr_end'>}</span><span class='tstring_content'> plugins</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_active'>active</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_driver'>driver</span><span class='embexpr_end'>}</span><span class='tstring_content'> database active</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='embexpr_end'>}</span><span class='tstring_content'>)&gt;</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="nops-instance_method">
#<strong>nops</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the module set for nops</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
120
121
122</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 120</span>
<span class='kw'>def</span> <span class='id identifier rubyid_nops'>nops</span>
<span class='kw'>return</span> <span class='id identifier rubyid_modules'>modules</span><span class='period'>.</span><span class='id identifier rubyid_nops'>nops</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="payloads-instance_method">
#<strong>payloads</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the module set for payloads</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
127
128
129</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 127</span>
<span class='kw'>def</span> <span class='id identifier rubyid_payloads'>payloads</span>
<span class='kw'>return</span> <span class='id identifier rubyid_modules'>modules</span><span class='period'>.</span><span class='id identifier rubyid_payloads'>payloads</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="post-instance_method">
#<strong>post</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the module set for post modules</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
141
142
143</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 141</span>
<span class='kw'>def</span> <span class='id identifier rubyid_post'>post</span>
<span class='kw'>return</span> <span class='id identifier rubyid_modules'>modules</span><span class='period'>.</span><span class='id identifier rubyid_post'>post</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="search-instance_method">
#<strong>search</strong>(search_string) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
259
260
261
262</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 259</span>
<span class='kw'>def</span> <span class='id identifier rubyid_search'>search</span><span class='lparen'>(</span><span class='id identifier rubyid_search_string'>search_string</span><span class='rparen'>)</span>
<span class='id identifier rubyid_search_params'>search_params</span> <span class='op'>=</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="Modules.html" title="Msf::Modules (module)">Modules</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Modules/Metadata.html" title="Msf::Modules::Metadata (module)">Metadata</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Modules/Metadata/Search.html" title="Msf::Modules::Metadata::Search (module)">Search</a></span></span><span class='period'>.</span><span class='id identifier rubyid_parse_search_string'><span class='object_link'><a href="Modules/Metadata/Search.html#parse_search_string-class_method" title="Msf::Modules::Metadata::Search.parse_search_string (method)">parse_search_string</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_search_string'>search_string</span><span class='rparen'>)</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="Modules.html" title="Msf::Modules (module)">Modules</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Modules/Metadata.html" title="Msf::Modules::Metadata (module)">Metadata</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Modules/Metadata/Cache.html" title="Msf::Modules::Metadata::Cache (class)">Cache</a></span></span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='id identifier rubyid_search_params'>search_params</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="sessions-instance_method">
#<strong>sessions</strong> &#x21d2; <tt><span class='object_link'><a href="SessionManager.html" title="Msf::SessionManager (class)">Msf::SessionManager</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>Session manager that tracks sessions associated with this framework instance over the course of their lifetime.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt><span class='object_link'><a href="SessionManager.html" title="Msf::SessionManager (class)">Msf::SessionManager</a></span></tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
229
230
231
232
233
234
235</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 229</span>
<span class='kw'>def</span> <span class='id identifier rubyid_sessions'>sessions</span>
<span class='kw'>return</span> <span class='ivar'>@sessions</span> <span class='kw'>if</span> <span class='ivar'>@sessions</span>
<span class='id identifier rubyid_synchronize'>synchronize</span> <span class='lbrace'>{</span>
<span class='ivar'>@sessions</span> <span class='op'>||=</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="SessionManager.html" title="Msf::SessionManager (class)">SessionManager</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="SessionManager.html#initialize-instance_method" title="Msf::SessionManager#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
<span class='rbrace'>}</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="threads-instance_method">
#<strong>threads</strong> &#x21d2; <tt><span class='object_link'><a href="ThreadManager.html" title="Msf::ThreadManager (class)">Msf::ThreadManager</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>The framework instances thread manager. The thread manager provides a cleaner way to manage spawned threads</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt><span class='object_link'><a href="ThreadManager.html" title="Msf::ThreadManager (class)">Msf::ThreadManager</a></span></tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
241
242
243
244
245
246
247</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 241</span>
<span class='kw'>def</span> <span class='id identifier rubyid_threads'>threads</span>
<span class='kw'>return</span> <span class='ivar'>@threads</span> <span class='kw'>if</span> <span class='ivar'>@threads</span>
<span class='id identifier rubyid_synchronize'>synchronize</span> <span class='lbrace'>{</span>
<span class='ivar'>@threads</span> <span class='op'>||=</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="ThreadManager.html" title="Msf::ThreadManager (class)">ThreadManager</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="ThreadManager.html#initialize-instance_method" title="Msf::ThreadManager#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
<span class='rbrace'>}</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="threads?-instance_method">
#<strong>threads?</strong> &#x21d2; <tt>true</tt>, <tt>false</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Whether <span class='object_link'><a href="#threads-instance_method" title="Msf::Framework#threads (method)">#threads</a></span> has been initialized</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>true</tt>)</span>
&mdash;
<div class='inline'>
<p>if <span class='object_link'><a href="#threads-instance_method" title="Msf::Framework#threads (method)">#threads</a></span> has been initialized</p>
</div>
</li>
<li>
<span class='type'>(<tt>false</tt>)</span>
&mdash;
<div class='inline'>
<p>otherwise</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
253
254
255
256
257</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 253</span>
<span class='kw'>def</span> <span class='id identifier rubyid_threads?'>threads?</span>
<span class='id identifier rubyid_synchronize'>synchronize</span> <span class='lbrace'>{</span>
<span class='id identifier rubyid_instance_variable_defined?'>instance_variable_defined?</span> <span class='symbol'>:@threads</span>
<span class='rbrace'>}</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="version-instance_method">
#<strong>version</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the framework version in Major.Minor format.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
152
153
154</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 152</span>
<span class='kw'>def</span> <span class='id identifier rubyid_version'>version</span>
<span class='const'><span class='object_link'><a href="#Version-constant" title="Msf::Framework::Version (constant)">Version</a></span></span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Fri May 8 17:03:18 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>