@@ -71,7 +71,9 @@ def initialize(opts = {})
71
71
opts . each do |attribute , value |
72
72
public_send ( "#{ attribute } =" , value )
73
73
end
74
- self . prepended_creds ||= [ ]
74
+ self . prepended_creds ||= [ ]
75
+ self . additional_privates ||= [ ]
76
+ self . additional_publics ||= [ ]
75
77
end
76
78
77
79
# Adds a string as an addition private credential
@@ -131,6 +133,9 @@ def each
131
133
end
132
134
pass_fd . seek ( 0 )
133
135
end
136
+ additional_privates . each do |add_private |
137
+ yield Metasploit ::Framework ::Credential . new ( public : username , private : add_private , realm : realm , private_type : private_type ( add_private ) )
138
+ end
134
139
end
135
140
136
141
if user_file . present?
@@ -153,6 +158,9 @@ def each
153
158
end
154
159
pass_fd . seek ( 0 )
155
160
end
161
+ additional_privates . each do |add_private |
162
+ yield Metasploit ::Framework ::Credential . new ( public : user_from_file , private : add_private , realm : realm , private_type : private_type ( add_private ) )
163
+ end
156
164
end
157
165
end
158
166
end
@@ -171,6 +179,28 @@ def each
171
179
end
172
180
end
173
181
182
+ additional_publics . each do |add_public |
183
+ if password . present?
184
+ yield Metasploit ::Framework ::Credential . new ( public : add_public , private : password , realm : realm , private_type : private_type ( password ) )
185
+ end
186
+ if user_as_pass
187
+ yield Metasploit ::Framework ::Credential . new ( public : add_public , private : user_from_file , realm : realm , private_type : :password )
188
+ end
189
+ if blank_passwords
190
+ yield Metasploit ::Framework ::Credential . new ( public : add_public , private : "" , realm : realm , private_type : :password )
191
+ end
192
+ if pass_fd
193
+ pass_fd . each_line do |pass_from_file |
194
+ pass_from_file . chomp!
195
+ yield Metasploit ::Framework ::Credential . new ( public : add_public , private : pass_from_file , realm : realm , private_type : private_type ( pass_from_file ) )
196
+ end
197
+ pass_fd . seek ( 0 )
198
+ end
199
+ additional_privates . each do |add_private |
200
+ yield Metasploit ::Framework ::Credential . new ( public : add_public , private : add_private , realm : realm , private_type : private_type ( add_private ) )
201
+ end
202
+ end
203
+
174
204
ensure
175
205
pass_fd . close if pass_fd && !pass_fd . closed?
176
206
end
0 commit comments