commit
508fe83254
|
@ -67,7 +67,7 @@ class mssql(connection):
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if self.args.domain:
|
if self.args.no_smb:
|
||||||
self.domain = self.args.domain
|
self.domain = self.args.domain
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -1,11 +1,16 @@
|
||||||
|
from argparse import _StoreTrueAction
|
||||||
|
|
||||||
def proto_args(parser, std_parser, module_parser):
|
def proto_args(parser, std_parser, module_parser):
|
||||||
mssql_parser = parser.add_parser('mssql', help="own stuff using MSSQL", parents=[std_parser, module_parser])
|
mssql_parser = parser.add_parser('mssql', help="own stuff using MSSQL", parents=[std_parser, module_parser])
|
||||||
dgroup = mssql_parser.add_mutually_exclusive_group()
|
|
||||||
dgroup.add_argument("-d", metavar="DOMAIN", dest='domain', type=str, help="domain name")
|
|
||||||
dgroup.add_argument("--local-auth", action='store_true', help='authenticate locally to each target')
|
|
||||||
mssql_parser.add_argument("-H", '--hash', metavar="HASH", dest='hash', nargs='+', default=[], help='NTLM hash(es) or file(s) containing NTLM hashes')
|
mssql_parser.add_argument("-H", '--hash', metavar="HASH", dest='hash', nargs='+', default=[], help='NTLM hash(es) or file(s) containing NTLM hashes')
|
||||||
mssql_parser.add_argument("--port", default=1433, type=int, metavar='PORT', help='MSSQL port (default: 1433)')
|
mssql_parser.add_argument("--port", default=1433, type=int, metavar='PORT', help='MSSQL port (default: 1433)')
|
||||||
mssql_parser.add_argument("-q", "--query", dest='mssql_query', metavar='QUERY', type=str, help='execute the specified query against the MSSQL DB')
|
mssql_parser.add_argument("-q", "--query", dest='mssql_query', metavar='QUERY', type=str, help='execute the specified query against the MSSQL DB')
|
||||||
|
no_smb_arg = mssql_parser.add_argument("--no-smb", action=get_conditional_action(_StoreTrueAction), make_required=[], help='No smb connection')
|
||||||
|
|
||||||
|
dgroup = mssql_parser.add_mutually_exclusive_group()
|
||||||
|
domain_arg = dgroup.add_argument("-d", metavar="DOMAIN", dest='domain', type=str, help="domain name")
|
||||||
|
dgroup.add_argument("--local-auth", action='store_true', help='authenticate locally to each target')
|
||||||
|
no_smb_arg.make_required = [domain_arg]
|
||||||
|
|
||||||
cgroup = mssql_parser.add_argument_group("Command Execution", "options for executing commands")
|
cgroup = mssql_parser.add_argument_group("Command Execution", "options for executing commands")
|
||||||
cgroup.add_argument('--force-ps32', action='store_true', help='force the PowerShell command to run in a 32-bit process')
|
cgroup.add_argument('--force-ps32', action='store_true', help='force the PowerShell command to run in a 32-bit process')
|
||||||
|
@ -22,4 +27,18 @@ def proto_args(parser, std_parser, module_parser):
|
||||||
tgroup.add_argument("--put-file", nargs=2, metavar="FILE", help='Put a local file into remote target, ex: whoami.txt C:\\Windows\\Temp\\whoami.txt')
|
tgroup.add_argument("--put-file", nargs=2, metavar="FILE", help='Put a local file into remote target, ex: whoami.txt C:\\Windows\\Temp\\whoami.txt')
|
||||||
tgroup.add_argument("--get-file", nargs=2, metavar="FILE", help='Get a remote file, ex: C:\\Windows\\Temp\\whoami.txt whoami.txt')
|
tgroup.add_argument("--get-file", nargs=2, metavar="FILE", help='Get a remote file, ex: C:\\Windows\\Temp\\whoami.txt whoami.txt')
|
||||||
|
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
def get_conditional_action(baseAction):
|
||||||
|
class ConditionalAction(baseAction):
|
||||||
|
def __init__(self, option_strings, dest, **kwargs):
|
||||||
|
x = kwargs.pop('make_required', [])
|
||||||
|
super(ConditionalAction, self).__init__(option_strings, dest, **kwargs)
|
||||||
|
self.make_required = x
|
||||||
|
|
||||||
|
def __call__(self, parser, namespace, values, option_string=None):
|
||||||
|
for x in self.make_required:
|
||||||
|
x.required = True
|
||||||
|
super(ConditionalAction, self).__call__(parser, namespace, values, option_string)
|
||||||
|
|
||||||
|
return ConditionalAction
|
Loading…
Reference in New Issue