Skip to content

Commit 890d35c

Browse files
committed
Fix warning placement to be more helpful
1 parent beb1cef commit 890d35c

File tree

1 file changed

+14
-25
lines changed

1 file changed

+14
-25
lines changed

modules/exploits/windows/smb/ms17_010_eternalblue.rb

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -153,11 +153,22 @@ def smb_eternalblue(process_name, grooms)
153153
client, tree, sock, os = smb1_anonymous_connect_ipc()
154154
print_good("Connection established for exploitation.")
155155

156-
if !verify_target(os)
156+
if verify_target(os)
157+
print_good('Target OS selected valid for OS indicated by SMB reply')
158+
else
159+
print_warning('Target OS selected not valid for OS indicated by SMB reply')
160+
print_warning('Disable VerifyTarget option to proceed manually...')
157161
raise EternalBlueError, 'Unable to continue with improper OS Target.'
158162
end
159163

160-
if !verify_arch
164+
# cool buffer print no matter what, will be helpful when people post debug issues
165+
print_core_buffer(os)
166+
167+
if verify_arch
168+
print_good('Target arch selected valid for OS indicated by DCE/RPC reply')
169+
else
170+
print_warning('Target arch selected not valid for OS indicated by DCE/RPC reply')
171+
print_warning('Disable VerifyArch option to proceed manually...')
161172
raise EternalBlueError, 'Unable to continue with improper OS Arch.'
162173
end
163174

@@ -234,18 +245,8 @@ def verify_target(os)
234245
break
235246
end
236247
end
237-
238-
if ret
239-
print_good('Target OS selected valid for OS indicated by SMB reply')
240-
else
241-
print_warning('Target OS selected not valid for OS indicated by SMB reply')
242-
print_warning('Disable VerifyTarget option to proceed manually...')
243-
end
244248
end
245249

246-
# cool buffer print no matter what, will be helpful when people post debug issues
247-
print_core_buffer(os)
248-
249250
return ret
250251
end
251252

@@ -268,13 +269,8 @@ def verify_arch
268269
'RHOST' => rhost,
269270
'RPORT' => 135
270271
)
271-
rescue ::Errno::ECONNRESET,
272-
::Rex::HostUnreachable,
273-
::Rex::ConnectionTimeout,
274-
::Rex::ConnectionRefused => e
272+
rescue Rex::ConnectionError => e
275273
print_error(e.to_s)
276-
print_warning('Target arch not detected for target OS')
277-
print_warning('Disable VerifyArch option to proceed manually...')
278274
return false
279275
end
280276

@@ -310,13 +306,6 @@ def verify_arch
310306
end
311307
end
312308

313-
if ret
314-
print_good('Target arch selected valid for OS indicated by DCE/RPC reply')
315-
else
316-
print_warning('Target arch selected not valid for OS indicated by DCE/RPC reply')
317-
print_warning('Disable VerifyArch option to proceed manually...')
318-
end
319-
320309
ret
321310
end
322311

0 commit comments

Comments
 (0)