2
2
3
3
require 'uri'
4
4
require 'digest'
5
+ require 'rex/proto/ntlm/crypt'
6
+ require 'rex/proto/ntlm/constants'
7
+ require 'rex/proto/ntlm/utils'
8
+ require 'rex/proto/ntlm/exceptions'
5
9
module Msf
6
10
7
11
###
@@ -12,6 +16,15 @@ module Msf
12
16
###
13
17
module Exploit ::Remote ::HttpClient
14
18
include Msf ::Auxiliary ::Report
19
+ include Exploit ::Remote ::NTLM ::Client
20
+
21
+ #
22
+ # Constants
23
+ #
24
+ NTLM_CRYPT = Rex ::Proto ::NTLM ::Crypt
25
+ NTLM_CONST = Rex ::Proto ::NTLM ::Constants
26
+ NTLM_UTILS = Rex ::Proto ::NTLM ::Utils
27
+ NTLM_XCEPT = Rex ::Proto ::NTLM ::Exceptions
15
28
16
29
#
17
30
# Initializes an exploit module that exploits a vulnerability in an HTTP
@@ -180,6 +193,12 @@ def connect(opts={})
180
193
'uri_fake_end' => datastore [ 'HTTP::uri_fake_end' ] ,
181
194
'uri_fake_params_start' => datastore [ 'HTTP::uri_fake_params_start' ] ,
182
195
'header_folding' => datastore [ 'HTTP::header_folding' ] ,
196
+ 'usentlm2_session' => datastore [ 'NTLM::UseNTLM2_session' ] ,
197
+ 'use_ntlmv2' => datastore [ 'NTLM::UseNTLMv2' ] ,
198
+ 'send_lm' => datastore [ 'NTLM::SendLM' ] ,
199
+ 'send_ntlm' => datastore [ 'NTLM::SendNTLM' ] ,
200
+ 'SendSPN' => datastore [ 'NTLM::SendSPN' ] ,
201
+ 'UseLMKey' => datastore [ 'NTLM::UseLMKey' ] ,
183
202
'domain' => datastore [ 'DOMAIN' ] ,
184
203
'DigestAuthIIS' => datastore [ 'DigestAuthIIS' ]
185
204
)
@@ -236,6 +255,12 @@ def configure_http_login_scanner(conf)
236
255
evade_uri_fake_end : datastore [ 'HTTP::uri_fake_end' ] ,
237
256
evade_uri_fake_params_start : datastore [ 'HTTP::uri_fake_params_start' ] ,
238
257
evade_header_folding : datastore [ 'HTTP::header_folding' ] ,
258
+ ntlm_use_ntlmv2_session : datastore [ 'NTLM::UseNTLM2_session' ] ,
259
+ ntlm_use_ntlmv2 : datastore [ 'NTLM::UseNTLMv2' ] ,
260
+ ntlm_send_lm : datastore [ 'NTLM::SendLM' ] ,
261
+ ntlm_send_ntlm : datastore [ 'NTLM::SendNTLM' ] ,
262
+ ntlm_send_spn : datastore [ 'NTLM::SendSPN' ] ,
263
+ ntlm_use_lm_key : datastore [ 'NTLM::UseLMKey' ] ,
239
264
ntlm_domain : datastore [ 'DOMAIN' ] ,
240
265
digest_auth_iis : datastore [ 'DigestAuthIIS' ]
241
266
} . merge ( conf )
0 commit comments