2076 lines
77 KiB
HTML
2076 lines
77 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>
|
|
Class: Metasploit::Framework::CredentialCollection
|
|
|
|
— 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 = "Metasploit::Framework::CredentialCollection";
|
|
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 (C)</a> »
|
|
<span class='title'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span> » <span class='title'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span>
|
|
»
|
|
<span class="title">CredentialCollection</span>
|
|
|
|
</div>
|
|
|
|
<div id="search">
|
|
|
|
<a class="full_list_link" id="class_list_link"
|
|
href="../../class_list.html">
|
|
|
|
<svg width="24" height="24">
|
|
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
</svg>
|
|
</a>
|
|
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
|
|
<div id="content"><h1>Class: Metasploit::Framework::CredentialCollection
|
|
|
|
|
|
|
|
</h1>
|
|
<div class="box_info">
|
|
|
|
<dl>
|
|
<dt>Inherits:</dt>
|
|
<dd>
|
|
<span class="inheritName"><span class='object_link'><a href="PrivateCredentialCollection.html" title="Metasploit::Framework::PrivateCredentialCollection (class)">PrivateCredentialCollection</a></span></span>
|
|
|
|
<ul class="fullTree">
|
|
<li>Object</li>
|
|
|
|
<li class="next"><span class='object_link'><a href="PrivateCredentialCollection.html" title="Metasploit::Framework::PrivateCredentialCollection (class)">PrivateCredentialCollection</a></span></li>
|
|
|
|
<li class="next">Metasploit::Framework::CredentialCollection</li>
|
|
|
|
</ul>
|
|
<a href="#" class="inheritanceTree">show all</a>
|
|
|
|
</dd>
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<dl>
|
|
<dt>Defined in:</dt>
|
|
<dd>lib/metasploit/framework/credential_collection.rb</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
|
|
<div id="subclasses">
|
|
<h2>Direct Known Subclasses</h2>
|
|
<p class="children"><span class='object_link'><a href="KeyCollection.html" title="Metasploit::Framework::KeyCollection (class)">KeyCollection</a></span></p>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
|
|
<ul class="summary">
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#additional_publics-instance_method" title="#additional_publics (instance method)">#<strong>additional_publics</strong> ⇒ Array<String> </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Additional public values that should be tried.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#anonymous_login-instance_method" title="#anonymous_login (instance method)">#<strong>anonymous_login</strong> ⇒ Boolean </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Whether to attempt an anonymous login (blank user/pass).</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#password_spray-instance_method" title="#password_spray (instance method)">#<strong>password_spray</strong> ⇒ Boolean </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Whether password spray is enabled.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#user_as_pass-instance_method" title="#user_as_pass (instance method)">#<strong>user_as_pass</strong> ⇒ Boolean </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Whether each username should be tried as a password for that user.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#user_file-instance_method" title="#user_file (instance method)">#<strong>user_file</strong> ⇒ String </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Path to a file containing usernames, one per line.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#username-instance_method" title="#username (instance method)">#<strong>username</strong> ⇒ String </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>The username that should be tried.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#userpass_file-instance_method" title="#userpass_file (instance method)">#<strong>userpass_file</strong> ⇒ String </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Path to a file containing usernames and passwords separated by a space, one pair per line.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
<h3 class="inherited">Attributes inherited from <span class='object_link'><a href="PrivateCredentialCollection.html" title="Metasploit::Framework::PrivateCredentialCollection (class)">PrivateCredentialCollection</a></span></h3>
|
|
<p class="inherited"><span class='object_link'><a href="PrivateCredentialCollection.html#additional_privates-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#additional_privates (method)">#additional_privates</a></span>, <span class='object_link'><a href="PrivateCredentialCollection.html#blank_passwords-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#blank_passwords (method)">#blank_passwords</a></span>, <span class='object_link'><a href="PrivateCredentialCollection.html#filter-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#filter (method)">#filter</a></span>, <span class='object_link'><a href="PrivateCredentialCollection.html#nil_passwords-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#nil_passwords (method)">#nil_passwords</a></span>, <span class='object_link'><a href="PrivateCredentialCollection.html#pass_file-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#pass_file (method)">#pass_file</a></span>, <span class='object_link'><a href="PrivateCredentialCollection.html#password-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#password (method)">#password</a></span>, <span class='object_link'><a href="PrivateCredentialCollection.html#prepended_creds-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#prepended_creds (method)">#prepended_creds</a></span>, <span class='object_link'><a href="PrivateCredentialCollection.html#realm-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#realm (method)">#realm</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="#add_public-instance_method" title="#add_public (instance method)">#<strong>add_public</strong>(public_str = '') ⇒ void </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Adds a string as an additional public credential to be combined in the collection.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#each_filtered-instance_method" title="#each_filtered (instance method)">#<strong>each_filtered</strong> {|credential| ... } ⇒ void </a>
|
|
|
|
|
|
|
|
(also: #each)
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Combines all the provided credential sources into a stream of <span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span> objects, yielding them one at a time.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#each_password-instance_method" title="#each_password (instance method)">#<strong>each_password</strong>(user) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Iterates over all possible passwords.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#each_unfiltered-instance_method" title="#each_unfiltered (instance method)">#<strong>each_unfiltered</strong>(&block) ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#each_unfiltered_password_first-instance_method" title="#each_unfiltered_password_first (instance method)">#<strong>each_unfiltered_password_first</strong> {|credential| ... } ⇒ void </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>When password spraying is enabled, do first passwords then usernames i.e.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#each_unfiltered_username_first-instance_method" title="#each_unfiltered_username_first (instance method)">#<strong>each_unfiltered_username_first</strong> {|credential| ... } ⇒ void </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>When password spraying is not enabled, do first usernames then passwords i.e.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#each_user_pass_from_userpass_file-instance_method" title="#each_user_pass_from_userpass_file (instance method)">#<strong>each_user_pass_from_userpass_file</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Iterates on userpass file if present.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#each_username-instance_method" title="#each_username (instance method)">#<strong>each_username</strong> ⇒ Object </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Iterates over all possible usernames.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#empty%3F-instance_method" title="#empty? (instance method)">#<strong>empty?</strong> ⇒ Boolean </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Returns true when #each will have no results to iterate.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#has_privates%3F-instance_method" title="#has_privates? (instance method)">#<strong>has_privates?</strong> ⇒ Boolean </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Returns true when there are any private values set.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#has_users%3F-instance_method" title="#has_users? (instance method)">#<strong>has_users?</strong> ⇒ Boolean </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>Returns true when there are any user values set.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(opts = {}) ⇒ CredentialCollection </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
<span class="note title constructor">constructor</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'>
|
|
<p>A new instance of CredentialCollection.</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="PrivateCredentialCollection.html" title="Metasploit::Framework::PrivateCredentialCollection (class)">PrivateCredentialCollection</a></span></h3>
|
|
<p class="inherited"><span class='object_link'><a href="PrivateCredentialCollection.html#add_private-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#add_private (method)">#add_private</a></span>, <span class='object_link'><a href="PrivateCredentialCollection.html#filtered%3F-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#filtered? (method)">#filtered?</a></span>, <span class='object_link'><a href="PrivateCredentialCollection.html#prepend_cred-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#prepend_cred (method)">#prepend_cred</a></span>, <span class='object_link'><a href="PrivateCredentialCollection.html#private_type-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#private_type (method)">#private_type</a></span></p>
|
|
<div id="constructor_details" class="method_details_list">
|
|
<h2>Constructor Details</h2>
|
|
|
|
<div class="method_details first">
|
|
<h3 class="signature first" id="initialize-instance_method">
|
|
|
|
#<strong>initialize</strong>(opts = {}) ⇒ <tt><span class='object_link'><a href="" title="Metasploit::Framework::CredentialCollection (class)">CredentialCollection</a></span></tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Returns a new instance of CredentialCollection.</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
<p class="tag_title">Parameters:</p>
|
|
<ul class="param">
|
|
|
|
<li>
|
|
|
|
<span class='name'>opts</span>
|
|
|
|
|
|
<span class='type'>(<tt>Hash</tt>)</span>
|
|
|
|
|
|
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|
|
|
|
|
—
|
|
<div class='inline'>
|
|
<p>a customizable set of options</p>
|
|
</div>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<p class="tag_title">Options Hash (<tt>opts</tt>):</p>
|
|
<ul class="option">
|
|
|
|
<li>
|
|
<span class="name">:blank_passwords</span>
|
|
<span class="type">(<tt>Boolean</tt>)</span>
|
|
<span class="default">
|
|
|
|
</span>
|
|
|
|
— <div class='inline'>
|
|
<p>See <span class='object_link'><a href="PrivateCredentialCollection.html#blank_passwords-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#blank_passwords (method)">PrivateCredentialCollection#blank_passwords</a></span></p>
|
|
</div>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
<span class="name">:pass_file</span>
|
|
<span class="type">(<tt>String</tt>)</span>
|
|
<span class="default">
|
|
|
|
</span>
|
|
|
|
— <div class='inline'>
|
|
<p>See <span class='object_link'><a href="PrivateCredentialCollection.html#pass_file-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#pass_file (method)">PrivateCredentialCollection#pass_file</a></span></p>
|
|
</div>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
<span class="name">:password</span>
|
|
<span class="type">(<tt>String</tt>)</span>
|
|
<span class="default">
|
|
|
|
</span>
|
|
|
|
— <div class='inline'>
|
|
<p>See <span class='object_link'><a href="PrivateCredentialCollection.html#password-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#password (method)">PrivateCredentialCollection#password</a></span></p>
|
|
</div>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
<span class="name">:prepended_creds</span>
|
|
<span class="type">(<tt>Array<<span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span>></tt>)</span>
|
|
<span class="default">
|
|
|
|
— default:
|
|
<tt>[]</tt>
|
|
|
|
</span>
|
|
|
|
— <div class='inline'>
|
|
<p>See <span class='object_link'><a href="PrivateCredentialCollection.html#prepended_creds-instance_method" title="Metasploit::Framework::PrivateCredentialCollection#prepended_creds (method)">PrivateCredentialCollection#prepended_creds</a></span></p>
|
|
</div>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
<span class="name">:user_as_pass</span>
|
|
<span class="type">(<tt>Boolean</tt>)</span>
|
|
<span class="default">
|
|
|
|
</span>
|
|
|
|
— <div class='inline'>
|
|
<p>See <span class='object_link'><a href="#user_as_pass-instance_method" title="Metasploit::Framework::CredentialCollection#user_as_pass (method)">#user_as_pass</a></span></p>
|
|
</div>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
<span class="name">:user_file</span>
|
|
<span class="type">(<tt>String</tt>)</span>
|
|
<span class="default">
|
|
|
|
</span>
|
|
|
|
— <div class='inline'>
|
|
<p>See <span class='object_link'><a href="#user_file-instance_method" title="Metasploit::Framework::CredentialCollection#user_file (method)">#user_file</a></span></p>
|
|
</div>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
<span class="name">:username</span>
|
|
<span class="type">(<tt>String</tt>)</span>
|
|
<span class="default">
|
|
|
|
</span>
|
|
|
|
— <div class='inline'>
|
|
<p>See <span class='object_link'><a href="#username-instance_method" title="Metasploit::Framework::CredentialCollection#username (method)">#username</a></span></p>
|
|
</div>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
<span class="name">:userpass_file</span>
|
|
<span class="type">(<tt>String</tt>)</span>
|
|
<span class="default">
|
|
|
|
</span>
|
|
|
|
— <div class='inline'>
|
|
<p>See <span class='object_link'><a href="#userpass_file-instance_method" title="Metasploit::Framework::CredentialCollection#userpass_file (method)">#userpass_file</a></span></p>
|
|
</div>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
223
|
|
224
|
|
225
|
|
226</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 223</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
<span class='kw'>super</span>
|
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_additional_publics'>additional_publics</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="instance_attr_details" class="attr_details">
|
|
<h2>Instance Attribute Details</h2>
|
|
|
|
|
|
<span id="additional_publics=-instance_method"></span>
|
|
<div class="method_details first">
|
|
<h3 class="signature first" id="additional_publics-instance_method">
|
|
|
|
#<strong>additional_publics</strong> ⇒ <tt>Array<String></tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Additional public values that should be tried</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Returns:</p>
|
|
<ul class="return">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>Array<String></tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
187
|
|
188
|
|
189</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 187</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_additional_publics'>additional_publics</span>
|
|
<span class='ivar'>@additional_publics</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="anonymous_login=-instance_method"></span>
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="anonymous_login-instance_method">
|
|
|
|
#<strong>anonymous_login</strong> ⇒ <tt>Boolean</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Whether to attempt an anonymous login (blank user/pass)</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Returns:</p>
|
|
<ul class="return">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>Boolean</tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
213
|
|
214
|
|
215</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 213</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_anonymous_login'>anonymous_login</span>
|
|
<span class='ivar'>@anonymous_login</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="password_spray=-instance_method"></span>
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="password_spray-instance_method">
|
|
|
|
#<strong>password_spray</strong> ⇒ <tt>Boolean</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Whether password spray is enabled. When true, each password is tried against each username first. Otherwise the default bruteforce logic will attempt all passwords against the first user, before continuing to the next user</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Returns:</p>
|
|
<ul class="return">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>Boolean</tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
181
|
|
182
|
|
183</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 181</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_password_spray'>password_spray</span>
|
|
<span class='ivar'>@password_spray</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="user_as_pass=-instance_method"></span>
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="user_as_pass-instance_method">
|
|
|
|
#<strong>user_as_pass</strong> ⇒ <tt>Boolean</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Whether each username should be tried as a password for that user</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Returns:</p>
|
|
<ul class="return">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>Boolean</tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
192
|
|
193
|
|
194</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 192</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_user_as_pass'>user_as_pass</span>
|
|
<span class='ivar'>@user_as_pass</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="user_file=-instance_method"></span>
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="user_file-instance_method">
|
|
|
|
#<strong>user_file</strong> ⇒ <tt>String</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Path to a file containing usernames, one per line</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Returns:</p>
|
|
<ul class="return">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>String</tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
197
|
|
198
|
|
199</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 197</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_user_file'>user_file</span>
|
|
<span class='ivar'>@user_file</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="username=-instance_method"></span>
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="username-instance_method">
|
|
|
|
#<strong>username</strong> ⇒ <tt>String</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>The username that should be tried</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Returns:</p>
|
|
<ul class="return">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>String</tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
202
|
|
203
|
|
204</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 202</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_username'>username</span>
|
|
<span class='ivar'>@username</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="userpass_file=-instance_method"></span>
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="userpass_file-instance_method">
|
|
|
|
#<strong>userpass_file</strong> ⇒ <tt>String</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Path to a file containing usernames and passwords separated by a space, one pair per line</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Returns:</p>
|
|
<ul class="return">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>String</tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
208
|
|
209
|
|
210</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 208</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_userpass_file'>userpass_file</span>
|
|
<span class='ivar'>@userpass_file</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="add_public-instance_method">
|
|
|
|
#<strong>add_public</strong>(public_str = '') ⇒ <tt>void</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
<p class="note returns_void">This method returns an undefined value.</p>
|
|
<p>Adds a string as an additional public credential to be combined in the collection.</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
<p class="tag_title">Parameters:</p>
|
|
<ul class="param">
|
|
|
|
<li>
|
|
|
|
<span class='name'>public_str</span>
|
|
|
|
|
|
<span class='type'>(<tt>String</tt>)</span>
|
|
|
|
|
|
<em class="default">(defaults to: <tt>''</tt>)</em>
|
|
|
|
|
|
—
|
|
<div class='inline'>
|
|
<p>The string to use as a public credential</p>
|
|
</div>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
233
|
|
234
|
|
235</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 233</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_add_public'>add_public</span><span class='lparen'>(</span><span class='id identifier rubyid_public_str'>public_str</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_additional_publics'>additional_publics</span> <span class='op'><<</span> <span class='id identifier rubyid_public_str'>public_str</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="each_filtered-instance_method">
|
|
|
|
#<strong>each_filtered</strong> {|credential| ... } ⇒ <tt>void</tt>
|
|
|
|
|
|
|
|
<span class="aliases">Also known as:
|
|
<span class="names"><span id='each-instance_method'>each</span></span>
|
|
</span>
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
<p class="note returns_void">This method returns an undefined value.</p>
|
|
<p>Combines all the provided credential sources into a stream of <span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Metasploit::Framework::Credential</a></span> objects, yielding them one at a time</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Yield Parameters:</p>
|
|
<ul class="yieldparam">
|
|
|
|
<li>
|
|
|
|
<span class='name'>credential</span>
|
|
|
|
|
|
<span class='type'>(<tt><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Metasploit::Framework::Credential</a></span></tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
242
|
|
243
|
|
244
|
|
245
|
|
246
|
|
247
|
|
248</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 242</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_each_filtered'>each_filtered</span>
|
|
<span class='id identifier rubyid_each_unfiltered'>each_unfiltered</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_credential'>credential</span><span class='op'>|</span>
|
|
<span class='kw'>next</span> <span class='kw'>unless</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_filter'>filter</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_filter'>filter</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_credential'>credential</span><span class='rparen'>)</span>
|
|
|
|
<span class='kw'>yield</span> <span class='id identifier rubyid_credential'>credential</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="each_password-instance_method">
|
|
|
|
#<strong>each_password</strong>(user) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Iterates over all possible passwords</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
388
|
|
389
|
|
390
|
|
391
|
|
392
|
|
393
|
|
394
|
|
395
|
|
396
|
|
397
|
|
398
|
|
399
|
|
400
|
|
401
|
|
402
|
|
403
|
|
404
|
|
405
|
|
406
|
|
407
|
|
408
|
|
409
|
|
410
|
|
411
|
|
412
|
|
413
|
|
414
|
|
415
|
|
416
|
|
417
|
|
418</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 388</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_each_password'>each_password</span><span class='lparen'>(</span><span class='id identifier rubyid_user'>user</span><span class='rparen'>)</span>
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_nil_passwords'>nil_passwords</span>
|
|
<span class='kw'>yield</span> <span class='lbracket'>[</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:password</span><span class='rbracket'>]</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_password'>password</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
|
|
<span class='kw'>yield</span> <span class='lbracket'>[</span><span class='id identifier rubyid_password'>password</span><span class='comma'>,</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='lparen'>(</span><span class='id identifier rubyid_password'>password</span><span class='rparen'>)</span><span class='rbracket'>]</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_user_as_pass'>user_as_pass</span>
|
|
<span class='kw'>yield</span> <span class='lbracket'>[</span><span class='id identifier rubyid_user'>user</span><span class='comma'>,</span> <span class='symbol'>:password</span><span class='rbracket'>]</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_blank_passwords'>blank_passwords</span>
|
|
<span class='kw'>yield</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:password</span><span class='rbracket'>]</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_pass_file'>pass_file</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
|
|
<span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_pass_file'>pass_file</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>r:binary</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_pass_fd'>pass_fd</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_pass_fd'>pass_fd</span><span class='period'>.</span><span class='id identifier rubyid_each_line'>each_line</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_pass_from_file'>pass_from_file</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_pass_from_file'>pass_from_file</span><span class='period'>.</span><span class='id identifier rubyid_chomp!'>chomp!</span>
|
|
<span class='kw'>yield</span> <span class='lbracket'>[</span><span class='id identifier rubyid_pass_from_file'>pass_from_file</span><span class='comma'>,</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='lparen'>(</span><span class='id identifier rubyid_pass_from_file'>pass_from_file</span><span class='rparen'>)</span><span class='rbracket'>]</span>
|
|
<span class='kw'>end</span>
|
|
<span class='id identifier rubyid_pass_fd'>pass_fd</span><span class='period'>.</span><span class='id identifier rubyid_seek'>seek</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='id identifier rubyid_additional_privates'>additional_privates</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_add_private'>add_private</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='lbracket'>[</span><span class='id identifier rubyid_add_private'>add_private</span><span class='comma'>,</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='lparen'>(</span><span class='id identifier rubyid_add_private'>add_private</span><span class='rparen'>)</span><span class='rbracket'>]</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="each_unfiltered-instance_method">
|
|
|
|
#<strong>each_unfiltered</strong>(&block) ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
252
|
|
253
|
|
254
|
|
255
|
|
256
|
|
257
|
|
258
|
|
259
|
|
260
|
|
261
|
|
262
|
|
263
|
|
264</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 252</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_each_unfiltered'>each_unfiltered</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_prepended_creds'>prepended_creds</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_c'>c</span><span class='op'>|</span> <span class='kw'>yield</span> <span class='id identifier rubyid_c'>c</span> <span class='rbrace'>}</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_anonymous_login'>anonymous_login</span>
|
|
<span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Credential.html#initialize-instance_method" title="Metasploit::Framework::Credential#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>public:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>private:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>realm:</span> <span class='id identifier rubyid_realm'>realm</span><span class='comma'>,</span> <span class='label'>private_type:</span> <span class='symbol'>:password</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_password_spray'>password_spray</span>
|
|
<span class='id identifier rubyid_each_unfiltered_password_first'>each_unfiltered_password_first</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
<span class='kw'>else</span>
|
|
<span class='id identifier rubyid_each_unfiltered_username_first'>each_unfiltered_username_first</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="each_unfiltered_password_first-instance_method">
|
|
|
|
#<strong>each_unfiltered_password_first</strong> {|credential| ... } ⇒ <tt>void</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
<p class="note returns_void">This method returns an undefined value.</p>
|
|
<p>When password spraying is enabled, do first passwords then usernames</p>
|
|
|
|
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span>
|
|
<span class='id identifier rubyid_username1'>username1</span><span class='symbol'>:password1</span>
|
|
<span class='id identifier rubyid_username2'>username2</span><span class='symbol'>:password1</span>
|
|
<span class='id identifier rubyid_username3'>username3</span><span class='symbol'>:password1</span>
|
|
</code></pre>
|
|
|
|
<p>…</p>
|
|
|
|
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_username1'>username1</span><span class='symbol'>:password2</span>
|
|
<span class='id identifier rubyid_username2'>username2</span><span class='symbol'>:password2</span>
|
|
<span class='id identifier rubyid_username3'>username3</span><span class='symbol'>:password2</span>
|
|
</code></pre>
|
|
|
|
<p>…</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Yield Parameters:</p>
|
|
<ul class="yieldparam">
|
|
|
|
<li>
|
|
|
|
<span class='name'>credential</span>
|
|
|
|
|
|
<span class='type'>(<tt><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Metasploit::Framework::Credential</a></span></tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
278
|
|
279
|
|
280
|
|
281
|
|
282
|
|
283
|
|
284
|
|
285
|
|
286
|
|
287
|
|
288
|
|
289
|
|
290
|
|
291
|
|
292
|
|
293
|
|
294
|
|
295
|
|
296
|
|
297
|
|
298
|
|
299
|
|
300
|
|
301
|
|
302
|
|
303
|
|
304
|
|
305
|
|
306
|
|
307
|
|
308
|
|
309
|
|
310
|
|
311
|
|
312
|
|
313
|
|
314
|
|
315
|
|
316
|
|
317
|
|
318
|
|
319
|
|
320
|
|
321
|
|
322
|
|
323
|
|
324</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 278</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_each_unfiltered_password_first'>each_unfiltered_password_first</span>
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_nil_passwords'>nil_passwords</span>
|
|
<span class='id identifier rubyid_each_username'>each_username</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_username'>username</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Credential.html#initialize-instance_method" title="Metasploit::Framework::Credential#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>public:</span> <span class='id identifier rubyid_username'>username</span><span class='comma'>,</span> <span class='label'>private:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>realm:</span> <span class='id identifier rubyid_realm'>realm</span><span class='comma'>,</span> <span class='label'>private_type:</span> <span class='symbol'>:password</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_password'>password</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
|
|
<span class='id identifier rubyid_each_username'>each_username</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_username'>username</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Credential.html#initialize-instance_method" title="Metasploit::Framework::Credential#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>public:</span> <span class='id identifier rubyid_username'>username</span><span class='comma'>,</span> <span class='label'>private:</span> <span class='id identifier rubyid_password'>password</span><span class='comma'>,</span> <span class='label'>realm:</span> <span class='id identifier rubyid_realm'>realm</span><span class='comma'>,</span> <span class='label'>private_type:</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='lparen'>(</span><span class='id identifier rubyid_password'>password</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_user_as_pass'>user_as_pass</span>
|
|
<span class='id identifier rubyid_each_username'>each_username</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_username'>username</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Credential.html#initialize-instance_method" title="Metasploit::Framework::Credential#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>public:</span> <span class='id identifier rubyid_username'>username</span><span class='comma'>,</span> <span class='label'>private:</span> <span class='id identifier rubyid_username'>username</span><span class='comma'>,</span> <span class='label'>realm:</span> <span class='id identifier rubyid_realm'>realm</span><span class='comma'>,</span> <span class='label'>private_type:</span> <span class='symbol'>:password</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_blank_passwords'>blank_passwords</span>
|
|
<span class='id identifier rubyid_each_username'>each_username</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_username'>username</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Credential.html#initialize-instance_method" title="Metasploit::Framework::Credential#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>public:</span> <span class='id identifier rubyid_username'>username</span><span class='comma'>,</span> <span class='label'>private:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='label'>realm:</span> <span class='id identifier rubyid_realm'>realm</span><span class='comma'>,</span> <span class='label'>private_type:</span> <span class='symbol'>:password</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_pass_file'>pass_file</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
|
|
<span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_pass_file'>pass_file</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>r:binary</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_pass_fd'>pass_fd</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_pass_fd'>pass_fd</span><span class='period'>.</span><span class='id identifier rubyid_each_line'>each_line</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_pass_from_file'>pass_from_file</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_pass_from_file'>pass_from_file</span><span class='period'>.</span><span class='id identifier rubyid_chomp!'>chomp!</span>
|
|
|
|
<span class='id identifier rubyid_each_username'>each_username</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_username'>username</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Credential.html#initialize-instance_method" title="Metasploit::Framework::Credential#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>public:</span> <span class='id identifier rubyid_username'>username</span><span class='comma'>,</span> <span class='label'>private:</span> <span class='id identifier rubyid_pass_from_file'>pass_from_file</span><span class='comma'>,</span> <span class='label'>realm:</span> <span class='id identifier rubyid_realm'>realm</span><span class='comma'>,</span> <span class='label'>private_type:</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='lparen'>(</span><span class='id identifier rubyid_pass_from_file'>pass_from_file</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='id identifier rubyid_each_user_pass_from_userpass_file'>each_user_pass_from_userpass_file</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_user'>user</span><span class='comma'>,</span> <span class='id identifier rubyid_pass'>pass</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Credential.html#initialize-instance_method" title="Metasploit::Framework::Credential#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>public:</span> <span class='id identifier rubyid_user'>user</span><span class='comma'>,</span> <span class='label'>private:</span> <span class='id identifier rubyid_pass'>pass</span><span class='comma'>,</span> <span class='label'>realm:</span> <span class='id identifier rubyid_realm'>realm</span><span class='comma'>,</span> <span class='label'>private_type:</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='lparen'>(</span><span class='id identifier rubyid_pass'>pass</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='id identifier rubyid_additional_privates'>additional_privates</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_add_private'>add_private</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_each_username'>each_username</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_username'>username</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Credential.html#initialize-instance_method" title="Metasploit::Framework::Credential#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>public:</span> <span class='id identifier rubyid_username'>username</span><span class='comma'>,</span> <span class='label'>private:</span> <span class='id identifier rubyid_add_private'>add_private</span><span class='comma'>,</span> <span class='label'>realm:</span> <span class='id identifier rubyid_realm'>realm</span><span class='comma'>,</span> <span class='label'>private_type:</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='lparen'>(</span><span class='id identifier rubyid_add_private'>add_private</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="each_unfiltered_username_first-instance_method">
|
|
|
|
#<strong>each_unfiltered_username_first</strong> {|credential| ... } ⇒ <tt>void</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
<p class="note returns_void">This method returns an undefined value.</p>
|
|
<p>When password spraying is not enabled, do first usernames then passwords</p>
|
|
|
|
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span>
|
|
<span class='id identifier rubyid_username1'>username1</span><span class='symbol'>:password1</span>
|
|
<span class='id identifier rubyid_username1'>username1</span><span class='symbol'>:password2</span>
|
|
<span class='id identifier rubyid_username1'>username1</span><span class='symbol'>:password3</span>
|
|
</code></pre>
|
|
|
|
<p>…</p>
|
|
|
|
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_username2'>username2</span><span class='symbol'>:password1</span>
|
|
<span class='id identifier rubyid_username2'>username2</span><span class='symbol'>:password2</span>
|
|
<span class='id identifier rubyid_username2'>username2</span><span class='symbol'>:password3</span>
|
|
</code></pre>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Yield Parameters:</p>
|
|
<ul class="yieldparam">
|
|
|
|
<li>
|
|
|
|
<span class='name'>credential</span>
|
|
|
|
|
|
<span class='type'>(<tt><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Metasploit::Framework::Credential</a></span></tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
358
|
|
359
|
|
360
|
|
361
|
|
362
|
|
363
|
|
364
|
|
365
|
|
366
|
|
367
|
|
368
|
|
369
|
|
370
|
|
371
|
|
372
|
|
373
|
|
374
|
|
375
|
|
376
|
|
377
|
|
378
|
|
379
|
|
380
|
|
381
|
|
382
|
|
383
|
|
384
|
|
385</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 358</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_each_unfiltered_username_first'>each_unfiltered_username_first</span>
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_username'>username</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
|
|
<span class='id identifier rubyid_each_password'>each_password</span><span class='lparen'>(</span><span class='id identifier rubyid_username'>username</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_password'>password</span><span class='comma'>,</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Credential.html#initialize-instance_method" title="Metasploit::Framework::Credential#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>public:</span> <span class='id identifier rubyid_username'>username</span><span class='comma'>,</span> <span class='label'>private:</span> <span class='id identifier rubyid_password'>password</span><span class='comma'>,</span> <span class='label'>realm:</span> <span class='id identifier rubyid_realm'>realm</span><span class='comma'>,</span> <span class='label'>private_type:</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_user_file'>user_file</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
|
|
<span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_user_file'>user_file</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>r:binary</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_user_fd'>user_fd</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_user_fd'>user_fd</span><span class='period'>.</span><span class='id identifier rubyid_each_line'>each_line</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_user_from_file'>user_from_file</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_user_from_file'>user_from_file</span><span class='period'>.</span><span class='id identifier rubyid_chomp!'>chomp!</span>
|
|
<span class='id identifier rubyid_each_password'>each_password</span><span class='lparen'>(</span><span class='id identifier rubyid_user_from_file'>user_from_file</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_password'>password</span><span class='comma'>,</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Credential.html#initialize-instance_method" title="Metasploit::Framework::Credential#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>public:</span> <span class='id identifier rubyid_user_from_file'>user_from_file</span><span class='comma'>,</span> <span class='label'>private:</span> <span class='id identifier rubyid_password'>password</span><span class='comma'>,</span> <span class='label'>realm:</span> <span class='id identifier rubyid_realm'>realm</span><span class='comma'>,</span> <span class='label'>private_type:</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='id identifier rubyid_each_user_pass_from_userpass_file'>each_user_pass_from_userpass_file</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_user'>user</span><span class='comma'>,</span> <span class='id identifier rubyid_pass'>pass</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Credential.html#initialize-instance_method" title="Metasploit::Framework::Credential#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>public:</span> <span class='id identifier rubyid_user'>user</span><span class='comma'>,</span> <span class='label'>private:</span> <span class='id identifier rubyid_pass'>pass</span><span class='comma'>,</span> <span class='label'>realm:</span> <span class='id identifier rubyid_realm'>realm</span><span class='comma'>,</span> <span class='label'>private_type:</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='lparen'>(</span><span class='id identifier rubyid_pass'>pass</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='id identifier rubyid_additional_publics'>additional_publics</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_add_public'>add_public</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_each_password'>each_password</span><span class='lparen'>(</span><span class='id identifier rubyid_add_public'>add_public</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_password'>password</span><span class='comma'>,</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="../../Metasploit.html" title="Metasploit (module)">Metasploit</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Metasploit::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Credential.html" title="Metasploit::Framework::Credential (class)">Credential</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Credential.html#initialize-instance_method" title="Metasploit::Framework::Credential#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>public:</span> <span class='id identifier rubyid_add_public'>add_public</span><span class='comma'>,</span> <span class='label'>private:</span> <span class='id identifier rubyid_password'>password</span><span class='comma'>,</span> <span class='label'>realm:</span> <span class='id identifier rubyid_realm'>realm</span><span class='comma'>,</span> <span class='label'>private_type:</span> <span class='id identifier rubyid_private_type'>private_type</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="each_user_pass_from_userpass_file-instance_method">
|
|
|
|
#<strong>each_user_pass_from_userpass_file</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Iterates on userpass file if present</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
421
|
|
422
|
|
423
|
|
424
|
|
425
|
|
426
|
|
427
|
|
428
|
|
429
|
|
430
|
|
431
|
|
432</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 421</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_each_user_pass_from_userpass_file'>each_user_pass_from_userpass_file</span>
|
|
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_userpass_file'>userpass_file</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
|
|
|
|
<span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_userpass_file'>userpass_file</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>r:binary</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_userpass_fd'>userpass_fd</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_userpass_fd'>userpass_fd</span><span class='period'>.</span><span class='id identifier rubyid_each_line'>each_line</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_line'>line</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_user'>user</span><span class='comma'>,</span> <span class='id identifier rubyid_pass'>pass</span> <span class='op'>=</span> <span class='id identifier rubyid_line'>line</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='int'>2</span><span class='rparen'>)</span>
|
|
<span class='id identifier rubyid_pass'>pass</span> <span class='op'>=</span> <span class='id identifier rubyid_pass'>pass</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span> <span class='op'>:</span> <span class='id identifier rubyid_pass'>pass</span><span class='period'>.</span><span class='id identifier rubyid_chomp!'>chomp!</span>
|
|
|
|
<span class='kw'>yield</span> <span class='lbracket'>[</span><span class='id identifier rubyid_user'>user</span><span class='comma'>,</span> <span class='id identifier rubyid_pass'>pass</span><span class='rbracket'>]</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="each_username-instance_method">
|
|
|
|
#<strong>each_username</strong> ⇒ <tt>Object</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Iterates over all possible usernames</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
327
|
|
328
|
|
329
|
|
330
|
|
331
|
|
332
|
|
333
|
|
334
|
|
335
|
|
336
|
|
337
|
|
338
|
|
339
|
|
340
|
|
341
|
|
342
|
|
343
|
|
344
|
|
345</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 327</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_each_username'>each_username</span>
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_username'>username</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
|
|
<span class='kw'>yield</span> <span class='id identifier rubyid_username'>username</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='kw'>if</span> <span class='id identifier rubyid_user_file'>user_file</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
|
|
<span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_user_file'>user_file</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>r:binary</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_user_fd'>user_fd</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_user_fd'>user_fd</span><span class='period'>.</span><span class='id identifier rubyid_each_line'>each_line</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_user_from_file'>user_from_file</span><span class='op'>|</span>
|
|
<span class='id identifier rubyid_user_from_file'>user_from_file</span><span class='period'>.</span><span class='id identifier rubyid_chomp!'>chomp!</span>
|
|
<span class='kw'>yield</span> <span class='id identifier rubyid_user_from_file'>user_from_file</span>
|
|
<span class='kw'>end</span>
|
|
<span class='id identifier rubyid_user_fd'>user_fd</span><span class='period'>.</span><span class='id identifier rubyid_seek'>seek</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span>
|
|
|
|
<span class='id identifier rubyid_additional_publics'>additional_publics</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_add_public'>add_public</span><span class='op'>|</span>
|
|
<span class='kw'>yield</span> <span class='id identifier rubyid_add_public'>add_public</span>
|
|
<span class='kw'>end</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="empty?-instance_method">
|
|
|
|
#<strong>empty?</strong> ⇒ <tt>Boolean</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Returns true when #each will have no results to iterate</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Returns:</p>
|
|
<ul class="return">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>Boolean</tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
437
|
|
438
|
|
439</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 437</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_empty?'>empty?</span>
|
|
<span class='id identifier rubyid_prepended_creds'>prepended_creds</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_has_users?'>has_users?</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_anonymous_login'>anonymous_login</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_has_users?'>has_users?</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_has_privates?'>has_privates?</span><span class='rparen'>)</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="has_privates?-instance_method">
|
|
|
|
#<strong>has_privates?</strong> ⇒ <tt>Boolean</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Returns true when there are any private values set</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Returns:</p>
|
|
<ul class="return">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>Boolean</tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
451
|
|
452
|
|
453</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 451</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_has_privates?'>has_privates?</span>
|
|
<span class='kw'>super</span> <span class='op'>||</span> <span class='id identifier rubyid_userpass_file'>userpass_file</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>||</span> <span class='id identifier rubyid_user_as_pass'>user_as_pass</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<h3 class="signature " id="has_users?-instance_method">
|
|
|
|
#<strong>has_users?</strong> ⇒ <tt>Boolean</tt>
|
|
|
|
|
|
|
|
|
|
|
|
</h3><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
<p>Returns true when there are any user values set</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
<p class="tag_title">Returns:</p>
|
|
<ul class="return">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>Boolean</tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
444
|
|
445
|
|
446</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/metasploit/framework/credential_collection.rb', line 444</span>
|
|
|
|
<span class='kw'>def</span> <span class='id identifier rubyid_has_users?'>has_users?</span>
|
|
<span class='id identifier rubyid_username'>username</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>||</span> <span class='id identifier rubyid_user_file'>user_file</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>||</span> <span class='id identifier rubyid_userpass_file'>userpass_file</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>||</span> <span class='op'>!</span><span class='id identifier rubyid_additional_publics'>additional_publics</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
|
<span class='kw'>end</span></pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="footer">
|
|
Generated on Fri May 8 17:04:01 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> |