initial idea of solution

This commit is contained in:
Charlie Fligg
2025-03-06 21:22:09 -05:00
parent 1a10ef87aa
commit 243f936575
3 changed files with 9 additions and 2 deletions
+1 -1
View File
@@ -51,7 +51,7 @@ def begin_snaffle(options):
for target in options.targets:
smb_client = SMBClient(
target, options.username, options.password, options.domain, options.hash)
target, options.username, options.password, options.domain, options.hash, options.shares)
if not smb_client.login():
log.error(f"Unable to login to{target}")
continue
+6 -1
View File
@@ -20,7 +20,7 @@ class SMBClient:
Wrapper around impacket's SMBConnection() object
'''
def __init__(self, server, username, password, domain, nthash):
def __init__(self, server, username, password, domain, nthash, share_names):
self.server = server
@@ -30,6 +30,7 @@ class SMBClient:
self.password = password
self.domain = domain
self.nthash = nthash
self.share_names = share_names
if self.nthash:
# means no password, see https://yougottahackthat.com/blog/339/what-is-aad3b435b51404eeaad3b435b51404ee
self.lmhash = 'aad3b435b51404eeaad3b435b51404ee'
@@ -46,6 +47,10 @@ class SMBClient:
remarkname = resp[i]['shi1_remark'][:-1]
# log.info(f'Found share {sharename} on {self.server}, remark {remarkname}')
if(self.share_names != "" or self.share_names != None): # if shares are empty, then scan all shares
if(not sharename in self.share_names.split(",")): # if share is not in our list of shares to scan, skip it
continue
share_text = termcolor.colored("[Share]", 'light_yellow')
print(share_text, termcolor.colored(
+2
View File
@@ -41,6 +41,8 @@ def parse_arguments():
parser.add_argument("--no-download", action='store_true', help="Don't download files, just print found file names to stdout - this can only show the top level of files from the share and is unable to recurse into subdirectories.")
parser.add_argument("-s", "--shares", action="store_true", help="Comma separated list of shares to scan. ie: hr,document,test")
try:
if len(sys.argv) <= 1:
parser.print_help()