1538 lines
54 KiB
HTML
1538 lines
54 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>
|
|
Module: Msf::Exploit::DECT_COA
|
|
|
|
— Documentation by YARD 0.9.37
|
|
|
|
</title>
|
|
|
|
<link rel="stylesheet" href="../../css/style.css" type="text/css" />
|
|
|
|
<link rel="stylesheet" href="../../css/common.css" type="text/css" />
|
|
|
|
<script type="text/javascript">
|
|
pathId = "Msf::Exploit::DECT_COA";
|
|
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 (D)</a> »
|
|
<span class='title'><span class='object_link'><a href="../../Msf.html" title="Msf (module)">Msf</a></span></span> » <span class='title'><span class='object_link'><a href="../Exploit.html" title="Msf::Exploit (class)">Exploit</a></span></span>
|
|
»
|
|
<span class="title">DECT_COA</span>
|
|
|
|
</div>
|
|
|
|
<div id="search">
|
|
|
|
<a class="full_list_link" id="class_list_link"
|
|
href="../../class_list.html">
|
|
|
|
<svg width="24" height="24">
|
|
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
</svg>
|
|
</a>
|
|
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
|
|
<div id="content"><h1>Module: Msf::Exploit::DECT_COA
|
|
|
|
|
|
|
|
</h1>
|
|
<div class="box_info">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<dl>
|
|
<dt>Defined in:</dt>
|
|
<dd>lib/msf/core/exploit/dect_coa.rb</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
|
|
<h2>Overview</h2><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>This modules provides methods for interacting with a Com-On-Air DECT device</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div>
|
|
|
|
<h2>
|
|
Constant Summary
|
|
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
|
|
</h2>
|
|
|
|
<dl class="constants">
|
|
|
|
<dt id="DECT_BAND_EMEA-constant" class="">DECT_BAND_EMEA =
|
|
<div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Constants</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div>
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0x01</span></pre></dd>
|
|
|
|
<dt id="DECT_BAND_US-constant" class="">DECT_BAND_US =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0x02</span></pre></dd>
|
|
|
|
<dt id="DECT_BAND_BOTH-constant" class="">DECT_BAND_BOTH =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0x03</span></pre></dd>
|
|
|
|
<dt id="COA_MODE_IDLE-constant" class="">COA_MODE_IDLE =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0x0000</span></pre></dd>
|
|
|
|
<dt id="COA_MODE_FP-constant" class="">COA_MODE_FP =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0x0100</span></pre></dd>
|
|
|
|
<dt id="COA_MODE_PP-constant" class="">COA_MODE_PP =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0x0200</span></pre></dd>
|
|
|
|
<dt id="COA_MODE_SNIFF-constant" class="">COA_MODE_SNIFF =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0x0300</span></pre></dd>
|
|
|
|
<dt id="COA_MODE_JAM-constant" class="">COA_MODE_JAM =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0x0400</span></pre></dd>
|
|
|
|
<dt id="COA_MODE_EEPROM-constant" class="">COA_MODE_EEPROM =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0x0500</span></pre></dd>
|
|
|
|
<dt id="COA_SUBMODE_SNIFF_SCANFP-constant" class="">COA_SUBMODE_SNIFF_SCANFP =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0x0001</span></pre></dd>
|
|
|
|
<dt id="COA_SUBMODE_SNIFF_SCANPP-constant" class="">COA_SUBMODE_SNIFF_SCANPP =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0x0002</span></pre></dd>
|
|
|
|
<dt id="COA_SUBMODE_SNIFF_SYNC-constant" class="">COA_SUBMODE_SNIFF_SYNC =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0x0003</span></pre></dd>
|
|
|
|
<dt id="COA_IOCTL_MODE-constant" class="">COA_IOCTL_MODE =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0xD000</span></pre></dd>
|
|
|
|
<dt id="COA_IOCTL_RADIO-constant" class="">COA_IOCTL_RADIO =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0xD001</span></pre></dd>
|
|
|
|
<dt id="COA_IOCTL_RX-constant" class="">COA_IOCTL_RX =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0xD002</span></pre></dd>
|
|
|
|
<dt id="COA_IOCTL_TX-constant" class="">COA_IOCTL_TX =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0xD003</span></pre></dd>
|
|
|
|
<dt id="COA_IOCTL_CHAN-constant" class="">COA_IOCTL_CHAN =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0xD004</span></pre></dd>
|
|
|
|
<dt id="COA_IOCTL_SLOT-constant" class="">COA_IOCTL_SLOT =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0xD005</span></pre></dd>
|
|
|
|
<dt id="COA_IOCTL_RSSI-constant" class="">COA_IOCTL_RSSI =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0xD006</span></pre></dd>
|
|
|
|
<dt id="COA_IOCTL_FIRMWARE-constant" class="">COA_IOCTL_FIRMWARE =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0xD007</span></pre></dd>
|
|
|
|
<dt id="COA_IOCTL_SETRFPI-constant" class="">COA_IOCTL_SETRFPI =
|
|
|
|
</dt>
|
|
<dd><pre class="code"><span class='int'>0xD008</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="#band-instance_method" title="#band (instance method)">#<strong>band</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Returns the value of attribute band.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#channel-instance_method" title="#channel (instance method)">#<strong>channel</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Returns the value of attribute channel.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#dect_device-instance_method" title="#dect_device (instance method)">#<strong>dect_device</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Returns the value of attribute dect_device.</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="#call_scan_mode-instance_method" title="#call_scan_mode (instance method)">#<strong>call_scan_mode</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#close_coa-instance_method" title="#close_coa (instance method)">#<strong>close_coa</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#fp_scan_mode-instance_method" title="#fp_scan_mode (instance method)">#<strong>fp_scan_mode</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(info = {}) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#next_channel-instance_method" title="#next_channel (instance method)">#<strong>next_channel</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#open_coa-instance_method" title="#open_coa (instance method)">#<strong>open_coa</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#parse_call-instance_method" title="#parse_call (instance method)">#<strong>parse_call</strong>(data) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#parse_rfpi-instance_method" title="#parse_rfpi (instance method)">#<strong>parse_rfpi</strong>(data) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#parse_station-instance_method" title="#parse_station (instance method)">#<strong>parse_station</strong>(data) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#poll_coa-instance_method" title="#poll_coa (instance method)">#<strong>poll_coa</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#pp_scan_mode-instance_method" title="#pp_scan_mode (instance method)">#<strong>pp_scan_mode</strong>(rfpi) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#record_coa-instance_method" title="#record_coa (instance method)">#<strong>record_coa</strong>(filename) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#rfpi-instance_method" title="#rfpi (instance method)">#<strong>rfpi</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#set_band-instance_method" title="#set_band (instance method)">#<strong>set_band</strong>(b) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#set_channel-instance_method" title="#set_channel (instance method)">#<strong>set_channel</strong>(chan) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#set_rfpi-instance_method" title="#set_rfpi (instance method)">#<strong>set_rfpi</strong>(rfpi) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#stop_coa-instance_method" title="#stop_coa (instance method)">#<strong>stop_coa</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<div id="instance_attr_details" class="attr_details">
|
|
<h2>Instance Attribute Details</h2>
|
|
|
|
|
|
<span id="band=-instance_method"></span>
|
|
<div class="method_details first">
|
|
<h3 class="signature first" id="band-instance_method">
|
|
|
|
#<strong>band</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Returns the value of attribute band.</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
102
|
|
103
|
|
104</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 102</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_band'>band</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_band'>band</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="channel=-instance_method"></span>
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="channel-instance_method">
|
|
|
|
#<strong>channel</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Returns the value of attribute channel.</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
98
|
|
99
|
|
100</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 98</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_channel'>channel</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_channel'>channel</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="dect_device=-instance_method"></span>
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="dect_device-instance_method">
|
|
|
|
#<strong>dect_device</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Returns the value of attribute dect_device.</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
191
|
|
192
|
|
193</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 191</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_dect_device'>dect_device</span>
|
|
<span class='ivar'>@dect_device</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="call_scan_mode-instance_method">
|
|
|
|
#<strong>call_scan_mode</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
81
|
|
82
|
|
83
|
|
84</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 81</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_call_scan_mode'>call_scan_mode</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_ioctl'>ioctl</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#COA_IOCTL_MODE-constant" title="Msf::Exploit::DECT_COA::COA_IOCTL_MODE (constant)">COA_IOCTL_MODE</a></span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="#COA_MODE_SNIFF-constant" title="Msf::Exploit::DECT_COA::COA_MODE_SNIFF (constant)">COA_MODE_SNIFF</a></span></span> <span class='op'>|</span> <span class='const'><span class='object_link'><a href="#COA_SUBMODE_SNIFF_SCANPP-constant" title="Msf::Exploit::DECT_COA::COA_SUBMODE_SNIFF_SCANPP (constant)">COA_SUBMODE_SNIFF_SCANPP</a></span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>s</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_set_band'>set_band</span><span class='lparen'>(</span><span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>BAND</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="close_coa-instance_method">
|
|
|
|
#<strong>close_coa</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
64
|
|
65
|
|
66
|
|
67</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 64</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_close_coa'>close_coa</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="fp_scan_mode-instance_method">
|
|
|
|
#<strong>fp_scan_mode</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
70
|
|
71
|
|
72
|
|
73</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 70</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_fp_scan_mode'>fp_scan_mode</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_ioctl'>ioctl</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#COA_IOCTL_MODE-constant" title="Msf::Exploit::DECT_COA::COA_IOCTL_MODE (constant)">COA_IOCTL_MODE</a></span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="#COA_MODE_SNIFF-constant" title="Msf::Exploit::DECT_COA::COA_MODE_SNIFF (constant)">COA_MODE_SNIFF</a></span></span> <span class='op'>|</span> <span class='const'><span class='object_link'><a href="#COA_SUBMODE_SNIFF_SCANFP-constant" title="Msf::Exploit::DECT_COA::COA_SUBMODE_SNIFF_SCANFP (constant)">COA_SUBMODE_SNIFF_SCANFP</a></span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>s</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_set_band'>set_band</span><span class='lparen'>(</span><span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>BAND</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="initialize-instance_method">
|
|
|
|
#<strong>initialize</strong>(info = {}) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
38
|
|
39
|
|
40
|
|
41
|
|
42
|
|
43
|
|
44
|
|
45
|
|
46
|
|
47
|
|
48
|
|
49</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 38</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_info'>info</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
<span class='kw'>super</span>
|
|
|
|
<span class='id identifier rubyid_register_options'>register_options</span><span class='lparen'>(</span>
|
|
<span class='lbracket'>[</span>
|
|
<span class='const'><span class='object_link'><a href="../OptString.html" title="Msf::OptString (class)">OptString</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../OptString.html#initialize-instance_method" title="Msf::OptString#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>INTERFACE</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='kw'>true</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>The name of the Com-On-Air Interface</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/dev/coa</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span>
|
|
<span class='const'><span class='object_link'><a href="../OptString.html" title="Msf::OptString (class)">OptString</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../OptString.html#initialize-instance_method" title="Msf::OptString#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>BAND</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='kw'>true</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>DECT band</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_US-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_US (constant)">DECT_BAND_US</a></span></span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span>
|
|
<span class='const'><span class='object_link'><a href="../OptString.html" title="Msf::OptString (class)">OptString</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../OptString.html#initialize-instance_method" title="Msf::OptString#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>CHAN</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='kw'>false</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>DECT channel</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='int'>0</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span>
|
|
<span class='const'><span class='object_link'><a href="../OptString.html" title="Msf::OptString (class)">OptString</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../OptString.html#initialize-instance_method" title="Msf::OptString#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RFPI</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='kw'>false</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RFPI for synchronous scan</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
|
<span class='rbracket'>]</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../../Msf.html" title="Msf (module)">Msf</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Exploit.html" title="Msf::Exploit (class)">Exploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Msf::Exploit::DECT_COA (module)">DECT_COA</a></span></span>
|
|
<span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="next_channel-instance_method">
|
|
|
|
#<strong>next_channel</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
125
|
|
126
|
|
127
|
|
128
|
|
129
|
|
130
|
|
131
|
|
132
|
|
133
|
|
134
|
|
135
|
|
136
|
|
137
|
|
138
|
|
139
|
|
140
|
|
141
|
|
142
|
|
143
|
|
144
|
|
145
|
|
146
|
|
147
|
|
148
|
|
149
|
|
150
|
|
151
|
|
152</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 125</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_next_channel'>next_channel</span>
|
|
<span class='kw'>case</span> <span class='id identifier rubyid_band'>band</span>
|
|
<span class='kw'>when</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_US-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_US (constant)">DECT_BAND_US</a></span></span>
|
|
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'><</span> <span class='int'>27</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>+</span> <span class='int'>1</span><span class='rparen'>)</span>
|
|
<span class='kw'>else</span>
|
|
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>23</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>when</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_EMEA-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_EMEA (constant)">DECT_BAND_EMEA</a></span></span>
|
|
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'><</span> <span class='int'>9</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>+</span> <span class='int'>1</span><span class='rparen'>)</span>
|
|
<span class='kw'>else</span>
|
|
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>when</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_BOTH-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_BOTH (constant)">DECT_BAND_BOTH</a></span></span>
|
|
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'><</span> <span class='int'>9</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>+</span> <span class='int'>1</span><span class='rparen'>)</span>
|
|
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>==</span> <span class='int'>9</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>23</span><span class='rparen'>)</span>
|
|
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>></span> <span class='int'>9</span> <span class='op'>&&</span> <span class='id identifier rubyid_channel'>channel</span> <span class='op'><</span> <span class='int'>27</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>+</span> <span class='int'>1</span><span class='rparen'>)</span>
|
|
<span class='kw'>else</span>
|
|
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="open_coa-instance_method">
|
|
|
|
#<strong>open_coa</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
51
|
|
52
|
|
53
|
|
54
|
|
55
|
|
56
|
|
57
|
|
58
|
|
59
|
|
60
|
|
61
|
|
62</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 51</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_open_coa'>open_coa</span>
|
|
|
|
<span class='id identifier rubyid_close_coa'>close_coa</span> <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span>
|
|
|
|
<span class='kw'>begin</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>INTERFACE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>wb+</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
|
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
|
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Could not open the Com-On-Air device at </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>INTERFACE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>This module only works on Linux with the appropriate hardware and driver, while running as root</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>RuntimeError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Could not open the Com-On-Air device: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="parse_call-instance_method">
|
|
|
|
#<strong>parse_call</strong>(data) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
176
|
|
177
|
|
178
|
|
179
|
|
180
|
|
181
|
|
182
|
|
183</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 176</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_parse_call'>parse_call</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
|
|
<span class='lbrace'>{</span>
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>channel</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span>
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rssi</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span>
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rfpi_raw</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>2</span><span class='comma'>,</span><span class='int'>5</span><span class='rbracket'>]</span><span class='comma'>,</span>
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rfpi</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_parse_rfpi'>parse_rfpi</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>2</span><span class='comma'>,</span><span class='int'>5</span><span class='rbracket'>]</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="parse_rfpi-instance_method">
|
|
|
|
#<strong>parse_rfpi</strong>(data) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
163
|
|
164
|
|
165</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 163</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_parse_rfpi'>parse_rfpi</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>%02x %02x %02x %02x %02x</span><span class='tstring_end'>"</span></span><span class='comma'>,</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>4</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="parse_station-instance_method">
|
|
|
|
#<strong>parse_station</strong>(data) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
167
|
|
168
|
|
169
|
|
170
|
|
171
|
|
172
|
|
173
|
|
174</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 167</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_parse_station'>parse_station</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
|
|
<span class='lbrace'>{</span>
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>channel</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span>
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rssi</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span>
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rfpi_raw</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>2</span><span class='comma'>,</span><span class='int'>5</span><span class='rbracket'>]</span><span class='comma'>,</span>
|
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rfpi</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_parse_rfpi'>parse_rfpi</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>2</span><span class='comma'>,</span><span class='int'>5</span><span class='rbracket'>]</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="poll_coa-instance_method">
|
|
|
|
#<strong>poll_coa</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
154
|
|
155
|
|
156
|
|
157
|
|
158
|
|
159
|
|
160
|
|
161</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 154</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_poll_coa'>poll_coa</span>
|
|
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>IO</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='float'>0.50</span><span class='rparen'>)</span>
|
|
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span> <span class='op'>!=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='id identifier rubyid_data'>data</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="pp_scan_mode-instance_method">
|
|
|
|
#<strong>pp_scan_mode</strong>(rfpi) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
75
|
|
76
|
|
77
|
|
78
|
|
79</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 75</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_pp_scan_mode'>pp_scan_mode</span><span class='lparen'>(</span><span class='id identifier rubyid_rfpi'>rfpi</span><span class='rparen'>)</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_ioctl'>ioctl</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#COA_IOCTL_MODE-constant" title="Msf::Exploit::DECT_COA::COA_IOCTL_MODE (constant)">COA_IOCTL_MODE</a></span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="#COA_MODE_SNIFF-constant" title="Msf::Exploit::DECT_COA::COA_MODE_SNIFF (constant)">COA_MODE_SNIFF</a></span></span> <span class='op'>|</span> <span class='const'><span class='object_link'><a href="#COA_SUBMODE_SNIFF_SYNC-constant" title="Msf::Exploit::DECT_COA::COA_SUBMODE_SNIFF_SYNC (constant)">COA_SUBMODE_SNIFF_SYNC</a></span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>S</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rfpi'>rfpi</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_set_rfpi'>set_rfpi</span><span class='lparen'>(</span><span class='id identifier rubyid_rfpi'>rfpi</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="record_coa-instance_method">
|
|
|
|
#<strong>record_coa</strong>(filename) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Raises:</p>
|
|
<ul class="raise">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>RuntimeError</tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
185
|
|
186
|
|
187
|
|
188
|
|
189</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 185</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_record_coa'>record_coa</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>RuntimeError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>DECT call recording is not supported yet</span><span class='tstring_end'>"</span></span>
|
|
<span class='id identifier rubyid_fd'>fd</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rb+</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="rfpi-instance_method">
|
|
|
|
#<strong>rfpi</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
90
|
|
91
|
|
92</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 90</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_rfpi'>rfpi</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_rfpi'>rfpi</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="set_band-instance_method">
|
|
|
|
#<strong>set_band</strong>(b) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
106
|
|
107
|
|
108
|
|
109
|
|
110
|
|
111
|
|
112
|
|
113
|
|
114
|
|
115
|
|
116
|
|
117
|
|
118</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 106</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_set_band'>set_band</span><span class='lparen'>(</span><span class='id identifier rubyid_b'>b</span><span class='rparen'>)</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_band'>band</span> <span class='op'>=</span> <span class='id identifier rubyid_b'>b</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
|
|
|
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_band'>band</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_US-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_US (constant)">DECT_BAND_US</a></span></span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>23</span><span class='rparen'>)</span>
|
|
|
|
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_band'>band</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_EMEA-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_EMEA (constant)">DECT_BAND_EMEA</a></span></span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
|
|
|
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_band'>band</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#DECT_BAND_BOTH-constant" title="Msf::Exploit::DECT_COA::DECT_BAND_BOTH (constant)">DECT_BAND_BOTH</a></span></span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='int'>0</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="set_channel-instance_method">
|
|
|
|
#<strong>set_channel</strong>(chan) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
120
|
|
121
|
|
122
|
|
123</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 120</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_set_channel'>set_channel</span><span class='lparen'>(</span><span class='id identifier rubyid_chan'>chan</span><span class='rparen'>)</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_channel'>channel</span> <span class='op'>=</span> <span class='id identifier rubyid_chan'>chan</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_ioctl'>ioctl</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#COA_IOCTL_CHAN-constant" title="Msf::Exploit::DECT_COA::COA_IOCTL_CHAN (constant)">COA_IOCTL_CHAN</a></span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_channel'>channel</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>i</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="set_rfpi-instance_method">
|
|
|
|
#<strong>set_rfpi</strong>(rfpi) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
94
|
|
95
|
|
96</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 94</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_set_rfpi'>set_rfpi</span><span class='lparen'>(</span><span class='id identifier rubyid_rfpi'>rfpi</span><span class='rparen'>)</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_ioctl'>ioctl</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#COA_IOCTL_SETRFPI-constant" title="Msf::Exploit::DECT_COA::COA_IOCTL_SETRFPI (constant)">COA_IOCTL_SETRFPI</a></span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_rfpi'>rfpi</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>s</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="stop_coa-instance_method">
|
|
|
|
#<strong>stop_coa</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
86
|
|
87
|
|
88</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/dect_coa.rb', line 86</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_stop_coa'>stop_coa</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dect_device'>dect_device</span><span class='period'>.</span><span class='id identifier rubyid_ioctl'>ioctl</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#COA_IOCTL_MODE-constant" title="Msf::Exploit::DECT_COA::COA_IOCTL_MODE (constant)">COA_IOCTL_MODE</a></span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'><span class='object_link'><a href="#COA_MODE_IDLE-constant" title="Msf::Exploit::DECT_COA::COA_MODE_IDLE (constant)">COA_MODE_IDLE</a></span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_pack'>pack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>s</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="footer">
|
|
Generated on Fri May 8 17:01:14 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> |