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

2044 lines
102 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Module: Msf::Exploit::Remote::Telnet
&mdash; Documentation by YARD 0.9.37
</title>
<link rel="stylesheet" href="../../../css/style.css" type="text/css" />
<link rel="stylesheet" href="../../../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "Msf::Exploit::Remote::Telnet";
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 (T)</a> &raquo;
<span class='title'><span class='object_link'><a href="../../../Msf.html" title="Msf (module)">Msf</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../Exploit.html" title="Msf::Exploit (class)">Exploit</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Remote.html" title="Msf::Exploit::Remote (class)">Remote</a></span></span>
&raquo;
<span class="title">Telnet</span>
</div>
<div id="search">
<a class="full_list_link" id="class_list_link"
href="../../../class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Module: Msf::Exploit::Remote::Telnet
</h1>
<div class="box_info">
<dl>
<dt>Includes:</dt>
<dd><span class='object_link'><a href="../../Auxiliary/Login.html" title="Msf::Auxiliary::Login (module)">Auxiliary::Login</a></span>, <span class='object_link'><a href="Tcp.html" title="Msf::Exploit::Remote::Tcp (module)">Tcp</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>lib/msf/core/exploit/remote/telnet.rb</dd>
</dl>
</div>
<h2>Overview</h2><div class="docstring">
<div class="discussion">
<p>This module exposes methods that may be useful to exploits that deal with servers that speak the telnet protocol.</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="IAC-constant" class="">IAC =
<div class="docstring">
<div class="discussion">
<p>Borrowing constants from Rubys Net::Telnet class (ruby license)</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>255</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="DONT-constant" class="">DONT =
<div class="docstring">
<div class="discussion">
<p>“377” # “xff” # interpret as command</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>254</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="DO-constant" class="">DO =
<div class="docstring">
<div class="discussion">
<p>“376” # “xfe” # you are not to use option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>253</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="WONT-constant" class="">WONT =
<div class="docstring">
<div class="discussion">
<p>“375” # “xfd” # please, you use option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>252</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="WILL-constant" class="">WILL =
<div class="docstring">
<div class="discussion">
<p>“374” # “xfc” # I wont use option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>251</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="SB-constant" class="">SB =
<div class="docstring">
<div class="discussion">
<p>“373” # “xfb” # I will use option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>250</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="GA-constant" class="">GA =
<div class="docstring">
<div class="discussion">
<p>“372” # “xfa” # interpret as subnegotiation</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>249</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="EL-constant" class="">EL =
<div class="docstring">
<div class="discussion">
<p>“371” # “xf9” # you may reverse the line</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>248</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="EC-constant" class="">EC =
<div class="docstring">
<div class="discussion">
<p>“370” # “xf8” # erase the current line</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>247</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="AYT-constant" class="">AYT =
<div class="docstring">
<div class="discussion">
<p>“367” # “xf7” # erase the current character</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>246</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="AO-constant" class="">AO =
<div class="docstring">
<div class="discussion">
<p>“366” # “xf6” # are you there</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>245</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="IP-constant" class="">IP =
<div class="docstring">
<div class="discussion">
<p>“365” # “xf5” # abort outputbut let prog finish</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>244</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="BREAK-constant" class="">BREAK =
<div class="docstring">
<div class="discussion">
<p>“364” # “xf4” # interrupt processpermanently</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>243</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="DM-constant" class="">DM =
<div class="docstring">
<div class="discussion">
<p>“363” # “xf3” # break</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>242</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="NOP-constant" class="">NOP =
<div class="docstring">
<div class="discussion">
<p>“362” # “xf2” # data markfor connect. cleaning</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>241</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="SE-constant" class="">SE =
<div class="docstring">
<div class="discussion">
<p>“361” # “xf1” # nop</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>240</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="EOR-constant" class="">EOR =
<div class="docstring">
<div class="discussion">
<p>“360” # “xf0” # end sub negotiation</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>239</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="ABORT-constant" class="">ABORT =
<div class="docstring">
<div class="discussion">
<p>“357” # “xef” # end of record (transparent mode)</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>238</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="SUSP-constant" class="">SUSP =
<div class="docstring">
<div class="discussion">
<p>“356” # “xee” # Abort process</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>237</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="EOF-constant" class="">EOF =
<div class="docstring">
<div class="discussion">
<p>“355” # “xed” # Suspend process</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>236</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="SYNCH-constant" class="">SYNCH =
<div class="docstring">
<div class="discussion">
<p>“354” # “xec” # End of file</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>242</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_BINARY-constant" class="">OPT_BINARY =
<div class="docstring">
<div class="discussion">
<p>“362” # “xf2” # for telfunc calls</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>0</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_ECHO-constant" class="">OPT_ECHO =
<div class="docstring">
<div class="discussion">
<p>“000” # “x00” # Binary Transmission</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>1</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_RCP-constant" class="">OPT_RCP =
<div class="docstring">
<div class="discussion">
<p>“001” # “x01” # Echo</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>2</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_SGA-constant" class="">OPT_SGA =
<div class="docstring">
<div class="discussion">
<p>“002” # “x02” # Reconnection</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>3</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAMS-constant" class="">OPT_NAMS =
<div class="docstring">
<div class="discussion">
<p>“003” # “x03” # Suppress Go Ahead</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>4</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_STATUS-constant" class="">OPT_STATUS =
<div class="docstring">
<div class="discussion">
<p>“004” # “x04” # Approx Message Size Negotiation</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>5</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_TM-constant" class="">OPT_TM =
<div class="docstring">
<div class="discussion">
<p>“005” # “x05” # Status</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>6</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_RCTE-constant" class="">OPT_RCTE =
<div class="docstring">
<div class="discussion">
<p>“006” # “x06” # Timing Mark</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>7</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOL-constant" class="">OPT_NAOL =
<div class="docstring">
<div class="discussion">
<p>“a” # “x07” # Remote Controlled Trans and Echo</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>8</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOP-constant" class="">OPT_NAOP =
<div class="docstring">
<div class="discussion">
<p>“010” # “x08” # Output Line Width</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>9</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOCRD-constant" class="">OPT_NAOCRD =
<div class="docstring">
<div class="discussion">
<p>“t” # “x09” # Output Page Size</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>10</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOHTS-constant" class="">OPT_NAOHTS =
<div class="docstring">
<div class="discussion">
<p>“n” # “x0a” # Output Carriage-Return Disposition</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>11</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOHTD-constant" class="">OPT_NAOHTD =
<div class="docstring">
<div class="discussion">
<p>“v” # “x0b” # Output Horizontal Tab Stops</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>12</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOFFD-constant" class="">OPT_NAOFFD =
<div class="docstring">
<div class="discussion">
<p>“f” # “x0c” # Output Horizontal Tab Disposition</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>13</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOVTS-constant" class="">OPT_NAOVTS =
<div class="docstring">
<div class="discussion">
<p>“r” # “x0d” # Output Formfeed Disposition</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>14</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOVTD-constant" class="">OPT_NAOVTD =
<div class="docstring">
<div class="discussion">
<p>“016” # “x0e” # Output Vertical Tabstops</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>15</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAOLFD-constant" class="">OPT_NAOLFD =
<div class="docstring">
<div class="discussion">
<p>“017” # “x0f” # Output Vertical Tab Disposition</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>16</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_XASCII-constant" class="">OPT_XASCII =
<div class="docstring">
<div class="discussion">
<p>“020” # “x10” # Output Linefeed Disposition</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>17</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_LOGOUT-constant" class="">OPT_LOGOUT =
<div class="docstring">
<div class="discussion">
<p>“021” # “x11” # Extended ASCII</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>18</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_BM-constant" class="">OPT_BM =
<div class="docstring">
<div class="discussion">
<p>“022” # “x12” # Logout</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>19</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_DET-constant" class="">OPT_DET =
<div class="docstring">
<div class="discussion">
<p>“023” # “x13” # Byte Macro</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>20</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_SUPDUP-constant" class="">OPT_SUPDUP =
<div class="docstring">
<div class="discussion">
<p>“024” # “x14” # Data Entry Terminal</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>21</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_SUPDUPOUTPUT-constant" class="">OPT_SUPDUPOUTPUT =
<div class="docstring">
<div class="discussion">
<p>“025” # “x15” # SUPDUP</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>22</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_SNDLOC-constant" class="">OPT_SNDLOC =
<div class="docstring">
<div class="discussion">
<p>“026” # “x16” # SUPDUP Output</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>23</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_TTYPE-constant" class="">OPT_TTYPE =
<div class="docstring">
<div class="discussion">
<p>“027” # “x17” # Send Location</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>24</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_EOR-constant" class="">OPT_EOR =
<div class="docstring">
<div class="discussion">
<p>“030” # “x18” # Terminal Type</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>25</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_TUID-constant" class="">OPT_TUID =
<div class="docstring">
<div class="discussion">
<p>“031” # “x19” # End of Record</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>26</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_OUTMRK-constant" class="">OPT_OUTMRK =
<div class="docstring">
<div class="discussion">
<p>“032” # “x1a” # TACACS User Identification</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>27</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_TTYLOC-constant" class="">OPT_TTYLOC =
<div class="docstring">
<div class="discussion">
<p>“e” # “x1b” # Output Marking</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>28</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_3270REGIME-constant" class="">OPT_3270REGIME =
<div class="docstring">
<div class="discussion">
<p>“034” # “x1c” # Terminal Location Number</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>29</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_X3PAD-constant" class="">OPT_X3PAD =
<div class="docstring">
<div class="discussion">
<p>“035” # “x1d” # Telnet 3270 Regime</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>30</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NAWS-constant" class="">OPT_NAWS =
<div class="docstring">
<div class="discussion">
<p>“036” # “x1e” # X.3 PAD</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>31</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_TSPEED-constant" class="">OPT_TSPEED =
<div class="docstring">
<div class="discussion">
<p>“037” # “x1f” # Negotiate About Window Size</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>32</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_LFLOW-constant" class="">OPT_LFLOW =
<div class="docstring">
<div class="discussion">
<p>“ ” # “x20” # Terminal Speed</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>33</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_LINEMODE-constant" class="">OPT_LINEMODE =
<div class="docstring">
<div class="discussion">
<p>“!” # “x21” # Remote Flow Control</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>34</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_XDISPLOC-constant" class="">OPT_XDISPLOC =
<div class="docstring">
<div class="discussion">
<p>&quot;” # “x22” # Linemode</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>35</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_OLD_ENVIRON-constant" class="">OPT_OLD_ENVIRON =
<div class="docstring">
<div class="discussion">
<p>“#” # “x23” # X Display Location</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>36</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_AUTHENTICATION-constant" class="">OPT_AUTHENTICATION =
<div class="docstring">
<div class="discussion">
<p>“$” # “x24” # Environment Option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>37</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_ENCRYPT-constant" class="">OPT_ENCRYPT =
<div class="docstring">
<div class="discussion">
<p>“%” # “x25” # Authentication Option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>38</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_NEW_ENVIRON-constant" class="">OPT_NEW_ENVIRON =
<div class="docstring">
<div class="discussion">
<p>&amp;” # “x26” # Encryption Option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>39</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="OPT_EXOPL-constant" class="">OPT_EXOPL =
<div class="docstring">
<div class="discussion">
<p>“‘” # “x27” # New Environment Option</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='int'>255</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span></pre></dd>
<dt id="TELNET_OPTIONS-constant" class="">TELNET_OPTIONS =
<div class="docstring">
<div class="discussion">
<p>This hash is defined in order help facilitate easy debug printing</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='lbrace'>{</span>
<span class='const'><span class='object_link'><a href="#OPT_BINARY-constant" title="Msf::Exploit::Remote::Telnet::OPT_BINARY (constant)">OPT_BINARY</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>BINARY</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_ECHO-constant" title="Msf::Exploit::Remote::Telnet::OPT_ECHO (constant)">OPT_ECHO</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>ECHO</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_RCP-constant" title="Msf::Exploit::Remote::Telnet::OPT_RCP (constant)">OPT_RCP</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>RCP</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_SGA-constant" title="Msf::Exploit::Remote::Telnet::OPT_SGA (constant)">OPT_SGA</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>SGA</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_NAMS-constant" title="Msf::Exploit::Remote::Telnet::OPT_NAMS (constant)">OPT_NAMS</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NAMS</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_STATUS-constant" title="Msf::Exploit::Remote::Telnet::OPT_STATUS (constant)">OPT_STATUS</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>STATUS</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_TM-constant" title="Msf::Exploit::Remote::Telnet::OPT_TM (constant)">OPT_TM</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>TM</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_RCTE-constant" title="Msf::Exploit::Remote::Telnet::OPT_RCTE (constant)">OPT_RCTE</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>RCTE</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_NAOL-constant" title="Msf::Exploit::Remote::Telnet::OPT_NAOL (constant)">OPT_NAOL</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NAOL</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_NAOP-constant" title="Msf::Exploit::Remote::Telnet::OPT_NAOP (constant)">OPT_NAOP</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NAOP</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_NAOCRD-constant" title="Msf::Exploit::Remote::Telnet::OPT_NAOCRD (constant)">OPT_NAOCRD</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NAOCRD</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_NAOHTS-constant" title="Msf::Exploit::Remote::Telnet::OPT_NAOHTS (constant)">OPT_NAOHTS</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NAOHTS</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_NAOHTD-constant" title="Msf::Exploit::Remote::Telnet::OPT_NAOHTD (constant)">OPT_NAOHTD</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NAOHTD</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_NAOFFD-constant" title="Msf::Exploit::Remote::Telnet::OPT_NAOFFD (constant)">OPT_NAOFFD</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NAOFFD</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_NAOVTS-constant" title="Msf::Exploit::Remote::Telnet::OPT_NAOVTS (constant)">OPT_NAOVTS</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NAOVTS</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_NAOVTD-constant" title="Msf::Exploit::Remote::Telnet::OPT_NAOVTD (constant)">OPT_NAOVTD</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NAOVTD</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_NAOLFD-constant" title="Msf::Exploit::Remote::Telnet::OPT_NAOLFD (constant)">OPT_NAOLFD</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NAOLFD</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_XASCII-constant" title="Msf::Exploit::Remote::Telnet::OPT_XASCII (constant)">OPT_XASCII</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>XASCII</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_LOGOUT-constant" title="Msf::Exploit::Remote::Telnet::OPT_LOGOUT (constant)">OPT_LOGOUT</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>LOGOUT</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_BM-constant" title="Msf::Exploit::Remote::Telnet::OPT_BM (constant)">OPT_BM</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>BM</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_DET-constant" title="Msf::Exploit::Remote::Telnet::OPT_DET (constant)">OPT_DET</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>DET</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_SUPDUP-constant" title="Msf::Exploit::Remote::Telnet::OPT_SUPDUP (constant)">OPT_SUPDUP</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>SUPDUP</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_SUPDUPOUTPUT-constant" title="Msf::Exploit::Remote::Telnet::OPT_SUPDUPOUTPUT (constant)">OPT_SUPDUPOUTPUT</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>SUPDUPOUTPUT</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_SNDLOC-constant" title="Msf::Exploit::Remote::Telnet::OPT_SNDLOC (constant)">OPT_SNDLOC</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>SNDLOC</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_TTYPE-constant" title="Msf::Exploit::Remote::Telnet::OPT_TTYPE (constant)">OPT_TTYPE</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>TTYPE</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_EOR-constant" title="Msf::Exploit::Remote::Telnet::OPT_EOR (constant)">OPT_EOR</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>EOR</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_TUID-constant" title="Msf::Exploit::Remote::Telnet::OPT_TUID (constant)">OPT_TUID</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>TUID</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_OUTMRK-constant" title="Msf::Exploit::Remote::Telnet::OPT_OUTMRK (constant)">OPT_OUTMRK</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>OUTMRK</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_TTYLOC-constant" title="Msf::Exploit::Remote::Telnet::OPT_TTYLOC (constant)">OPT_TTYLOC</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>TTYLOC</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_3270REGIME-constant" title="Msf::Exploit::Remote::Telnet::OPT_3270REGIME (constant)">OPT_3270REGIME</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>3270REGIME</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_X3PAD-constant" title="Msf::Exploit::Remote::Telnet::OPT_X3PAD (constant)">OPT_X3PAD</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>X3PAD</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_NAWS-constant" title="Msf::Exploit::Remote::Telnet::OPT_NAWS (constant)">OPT_NAWS</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NAWS</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_TSPEED-constant" title="Msf::Exploit::Remote::Telnet::OPT_TSPEED (constant)">OPT_TSPEED</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>TSPEED</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_LFLOW-constant" title="Msf::Exploit::Remote::Telnet::OPT_LFLOW (constant)">OPT_LFLOW</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>LFLOW</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_LINEMODE-constant" title="Msf::Exploit::Remote::Telnet::OPT_LINEMODE (constant)">OPT_LINEMODE</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>LINEMODE</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_XDISPLOC-constant" title="Msf::Exploit::Remote::Telnet::OPT_XDISPLOC (constant)">OPT_XDISPLOC</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>XDISPLOC</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_OLD_ENVIRON-constant" title="Msf::Exploit::Remote::Telnet::OPT_OLD_ENVIRON (constant)">OPT_OLD_ENVIRON</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>OLD_ENVIRON</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_AUTHENTICATION-constant" title="Msf::Exploit::Remote::Telnet::OPT_AUTHENTICATION (constant)">OPT_AUTHENTICATION</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>AUTHENTICATION</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_ENCRYPT-constant" title="Msf::Exploit::Remote::Telnet::OPT_ENCRYPT (constant)">OPT_ENCRYPT</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>ENCRYPT</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_NEW_ENVIRON-constant" title="Msf::Exploit::Remote::Telnet::OPT_NEW_ENVIRON (constant)">OPT_NEW_ENVIRON</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NEW_ENVIRON</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#OPT_EXOPL-constant" title="Msf::Exploit::Remote::Telnet::OPT_EXOPL (constant)">OPT_EXOPL</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>EXOPL</span><span class='tstring_end'>&#39;</span></span>
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
<dt id="TELNET_CONSTS-constant" class="">TELNET_CONSTS =
</dt>
<dd><pre class="code"><span class='lbrace'>{</span>
<span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>IAC</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#DONT-constant" title="Msf::Exploit::Remote::Telnet::DONT (constant)">DONT</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>DONT</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#DO-constant" title="Msf::Exploit::Remote::Telnet::DO (constant)">DO</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>DO</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#WONT-constant" title="Msf::Exploit::Remote::Telnet::WONT (constant)">WONT</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>WONT</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#WILL-constant" title="Msf::Exploit::Remote::Telnet::WILL (constant)">WILL</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>WILL</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#SB-constant" title="Msf::Exploit::Remote::Telnet::SB (constant)">SB</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>SB</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#SE-constant" title="Msf::Exploit::Remote::Telnet::SE (constant)">SE</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>SE</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#GA-constant" title="Msf::Exploit::Remote::Telnet::GA (constant)">GA</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>GA</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#EL-constant" title="Msf::Exploit::Remote::Telnet::EL (constant)">EL</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>EL</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#EC-constant" title="Msf::Exploit::Remote::Telnet::EC (constant)">EC</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>EC</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#AYT-constant" title="Msf::Exploit::Remote::Telnet::AYT (constant)">AYT</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>AYT</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#AO-constant" title="Msf::Exploit::Remote::Telnet::AO (constant)">AO</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>AO</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#IP-constant" title="Msf::Exploit::Remote::Telnet::IP (constant)">IP</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>IP</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#BREAK-constant" title="Msf::Exploit::Remote::Telnet::BREAK (constant)">BREAK</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>BREAK</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#DM-constant" title="Msf::Exploit::Remote::Telnet::DM (constant)">DM</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>DM</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#NOP-constant" title="Msf::Exploit::Remote::Telnet::NOP (constant)">NOP</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>NOP</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#EOR-constant" title="Msf::Exploit::Remote::Telnet::EOR (constant)">EOR</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>EOR</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#ABORT-constant" title="Msf::Exploit::Remote::Telnet::ABORT (constant)">ABORT</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>ABORT</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#SUSP-constant" title="Msf::Exploit::Remote::Telnet::SUSP (constant)">SUSP</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>SUSP</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="#EOF-constant" title="Msf::Exploit::Remote::Telnet::EOF (constant)">EOF</a></span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>EOF</span><span class='tstring_end'>&#39;</span></span>
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
</dl>
<h3 class="inherited">Constants included
from <span class='object_link'><a href="../../Auxiliary/Login.html" title="Msf::Auxiliary::Login (module)">Auxiliary::Login</a></span></h3>
<p class="inherited"><span class='object_link'><a href="../../Auxiliary/Login.html#CR-constant" title="Msf::Auxiliary::Login::CR (constant)">Auxiliary::Login::CR</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#EOL-constant" title="Msf::Auxiliary::Login::EOL (constant)">Auxiliary::Login::EOL</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#LF-constant" title="Msf::Auxiliary::Login::LF (constant)">Auxiliary::Login::LF</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#NULL-constant" title="Msf::Auxiliary::Login::NULL (constant)">Auxiliary::Login::NULL</a></span></p>
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
<ul class="summary">
<li class="protected ">
<span class="summary_signature">
<a href="#banner-instance_method" title="#banner (instance method)">#<strong>banner</strong> &#x21d2; Object </a>
</span>
<span class="note title protected">protected</span>
<span class="summary_desc"><div class='inline'>
<p>This attribute holds the banner that was read in after a successful call to connect or connect_login.</p>
</div></span>
</li>
</ul>
<h3 class="inherited">Attributes included from <span class='object_link'><a href="Tcp.html" title="Msf::Exploit::Remote::Tcp (module)">Tcp</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Tcp.html#sock-instance_method" title="Msf::Exploit::Remote::Tcp#sock (method)">#sock</a></span></p>
<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="#connect-instance_method" title="#connect (instance method)">#<strong>connect</strong>(global = true, verbose = true) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>This method establishes an Telnet connection to host and port specified by the RHOST and RPORT options, respectively.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(info = {}) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Creates an instance of a Telnet exploit module.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#pass-instance_method" title="#pass (instance method)">#<strong>pass</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#recv-instance_method" title="#recv (instance method)">#<strong>recv</strong>(fd = self.sock, timeout = ) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#recv_telnet-instance_method" title="#recv_telnet (instance method)">#<strong>recv_telnet</strong>(fd, timeout) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Handle telnet option negotiation.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#tel_timeout-instance_method" title="#tel_timeout (instance method)">#<strong>tel_timeout</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the number of seconds to wait for a telnet reply.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#telnet_bytes_to_names-instance_method" title="#telnet_bytes_to_names (instance method)">#<strong>telnet_bytes_to_names</strong>(data) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#user-instance_method" title="#user (instance method)">#<strong>user</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
</ul>
<h3 class="inherited">Methods included from <span class='object_link'><a href="../../Auxiliary/Login.html" title="Msf::Auxiliary::Login (module)">Auxiliary::Login</a></span></h3>
<p class="inherited"><span class='object_link'><a href="../../Auxiliary/Login.html#busy_message%3F-instance_method" title="Msf::Auxiliary::Login#busy_message? (method)">#busy_message?</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#command_echo%3F-instance_method" title="Msf::Auxiliary::Login#command_echo? (method)">#command_echo?</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#create_login_ivars-instance_method" title="Msf::Auxiliary::Login#create_login_ivars (method)">#create_login_ivars</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#login_failed%3F-instance_method" title="Msf::Auxiliary::Login#login_failed? (method)">#login_failed?</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#login_prompt%3F-instance_method" title="Msf::Auxiliary::Login#login_prompt? (method)">#login_prompt?</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#login_succeeded%3F-instance_method" title="Msf::Auxiliary::Login#login_succeeded? (method)">#login_succeeded?</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#password_prompt%3F-instance_method" title="Msf::Auxiliary::Login#password_prompt? (method)">#password_prompt?</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#raw_send-instance_method" title="Msf::Auxiliary::Login#raw_send (method)">#raw_send</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#recv_all-instance_method" title="Msf::Auxiliary::Login#recv_all (method)">#recv_all</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#send_pass-instance_method" title="Msf::Auxiliary::Login#send_pass (method)">#send_pass</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#send_recv-instance_method" title="Msf::Auxiliary::Login#send_recv (method)">#send_recv</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#send_user-instance_method" title="Msf::Auxiliary::Login#send_user (method)">#send_user</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#wait_for-instance_method" title="Msf::Auxiliary::Login#wait_for (method)">#wait_for</a></span>, <span class='object_link'><a href="../../Auxiliary/Login.html#waiting_message%3F-instance_method" title="Msf::Auxiliary::Login#waiting_message? (method)">#waiting_message?</a></span></p>
<h3 class="inherited">Methods included from <span class='object_link'><a href="Tcp.html" title="Msf::Exploit::Remote::Tcp (module)">Tcp</a></span></h3>
<p class="inherited"><span class='object_link'><a href="Tcp.html#chost-instance_method" title="Msf::Exploit::Remote::Tcp#chost (method)">#chost</a></span>, <span class='object_link'><a href="Tcp.html#cleanup-instance_method" title="Msf::Exploit::Remote::Tcp#cleanup (method)">#cleanup</a></span>, <span class='object_link'><a href="Tcp.html#connect_timeout-instance_method" title="Msf::Exploit::Remote::Tcp#connect_timeout (method)">#connect_timeout</a></span>, <span class='object_link'><a href="Tcp.html#cport-instance_method" title="Msf::Exploit::Remote::Tcp#cport (method)">#cport</a></span>, <span class='object_link'><a href="Tcp.html#disconnect-instance_method" title="Msf::Exploit::Remote::Tcp#disconnect (method)">#disconnect</a></span>, <span class='object_link'><a href="Tcp.html#handler-instance_method" title="Msf::Exploit::Remote::Tcp#handler (method)">#handler</a></span>, <span class='object_link'><a href="Tcp.html#lhost-instance_method" title="Msf::Exploit::Remote::Tcp#lhost (method)">#lhost</a></span>, <span class='object_link'><a href="Tcp.html#lport-instance_method" title="Msf::Exploit::Remote::Tcp#lport (method)">#lport</a></span>, <span class='object_link'><a href="Tcp.html#peer-instance_method" title="Msf::Exploit::Remote::Tcp#peer (method)">#peer</a></span>, <span class='object_link'><a href="Tcp.html#print_prefix-instance_method" title="Msf::Exploit::Remote::Tcp#print_prefix (method)">#print_prefix</a></span>, <span class='object_link'><a href="Tcp.html#proxies-instance_method" title="Msf::Exploit::Remote::Tcp#proxies (method)">#proxies</a></span>, <span class='object_link'><a href="Tcp.html#replicant-instance_method" title="Msf::Exploit::Remote::Tcp#replicant (method)">#replicant</a></span>, <span class='object_link'><a href="Tcp.html#rhost-instance_method" title="Msf::Exploit::Remote::Tcp#rhost (method)">#rhost</a></span>, <span class='object_link'><a href="Tcp.html#rport-instance_method" title="Msf::Exploit::Remote::Tcp#rport (method)">#rport</a></span>, <span class='object_link'><a href="Tcp.html#set_tcp_evasions-instance_method" title="Msf::Exploit::Remote::Tcp#set_tcp_evasions (method)">#set_tcp_evasions</a></span>, <span class='object_link'><a href="Tcp.html#shutdown-instance_method" title="Msf::Exploit::Remote::Tcp#shutdown (method)">#shutdown</a></span>, <span class='object_link'><a href="Tcp.html#ssl-instance_method" title="Msf::Exploit::Remote::Tcp#ssl (method)">#ssl</a></span>, <span class='object_link'><a href="Tcp.html#ssl_cipher-instance_method" title="Msf::Exploit::Remote::Tcp#ssl_cipher (method)">#ssl_cipher</a></span>, <span class='object_link'><a href="Tcp.html#ssl_verify_mode-instance_method" title="Msf::Exploit::Remote::Tcp#ssl_verify_mode (method)">#ssl_verify_mode</a></span>, <span class='object_link'><a href="Tcp.html#ssl_version-instance_method" title="Msf::Exploit::Remote::Tcp#ssl_version (method)">#ssl_version</a></span>, <span class='object_link'><a href="Tcp.html#sslkeylogfile-instance_method" title="Msf::Exploit::Remote::Tcp#sslkeylogfile (method)">#sslkeylogfile</a></span></p>
<div id="instance_attr_details" class="attr_details">
<h2>Instance Attribute Details</h2>
<span id="banner=-instance_method"></span>
<div class="method_details first">
<h3 class="signature first" id="banner-instance_method">
#<strong>banner</strong> &#x21d2; <tt>Object</tt> <span class="extras">(protected)</span>
</h3><div class="docstring">
<div class="discussion">
<p>This attribute holds the banner that was read in after a successful call to connect or connect_login.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
331
332
333</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/telnet.rb', line 331</span>
<span class='kw'>def</span> <span class='id identifier rubyid_banner'>banner</span>
<span class='ivar'>@banner</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="connect-instance_method">
#<strong>connect</strong>(global = true, verbose = true) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>This method establishes an Telnet connection to host and port specified by the RHOST and RPORT options, respectively. After connecting, the banner message is read in and stored in the banner attribute. This method has the benefit of handling telnet option negotiation.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/telnet.rb', line 181</span>
<span class='kw'>def</span> <span class='id identifier rubyid_connect'>connect</span><span class='lparen'>(</span><span class='id identifier rubyid_global'>global</span> <span class='op'>=</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_verbose'>verbose</span> <span class='op'>=</span> <span class='kw'>true</span><span class='rparen'>)</span>
<span class='ivar'>@trace</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='ivar'>@recvd</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='id identifier rubyid_fd'>fd</span> <span class='op'>=</span> <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_global'>global</span><span class='rparen'>)</span>
<span class='id identifier rubyid_banner_timeout'>banner_timeout</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>TelnetBannerTimeout</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='int'>25</span><span class='rparen'>)</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_banner'>banner</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='comment'># Wait for a banner to arrive...
</span> <span class='kw'>begin</span>
<span class='const'>Timeout</span><span class='period'>.</span><span class='id identifier rubyid_timeout'>timeout</span><span class='lparen'>(</span><span class='id identifier rubyid_banner_timeout'>banner_timeout</span><span class='rparen'>)</span> <span class='kw'>do</span>
<span class='kw'>while</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span>
<span class='id identifier rubyid_buff'>buff</span> <span class='op'>=</span> <span class='id identifier rubyid_recv'>recv</span><span class='lparen'>(</span><span class='id identifier rubyid_fd'>fd</span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_buff'>buff</span> <span class='kw'>if</span> <span class='id identifier rubyid_buff'>buff</span>
<span class='kw'>if</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span> <span class='op'>=~</span> <span class='ivar'>@login_regex</span> <span class='kw'>or</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span> <span class='op'>=~</span> <span class='ivar'>@password_regex</span><span class='rparen'>)</span>
<span class='kw'>break</span>
<span class='kw'>elsif</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span> <span class='op'>=~</span> <span class='ivar'>@busy_regex</span>
<span class='comment'># It&#39;s about to drop connection anyway -- seen on HP JetDirect telnet server
</span> <span class='kw'>break</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Timeout</span><span class='op'>::</span><span class='const'>Error</span>
<span class='kw'>end</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span><span class='period'>.</span><span class='id identifier rubyid_strip!'>strip!</span>
<span class='comment'># Return the file descriptor to the caller
</span> <span class='id identifier rubyid_fd'>fd</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="initialize-instance_method">
#<strong>initialize</strong>(info = {}) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Creates an instance of a Telnet exploit module.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/telnet.rb', line 153</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='comment'># Register the options that all Telnet exploits may make use of.
</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="../../Opt.html" title="Msf::Opt (module)">Opt</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Opt.html#RHOST-constant" title="Msf::Opt::RHOST (constant)">RHOST</a></span></span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="../../Opt.html" title="Msf::Opt (module)">Opt</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Opt.html#RPORT-constant" title="Msf::Opt::RPORT (constant)">RPORT</a></span></span><span class='lparen'>(</span><span class='int'>23</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'>&#39;</span><span class='tstring_content'>USERNAME</span><span class='tstring_end'>&#39;</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'>&#39;</span><span class='tstring_content'>The username to authenticate as</span><span class='tstring_end'>&#39;</span></span> <span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="../../OptString.html" title="Msf::OptString (class)">OptString</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../../OptString.html#initialize-instance_method" title="Msf::OptString#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>PASSWORD</span><span class='tstring_end'>&#39;</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'>&#39;</span><span class='tstring_content'>The password for the specified username</span><span class='tstring_end'>&#39;</span></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="../Remote.html" title="Msf::Exploit::Remote (class)">Remote</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Msf::Exploit::Remote::Telnet (module)">Telnet</a></span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_register_advanced_options'>register_advanced_options</span><span class='lparen'>(</span>
<span class='lbracket'>[</span>
<span class='const'><span class='object_link'><a href="../../OptInt.html" title="Msf::OptInt (class)">OptInt</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../../OptBase.html#initialize-instance_method" title="Msf::OptBase#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>TelnetTimeout</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='lbracket'>[</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>The number of seconds to wait for a reply from a Telnet command</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='int'>10</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span>
<span class='const'><span class='object_link'><a href="../../OptInt.html" title="Msf::OptInt (class)">OptInt</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../../OptBase.html#initialize-instance_method" title="Msf::OptBase#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>TelnetBannerTimeout</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='lbracket'>[</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>The number of seconds to wait for the initial banner</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='int'>25</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="../Remote.html" title="Msf::Exploit::Remote (class)">Remote</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Msf::Exploit::Remote::Telnet (module)">Telnet</a></span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_register_autofilter_ports'>register_autofilter_ports</span><span class='lparen'>(</span><span class='lbracket'>[</span> <span class='int'>23</span> <span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='id identifier rubyid_register_autofilter_services'>register_autofilter_services</span><span class='lparen'>(</span><span class='words_beg'>%W{</span><span class='words_sep'> </span><span class='tstring_content'>telnet</span><span class='words_sep'> </span><span class='tstring_end'>}</span></span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="pass-instance_method">
#<strong>pass</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
291
292
293</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/telnet.rb', line 291</span>
<span class='kw'>def</span> <span class='id identifier rubyid_pass'>pass</span>
<span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>PASSWORD</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="recv-instance_method">
#<strong>recv</strong>(fd = self.sock, timeout = ) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
212
213
214</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/telnet.rb', line 212</span>
<span class='kw'>def</span> <span class='id identifier rubyid_recv'>recv</span><span class='lparen'>(</span><span class='id identifier rubyid_fd'>fd</span><span class='op'>=</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_sock'>sock</span><span class='comma'>,</span> <span class='id identifier rubyid_timeout'>timeout</span><span class='op'>=</span><span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>TelnetTimeout</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='id identifier rubyid_recv_telnet'>recv_telnet</span><span class='lparen'>(</span><span class='id identifier rubyid_fd'>fd</span><span class='comma'>,</span> <span class='id identifier rubyid_timeout'>timeout</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="recv_telnet-instance_method">
#<strong>recv_telnet</strong>(fd, timeout) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Handle telnet option negotiation</p>
<p>Appends to the @recvd buffer which is used to tell us whether were at a login prompt, a password prompt, or a working shell.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/telnet.rb', line 222</span>
<span class='kw'>def</span> <span class='id identifier rubyid_recv_telnet'>recv_telnet</span><span class='lparen'>(</span><span class='id identifier rubyid_fd'>fd</span><span class='comma'>,</span> <span class='id identifier rubyid_timeout'>timeout</span><span class='rparen'>)</span>
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>begin</span>
<span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_get_once'>get_once</span><span class='lparen'>(</span><span class='op'>-</span><span class='int'>1</span><span class='comma'>,</span> <span class='id identifier rubyid_timeout'>timeout</span><span class='rparen'>)</span>
<span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='kw'>not</span> <span class='id identifier rubyid_data'>data</span> <span class='kw'>or</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>0</span>
<span class='comment'># combine CR+NULL into CR
</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../Auxiliary/Login.html#CR-constant" title="Msf::Auxiliary::Login::CR (constant)">CR</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../Auxiliary/Login.html#NULL-constant" title="Msf::Auxiliary::Login::NULL (constant)">NULL</a></span></span><span class='embexpr_end'>}</span><span class='regexp_end'>/no</span></span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../../Auxiliary/Login.html#CR-constant" title="Msf::Auxiliary::Login::CR (constant)">CR</a></span></span><span class='rparen'>)</span>
<span class='comment'># combine EOL into &quot;\n&quot;
</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../Auxiliary/Login.html#EOL-constant" title="Msf::Auxiliary::Login::EOL (constant)">EOL</a></span></span><span class='embexpr_end'>}</span><span class='regexp_end'>/no</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>(
[</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#AO-constant" title="Msf::Exploit::Remote::Telnet::AO (constant)">AO</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#AYT-constant" title="Msf::Exploit::Remote::Telnet::AYT (constant)">AYT</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#DM-constant" title="Msf::Exploit::Remote::Telnet::DM (constant)">DM</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#IP-constant" title="Msf::Exploit::Remote::Telnet::IP (constant)">IP</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#NOP-constant" title="Msf::Exploit::Remote::Telnet::NOP (constant)">NOP</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>]|[</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#DO-constant" title="Msf::Exploit::Remote::Telnet::DO (constant)">DO</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#DONT-constant" title="Msf::Exploit::Remote::Telnet::DONT (constant)">DONT</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#WILL-constant" title="Msf::Exploit::Remote::Telnet::WILL (constant)">WILL</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#WONT-constant" title="Msf::Exploit::Remote::Telnet::WONT (constant)">WONT</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>]
[</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#OPT_BINARY-constant" title="Msf::Exploit::Remote::Telnet::OPT_BINARY (constant)">OPT_BINARY</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>-</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#OPT_NEW_ENVIRON-constant" title="Msf::Exploit::Remote::Telnet::OPT_NEW_ENVIRON (constant)">OPT_NEW_ENVIRON</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#OPT_EXOPL-constant" title="Msf::Exploit::Remote::Telnet::OPT_EXOPL (constant)">OPT_EXOPL</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>]|</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#SB-constant" title="Msf::Exploit::Remote::Telnet::SB (constant)">SB</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>[^</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>]*</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#SE-constant" title="Msf::Exploit::Remote::Telnet::SE (constant)">SE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>
)</span><span class='regexp_end'>/xno</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
<span class='id identifier rubyid_m'>m</span> <span class='op'>=</span> <span class='backref'>$1</span>
<span class='kw'>if</span> <span class='id identifier rubyid_m'>m</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span>
<span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#AYT-constant" title="Msf::Exploit::Remote::Telnet::AYT (constant)">AYT</a></span></span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>YES</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="../../Auxiliary/Login.html#EOL-constant" title="Msf::Auxiliary::Login::EOL (constant)">EOL</a></span></span><span class='rparen'>)</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#DO-constant" title="Msf::Exploit::Remote::Telnet::DO (constant)">DO</a></span></span>
<span class='kw'>if</span><span class='lparen'>(</span><span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#OPT_BINARY-constant" title="Msf::Exploit::Remote::Telnet::OPT_BINARY (constant)">OPT_BINARY</a></span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#WILL-constant" title="Msf::Exploit::Remote::Telnet::WILL (constant)">WILL</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#OPT_BINARY-constant" title="Msf::Exploit::Remote::Telnet::OPT_BINARY (constant)">OPT_BINARY</a></span></span><span class='rparen'>)</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#WONT-constant" title="Msf::Exploit::Remote::Telnet::WONT (constant)">WONT</a></span></span> <span class='op'>+</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#DONT-constant" title="Msf::Exploit::Remote::Telnet::DONT (constant)">DONT</a></span></span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#WONT-constant" title="Msf::Exploit::Remote::Telnet::WONT (constant)">WONT</a></span></span> <span class='op'>+</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#WILL-constant" title="Msf::Exploit::Remote::Telnet::WILL (constant)">WILL</a></span></span>
<span class='kw'>if</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#OPT_BINARY-constant" title="Msf::Exploit::Remote::Telnet::OPT_BINARY (constant)">OPT_BINARY</a></span></span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#DO-constant" title="Msf::Exploit::Remote::Telnet::DO (constant)">DO</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#OPT_BINARY-constant" title="Msf::Exploit::Remote::Telnet::OPT_BINARY (constant)">OPT_BINARY</a></span></span><span class='rparen'>)</span>
<span class='comment'># Disable Echo
</span> <span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#OPT_ECHO-constant" title="Msf::Exploit::Remote::Telnet::OPT_ECHO (constant)">OPT_ECHO</a></span></span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#DONT-constant" title="Msf::Exploit::Remote::Telnet::DONT (constant)">DONT</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#OPT_ECHO-constant" title="Msf::Exploit::Remote::Telnet::OPT_ECHO (constant)">OPT_ECHO</a></span></span><span class='rparen'>)</span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#OPT_SGA-constant" title="Msf::Exploit::Remote::Telnet::OPT_SGA (constant)">OPT_SGA</a></span></span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#DO-constant" title="Msf::Exploit::Remote::Telnet::DO (constant)">DO</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#OPT_SGA-constant" title="Msf::Exploit::Remote::Telnet::OPT_SGA (constant)">OPT_SGA</a></span></span><span class='rparen'>)</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#DONT-constant" title="Msf::Exploit::Remote::Telnet::DONT (constant)">DONT</a></span></span> <span class='op'>+</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>elsif</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="#WONT-constant" title="Msf::Exploit::Remote::Telnet::WONT (constant)">WONT</a></span></span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#IAC-constant" title="Msf::Exploit::Remote::Telnet::IAC (constant)">IAC</a></span></span> <span class='op'>+</span> <span class='const'><span class='object_link'><a href="#DONT-constant" title="Msf::Exploit::Remote::Telnet::DONT (constant)">DONT</a></span></span> <span class='op'>+</span> <span class='id identifier rubyid_m'>m</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>else</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='ivar'>@trace</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_data'>data</span>
<span class='ivar'>@recvd</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_data'>data</span>
<span class='id identifier rubyid_fd'>fd</span><span class='period'>.</span><span class='id identifier rubyid_flush'>flush</span>
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>EOFError</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Errno</span><span class='op'>::</span><span class='const'>EPIPE</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="tel_timeout-instance_method">
#<strong>tel_timeout</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the number of seconds to wait for a telnet reply</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
321
322
323</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/telnet.rb', line 321</span>
<span class='kw'>def</span> <span class='id identifier rubyid_tel_timeout'>tel_timeout</span>
<span class='lparen'>(</span><span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>TelnetTimeout</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='int'>10</span><span class='rparen'>)</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>
<div class="method_details ">
<h3 class="signature " id="telnet_bytes_to_names-instance_method">
#<strong>telnet_bytes_to_names</strong>(data) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/telnet.rb', line 295</span>
<span class='kw'>def</span> <span class='id identifier rubyid_telnet_bytes_to_names'>telnet_bytes_to_names</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
<span class='id identifier rubyid_names'>names</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
<span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_bytes'>bytes</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_b'>b</span><span class='op'>|</span>
<span class='id identifier rubyid_ch'>ch</span> <span class='op'>=</span> <span class='id identifier rubyid_b'>b</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span>
<span class='kw'>if</span> <span class='const'><span class='object_link'><a href="#TELNET_CONSTS-constant" title="Msf::Exploit::Remote::Telnet::TELNET_CONSTS (constant)">TELNET_CONSTS</a></span></span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='id identifier rubyid_ch'>ch</span><span class='rparen'>)</span>
<span class='id identifier rubyid_names'>names</span> <span class='op'>&lt;&lt;</span> <span class='const'><span class='object_link'><a href="#TELNET_CONSTS-constant" title="Msf::Exploit::Remote::Telnet::TELNET_CONSTS (constant)">TELNET_CONSTS</a></span></span><span class='lbracket'>[</span><span class='id identifier rubyid_ch'>ch</span><span class='rbracket'>]</span>
<span class='kw'>elsif</span> <span class='const'><span class='object_link'><a href="#TELNET_OPTIONS-constant" title="Msf::Exploit::Remote::Telnet::TELNET_OPTIONS (constant)">TELNET_OPTIONS</a></span></span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='id identifier rubyid_ch'>ch</span><span class='rparen'>)</span>
<span class='id identifier rubyid_names'>names</span> <span class='op'>&lt;&lt;</span> <span class='const'><span class='object_link'><a href="#TELNET_OPTIONS-constant" title="Msf::Exploit::Remote::Telnet::TELNET_OPTIONS (constant)">TELNET_OPTIONS</a></span></span><span class='lbracket'>[</span><span class='id identifier rubyid_ch'>ch</span><span class='rbracket'>]</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_names'>names</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_format'>format</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>0x%02x</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_b'>b</span><span class='rparen'>)</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_names'>names</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'> </span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="user-instance_method">
#<strong>user</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
287
288
289</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/msf/core/exploit/remote/telnet.rb', line 287</span>
<span class='kw'>def</span> <span class='id identifier rubyid_user'>user</span>
<span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>USERNAME</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Fri May 8 17:01:40 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>