1689 lines
60 KiB
HTML
1689 lines
60 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>
|
|
Class: Msf::FrameworkEventSubscriber
|
|
|
|
— 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::FrameworkEventSubscriber";
|
|
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> »
|
|
<span class='title'><span class='object_link'><a href="../Msf.html" title="Msf (module)">Msf</a></span></span>
|
|
»
|
|
<span class="title">FrameworkEventSubscriber</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::FrameworkEventSubscriber
|
|
|
|
|
|
|
|
</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::FrameworkEventSubscriber</li>
|
|
|
|
</ul>
|
|
<a href="#" class="inheritanceTree">show all</a>
|
|
|
|
</dd>
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<dl>
|
|
<dt>Includes:</dt>
|
|
<dd><span class='object_link'><a href="Framework/Offspring.html" title="Msf::Framework::Offspring (module)">Msf::Framework::Offspring</a></span>, <span class='object_link'><a href="GeneralEventSubscriber.html" title="Msf::GeneralEventSubscriber (module)">GeneralEventSubscriber</a></span>, <span class='object_link'><a href="SessionEvent.html" title="Msf::SessionEvent (module)">SessionEvent</a></span>, <span class='object_link'><a href="UiEventSubscriber.html" title="Msf::UiEventSubscriber (module)">UiEventSubscriber</a></span></dd>
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<dl>
|
|
<dt>Defined in:</dt>
|
|
<dd>lib/msf/core/framework.rb</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2>Instance Attribute Summary</h2>
|
|
|
|
<h3 class="inherited">Attributes included from <span class='object_link'><a href="Framework/Offspring.html" title="Msf::Framework::Offspring (module)">Msf::Framework::Offspring</a></span></h3>
|
|
<p class="inherited"><span class='object_link'><a href="Framework/Offspring.html#framework-instance_method" title="Msf::Framework::Offspring#framework (method)">#framework</a></span></p>
|
|
|
|
|
|
|
|
<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="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(framework) ⇒ FrameworkEventSubscriber </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
<span class="note title constructor">constructor</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>A new instance of FrameworkEventSubscriber.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#module_event-instance_method" title="#module_event (instance method)">#<strong>module_event</strong>(name, instance, opts = {}) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Generic handler for module events.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_module_complete-instance_method" title="#on_module_complete (instance method)">#<strong>on_module_complete</strong>(instance) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::GeneralEventSubscriber implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_module_error-instance_method" title="#on_module_error (instance method)">#<strong>on_module_error</strong>(instance, exception = nil) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::GeneralEventSubscriber implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_module_run-instance_method" title="#on_module_run (instance method)">#<strong>on_module_run</strong>(instance) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::GeneralEventSubscriber implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_session_close-instance_method" title="#on_session_close (instance method)">#<strong>on_session_close</strong>(session, reason = '') ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::SessionEvent implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_session_command-instance_method" title="#on_session_command (instance method)">#<strong>on_session_command</strong>(session, command) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::SessionEvent implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_session_download-instance_method" title="#on_session_download (instance method)">#<strong>on_session_download</strong>(session, rpath, lpath) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::SessionEvent implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_session_module_run-instance_method" title="#on_session_module_run (instance method)">#<strong>on_session_module_run</strong>(session, mod) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::SessionEvent implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_session_open-instance_method" title="#on_session_open (instance method)">#<strong>on_session_open</strong>(session) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::SessionEvent implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_session_output-instance_method" title="#on_session_output (instance method)">#<strong>on_session_output</strong>(session, output) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::SessionEvent implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_session_route-instance_method" title="#on_session_route (instance method)">#<strong>on_session_route</strong>(session, route) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::SessionEvent implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_session_route_remove-instance_method" title="#on_session_route_remove (instance method)">#<strong>on_session_route_remove</strong>(session, route) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::SessionEvent implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_session_script_run-instance_method" title="#on_session_script_run (instance method)">#<strong>on_session_script_run</strong>(session, script) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::SessionEvent implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_session_upload-instance_method" title="#on_session_upload (instance method)">#<strong>on_session_upload</strong>(session, lpath, rpath) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::SessionEvent implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_ui_command-instance_method" title="#on_ui_command (instance method)">#<strong>on_ui_command</strong>(command) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::UiEventSubscriber implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_ui_start-instance_method" title="#on_ui_start (instance method)">#<strong>on_ui_start</strong>(rev) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::UiEventSubscriber implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#on_ui_stop-instance_method" title="#on_ui_stop (instance method)">#<strong>on_ui_stop</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>:category: ::Msf::UiEventSubscriber implementors.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#report_event-instance_method" title="#report_event (instance method)">#<strong>report_event</strong>(data) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#session_event-instance_method" title="#session_event (instance method)">#<strong>session_event</strong>(name, session, opts = {}) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Generic handler for session events.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3 class="inherited">Methods included from <span class='object_link'><a href="SessionEvent.html" title="Msf::SessionEvent (module)">SessionEvent</a></span></h3>
|
|
<p class="inherited"><span class='object_link'><a href="SessionEvent.html#on_session_filedelete-instance_method" title="Msf::SessionEvent#on_session_filedelete (method)">#on_session_filedelete</a></span>, <span class='object_link'><a href="SessionEvent.html#on_session_interact-instance_method" title="Msf::SessionEvent#on_session_interact (method)">#on_session_interact</a></span></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3 class="inherited">Methods included from <span class='object_link'><a href="GeneralEventSubscriber.html" title="Msf::GeneralEventSubscriber (module)">GeneralEventSubscriber</a></span></h3>
|
|
<p class="inherited"><span class='object_link'><a href="GeneralEventSubscriber.html#on_module_created-instance_method" title="Msf::GeneralEventSubscriber#on_module_created (method)">#on_module_created</a></span>, <span class='object_link'><a href="GeneralEventSubscriber.html#on_module_load-instance_method" title="Msf::GeneralEventSubscriber#on_module_load (method)">#on_module_load</a></span></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<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>(framework) ⇒ <tt><span class='object_link'><a href="" title="Msf::FrameworkEventSubscriber (class)">FrameworkEventSubscriber</a></span></tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Returns a new instance of FrameworkEventSubscriber.</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
322
|
|
323
|
|
324</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 322</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_framework'>framework</span><span class='rparen'>)</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_framework'>framework</span> <span class='op'>=</span> <span class='id identifier rubyid_framework'>framework</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="module_event-instance_method">
|
|
|
|
#<strong>module_event</strong>(name, instance, opts = {}) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Generic handler for module events</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
337
|
|
338
|
|
339
|
|
340
|
|
341
|
|
342
|
|
343
|
|
344
|
|
345
|
|
346
|
|
347
|
|
348
|
|
349
|
|
350
|
|
351</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 337</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_module_event'>module_event</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_instance'>instance</span><span class='comma'>,</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='kw'>if</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_active'>active</span>
|
|
<span class='id identifier rubyid_event'>event</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
|
<span class='symbol'>:workspace</span> <span class='op'>=></span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_find_workspace'>find_workspace</span><span class='lparen'>(</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_workspace'>workspace</span><span class='rparen'>)</span><span class='comma'>,</span>
|
|
<span class='symbol'>:name</span> <span class='op'>=></span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span>
|
|
<span class='symbol'>:username</span> <span class='op'>=></span> <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_owner'>owner</span><span class='comma'>,</span>
|
|
<span class='symbol'>:info</span> <span class='op'>=></span> <span class='lbrace'>{</span>
|
|
<span class='symbol'>:module_name</span> <span class='op'>=></span> <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_fullname'>fullname</span><span class='comma'>,</span>
|
|
<span class='symbol'>:module_uuid</span> <span class='op'>=></span> <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_uuid'>uuid</span>
|
|
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
|
<span class='rbrace'>}</span>
|
|
|
|
<span class='id identifier rubyid_report_event'>report_event</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_module_complete-instance_method">
|
|
|
|
#<strong>on_module_complete</strong>(instance) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::GeneralEventSubscriber implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
362
|
|
363
|
|
364</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 362</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_module_complete'>on_module_complete</span><span class='lparen'>(</span><span class='id identifier rubyid_instance'>instance</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_module_event'>module_event</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>module_complete</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_instance'>instance</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_module_error-instance_method">
|
|
|
|
#<strong>on_module_error</strong>(instance, exception = nil) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::GeneralEventSubscriber implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
368
|
|
369
|
|
370</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 368</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_module_error'>on_module_error</span><span class='lparen'>(</span><span class='id identifier rubyid_instance'>instance</span><span class='comma'>,</span> <span class='id identifier rubyid_exception'>exception</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_module_event'>module_event</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>module_error</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_instance'>instance</span><span class='comma'>,</span> <span class='symbol'>:exception</span> <span class='op'>=></span> <span class='id identifier rubyid_exception'>exception</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_module_run-instance_method">
|
|
|
|
#<strong>on_module_run</strong>(instance) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::GeneralEventSubscriber implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
355
|
|
356
|
|
357
|
|
358</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 355</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_module_run'>on_module_run</span><span class='lparen'>(</span><span class='id identifier rubyid_instance'>instance</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:datastore</span> <span class='op'>=></span> <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_datastore'>datastore</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span> <span class='rbrace'>}</span>
|
|
<span class='id identifier rubyid_module_event'>module_event</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>module_run</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_instance'>instance</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_session_close-instance_method">
|
|
|
|
#<strong>on_session_close</strong>(session, reason = '') ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::SessionEvent implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
477
|
|
478
|
|
479
|
|
480
|
|
481
|
|
482
|
|
483
|
|
484
|
|
485</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 477</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_session_close'>on_session_close</span><span class='lparen'>(</span><span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='id identifier rubyid_reason'>reason</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_session_event'>session_event</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>session_close</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session'>session</span><span class='rparen'>)</span>
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_db_record'>db_record</span>
|
|
<span class='comment'># Don't bother saving here, the session's cleanup method will take
|
|
</span> <span class='comment'># care of that later.
|
|
</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_db_record'>db_record</span><span class='period'>.</span><span class='id identifier rubyid_close_reason'>close_reason</span> <span class='op'>=</span> <span class='id identifier rubyid_reason'>reason</span>
|
|
<span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_db_record'>db_record</span><span class='period'>.</span><span class='id identifier rubyid_closed_at'>closed_at</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_session_command-instance_method">
|
|
|
|
#<strong>on_session_command</strong>(session, command) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::SessionEvent implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
493
|
|
494
|
|
495
|
|
496
|
|
497
|
|
498
|
|
499
|
|
500</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 493</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_session_command'>on_session_command</span><span class='lparen'>(</span><span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_session_event'>session_event</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>session_command</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='symbol'>:command</span> <span class='op'>=></span> <span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_report_session_event'>report_session_event</span><span class='lparen'>(</span><span class='lbrace'>{</span>
|
|
<span class='symbol'>:etype</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>command</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|
<span class='symbol'>:session</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span>
|
|
<span class='symbol'>:command</span> <span class='op'>=></span> <span class='id identifier rubyid_command'>command</span>
|
|
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_session_download-instance_method">
|
|
|
|
#<strong>on_session_download</strong>(session, rpath, lpath) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::SessionEvent implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
465
|
|
466
|
|
467
|
|
468
|
|
469
|
|
470
|
|
471
|
|
472
|
|
473</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 465</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_session_download'>on_session_download</span><span class='lparen'>(</span><span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='id identifier rubyid_rpath'>rpath</span><span class='comma'>,</span> <span class='id identifier rubyid_lpath'>lpath</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_session_event'>session_event</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>session_download</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='symbol'>:local_path</span> <span class='op'>=></span> <span class='id identifier rubyid_lpath'>lpath</span><span class='comma'>,</span> <span class='symbol'>:remote_path</span> <span class='op'>=></span> <span class='id identifier rubyid_rpath'>rpath</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_report_session_event'>report_session_event</span><span class='lparen'>(</span><span class='lbrace'>{</span>
|
|
<span class='symbol'>:etype</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>download</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|
<span class='symbol'>:session</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span>
|
|
<span class='symbol'>:local_path</span> <span class='op'>=></span> <span class='id identifier rubyid_lpath'>lpath</span><span class='comma'>,</span>
|
|
<span class='symbol'>:remote_path</span> <span class='op'>=></span> <span class='id identifier rubyid_rpath'>rpath</span>
|
|
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_session_module_run-instance_method">
|
|
|
|
#<strong>on_session_module_run</strong>(session, mod) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::SessionEvent implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
549
|
|
550
|
|
551
|
|
552
|
|
553
|
|
554
|
|
555</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 549</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_session_module_run'>on_session_module_run</span><span class='lparen'>(</span><span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='id identifier rubyid_mod'>mod</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_report_session_event'>report_session_event</span><span class='lparen'>(</span><span class='lbrace'>{</span>
|
|
<span class='symbol'>:etype</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>module_run</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|
<span class='symbol'>:session</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span>
|
|
<span class='symbol'>:local_path</span> <span class='op'>=></span> <span class='id identifier rubyid_mod'>mod</span><span class='period'>.</span><span class='id identifier rubyid_fullname'>fullname</span>
|
|
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_session_open-instance_method">
|
|
|
|
#<strong>on_session_open</strong>(session) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::SessionEvent implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
446
|
|
447
|
|
448
|
|
449
|
|
450</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 446</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_session_open'>on_session_open</span><span class='lparen'>(</span><span class='id identifier rubyid_session'>session</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:datastore</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_exploit_datastore'>exploit_datastore</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='comma'>,</span> <span class='symbol'>:critical</span> <span class='op'>=></span> <span class='kw'>true</span> <span class='rbrace'>}</span>
|
|
<span class='id identifier rubyid_session_event'>session_event</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>session_open</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_report_session'>report_session</span><span class='lparen'>(</span><span class='symbol'>:session</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_session_output-instance_method">
|
|
|
|
#<strong>on_session_output</strong>(session, output) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::SessionEvent implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
504
|
|
505
|
|
506
|
|
507
|
|
508
|
|
509
|
|
510
|
|
511
|
|
512
|
|
513
|
|
514
|
|
515
|
|
516
|
|
517
|
|
518
|
|
519
|
|
520
|
|
521
|
|
522
|
|
523</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 504</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_session_output'>on_session_output</span><span class='lparen'>(</span><span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='id identifier rubyid_output'>output</span><span class='rparen'>)</span>
|
|
<span class='comment'># Break up the output into chunks that will fit into the database.
|
|
</span> <span class='id identifier rubyid_buff'>buff</span> <span class='op'>=</span> <span class='id identifier rubyid_output'>output</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
|
|
<span class='id identifier rubyid_chunks'>chunks</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_buff'>buff</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>></span> <span class='int'>1024</span>
|
|
<span class='kw'>while</span> <span class='id identifier rubyid_buff'>buff</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>></span> <span class='int'>0</span>
|
|
<span class='id identifier rubyid_chunks'>chunks</span> <span class='op'><<</span> <span class='id identifier rubyid_buff'>buff</span><span class='period'>.</span><span class='id identifier rubyid_slice!'>slice!</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1024</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>else</span>
|
|
<span class='id identifier rubyid_chunks'>chunks</span> <span class='op'><<</span> <span class='id identifier rubyid_buff'>buff</span>
|
|
<span class='kw'>end</span>
|
|
<span class='id identifier rubyid_chunks'>chunks</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_chunk'>chunk</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_session_event'>session_event</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>session_output</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='symbol'>:output</span> <span class='op'>=></span> <span class='id identifier rubyid_chunk'>chunk</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_report_session_event'>report_session_event</span><span class='lparen'>(</span><span class='lbrace'>{</span>
|
|
<span class='symbol'>:etype</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>output</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|
<span class='symbol'>:session</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span>
|
|
<span class='symbol'>:output</span> <span class='op'>=></span> <span class='id identifier rubyid_chunk'>chunk</span>
|
|
<span class='rbrace'>}</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="on_session_route-instance_method">
|
|
|
|
#<strong>on_session_route</strong>(session, route) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::SessionEvent implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
527
|
|
528
|
|
529</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 527</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_session_route'>on_session_route</span><span class='lparen'>(</span><span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='id identifier rubyid_route'>route</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_report_session_route'>report_session_route</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='label'>session:</span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='label'>route:</span> <span class='id identifier rubyid_route'>route</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_session_route_remove-instance_method">
|
|
|
|
#<strong>on_session_route_remove</strong>(session, route) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::SessionEvent implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
533
|
|
534
|
|
535</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 533</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_session_route_remove'>on_session_route_remove</span><span class='lparen'>(</span><span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='id identifier rubyid_route'>route</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_report_session_route_remove'>report_session_route_remove</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='label'>session:</span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='label'>route:</span> <span class='id identifier rubyid_route'>route</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_session_script_run-instance_method">
|
|
|
|
#<strong>on_session_script_run</strong>(session, script) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::SessionEvent implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
539
|
|
540
|
|
541
|
|
542
|
|
543
|
|
544
|
|
545</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 539</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_session_script_run'>on_session_script_run</span><span class='lparen'>(</span><span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='id identifier rubyid_script'>script</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_report_session_event'>report_session_event</span><span class='lparen'>(</span><span class='lbrace'>{</span>
|
|
<span class='symbol'>:etype</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>script_run</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|
<span class='symbol'>:session</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span>
|
|
<span class='symbol'>:local_path</span> <span class='op'>=></span> <span class='id identifier rubyid_script'>script</span>
|
|
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_session_upload-instance_method">
|
|
|
|
#<strong>on_session_upload</strong>(session, lpath, rpath) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::SessionEvent implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
454
|
|
455
|
|
456
|
|
457
|
|
458
|
|
459
|
|
460
|
|
461
|
|
462</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 454</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_session_upload'>on_session_upload</span><span class='lparen'>(</span><span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='id identifier rubyid_lpath'>lpath</span><span class='comma'>,</span> <span class='id identifier rubyid_rpath'>rpath</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_session_event'>session_event</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>session_upload</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='symbol'>:local_path</span> <span class='op'>=></span> <span class='id identifier rubyid_lpath'>lpath</span><span class='comma'>,</span> <span class='symbol'>:remote_path</span> <span class='op'>=></span> <span class='id identifier rubyid_rpath'>rpath</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_report_session_event'>report_session_event</span><span class='lparen'>(</span><span class='lbrace'>{</span>
|
|
<span class='symbol'>:etype</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>upload</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|
<span class='symbol'>:session</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span>
|
|
<span class='symbol'>:local_path</span> <span class='op'>=></span> <span class='id identifier rubyid_lpath'>lpath</span><span class='comma'>,</span>
|
|
<span class='symbol'>:remote_path</span> <span class='op'>=></span> <span class='id identifier rubyid_rpath'>rpath</span>
|
|
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_ui_command-instance_method">
|
|
|
|
#<strong>on_ui_command</strong>(command) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::UiEventSubscriber implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
375
|
|
376
|
|
377
|
|
378
|
|
379</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 375</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_ui_command'>on_ui_command</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
|
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span> <span class='kw'>and</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_active'>active</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_report_event'>report_event</span><span class='lparen'>(</span><span class='symbol'>:name</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ui_command</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:info</span> <span class='op'>=></span> <span class='lbrace'>{</span><span class='symbol'>:command</span> <span class='op'>=></span> <span class='id identifier rubyid_command'>command</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_ui_start-instance_method">
|
|
|
|
#<strong>on_ui_start</strong>(rev) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::UiEventSubscriber implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
391
|
|
392
|
|
393
|
|
394
|
|
395
|
|
396
|
|
397
|
|
398
|
|
399</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 391</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_ui_start'>on_ui_start</span><span class='lparen'>(</span><span class='id identifier rubyid_rev'>rev</span><span class='rparen'>)</span>
|
|
<span class='comment'>#
|
|
</span> <span class='comment'># The database is not active at startup time unless msfconsole was
|
|
</span> <span class='comment'># started with a database.yml, so this event won't always be saved to
|
|
</span> <span class='comment'># the db. Not great, but best we can do.
|
|
</span> <span class='comment'>#
|
|
</span> <span class='id identifier rubyid_info'>info</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:revision</span> <span class='op'>=></span> <span class='id identifier rubyid_rev'>rev</span> <span class='rbrace'>}</span>
|
|
<span class='id identifier rubyid_report_event'>report_event</span><span class='lparen'>(</span><span class='symbol'>:name</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ui_start</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:info</span> <span class='op'>=></span> <span class='id identifier rubyid_info'>info</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="on_ui_stop-instance_method">
|
|
|
|
#<strong>on_ui_stop</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>:category: ::Msf::UiEventSubscriber implementors</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
383
|
|
384
|
|
385
|
|
386
|
|
387</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 383</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_on_ui_stop'>on_ui_stop</span><span class='lparen'>(</span><span class='rparen'>)</span>
|
|
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span> <span class='kw'>and</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_active'>active</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_report_event'>report_event</span><span class='lparen'>(</span><span class='symbol'>:name</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ui_stop</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="report_event-instance_method">
|
|
|
|
#<strong>report_event</strong>(data) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
326
|
|
327
|
|
328
|
|
329
|
|
330</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 326</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_report_event'>report_event</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_active'>active</span>
|
|
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_report_event'>report_event</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="session_event-instance_method">
|
|
|
|
#<strong>session_event</strong>(name, session, opts = {}) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Generic handler for session events</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
407
|
|
408
|
|
409
|
|
410
|
|
411
|
|
412
|
|
413
|
|
414
|
|
415
|
|
416
|
|
417
|
|
418
|
|
419
|
|
420
|
|
421
|
|
422
|
|
423
|
|
424
|
|
425
|
|
426
|
|
427
|
|
428
|
|
429
|
|
430
|
|
431
|
|
432
|
|
433
|
|
434
|
|
435
|
|
436
|
|
437
|
|
438
|
|
439
|
|
440
|
|
441</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/framework.rb', line 407</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_session_event'>session_event</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</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_address'>address</span> <span class='op'>=</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_session_host'>session_host</span>
|
|
|
|
<span class='kw'>if</span> <span class='kw'>not</span> <span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span> <span class='kw'>and</span> <span class='id identifier rubyid_address'>address</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>></span> <span class='int'>0</span><span class='rparen'>)</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='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Session with no session_host/target_host/tunnel_peer. Session Info: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
|
<span class='kw'>return</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_active'>active</span>
|
|
<span class='id identifier rubyid_ws'>ws</span> <span class='op'>=</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_find_workspace'>find_workspace</span><span class='lparen'>(</span><span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_workspace'>workspace</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_each_key'>each_key</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_attr'>attr</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='id identifier rubyid_attr'>attr</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_force_encoding'>force_encoding</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>UTF-8</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='id identifier rubyid_attr'>attr</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>String</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='id identifier rubyid_event'>event</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
|
<span class='symbol'>:workspace</span> <span class='op'>=></span> <span class='id identifier rubyid_ws'>ws</span><span class='comma'>,</span>
|
|
<span class='symbol'>:username</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_username'>username</span><span class='comma'>,</span>
|
|
<span class='symbol'>:name</span> <span class='op'>=></span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span>
|
|
<span class='symbol'>:host</span> <span class='op'>=></span> <span class='id identifier rubyid_address'>address</span><span class='comma'>,</span>
|
|
<span class='symbol'>:info</span> <span class='op'>=></span> <span class='lbrace'>{</span>
|
|
<span class='symbol'>:session_id</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_sid'>sid</span><span class='comma'>,</span>
|
|
<span class='symbol'>:session_info</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span><span class='comma'>,</span>
|
|
<span class='symbol'>:session_uuid</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_uuid'>uuid</span><span class='comma'>,</span>
|
|
<span class='symbol'>:session_type</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span>
|
|
<span class='symbol'>:username</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_username'>username</span><span class='comma'>,</span>
|
|
<span class='symbol'>:target_host</span> <span class='op'>=></span> <span class='id identifier rubyid_address'>address</span><span class='comma'>,</span>
|
|
<span class='symbol'>:via_exploit</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_via_exploit'>via_exploit</span><span class='comma'>,</span>
|
|
<span class='symbol'>:via_payload</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_via_payload'>via_payload</span><span class='comma'>,</span>
|
|
<span class='symbol'>:tunnel_peer</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_tunnel_peer'>tunnel_peer</span><span class='comma'>,</span>
|
|
<span class='symbol'>:exploit_uuid</span> <span class='op'>=></span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_exploit_uuid'>exploit_uuid</span>
|
|
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
|
<span class='rbrace'>}</span>
|
|
<span class='id identifier rubyid_report_event'>report_event</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</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> |