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)
def login(self, ip=None, user=None, passwd=None): if not ip: ip = self.ip if not user: user = self.user if not passwd: passwd = self.passwd return Terminal(ip, user, passwd, timeout=5)
def do_terminal(self, args): 'use terminal for host' if len(args) == 0: print "e.g: terminal host" else: host = args.split()[0] if self.user and self.passwd: client = Terminal(host, self.user, self.passwd, timeout=5) client.run()
def setUp(self, log_captured): session = SessionURL(self.url, self.password, volatile = True) modules.load_modules(session) self.terminal = Terminal(session) self.brokensessionfiles = [ '/nonexistent', '/tmp/sessionfile1', '/tmp/sessionfile2', '/tmp/sessionfile3' ]
def test_run_wrong_url(self, log_captured): session = SessionURL(self.url + 'BOGUS', 'BOGUS', volatile=True) modules.load_modules(session) terminal = Terminal(session) line = 'echo 1' line = terminal.precmd(line) stop = terminal.onecmd(line) stop = terminal.postcmd(stop, line) # Test the behaviour when starting terminal on wrong remote URL self.assertTrue(log_captured.records[-1].msg.endswith( messages.terminal.backdoor_unavailable))
parser = argparse.ArgumentParser() parser.add_argument("-u", help="Url") parser.add_argument("-g", help="Generate Shell") parser.add_argument("-p", help="Password") args = parser.parse_args() #Banner banner = Banner() banner.get_banner() #Version Updater version = Version() version.update() params = parser.parse_args() #Init 1 def main(params): if params.g and params.p: shell.set_generator() elif params.u and params.p: terminal.loop() else: print("Type -h for help.") if __name__ == '__main__': terminal = Terminal(params.u,params.p) shell = Generator(params.g,params.p) try: main(params) except (KeyboardInterrupt, EOFError): log.info('Exiting.')
%s Available modules %s''' if __name__ == "__main__": if len(sys.argv) == 3 and sys.argv[1].startswith('http'): print "[+] Starting terminal, shell probe may take a while" url = sys.argv[1] password = sys.argv[2] try: Terminal(ModHandler(url, password)).loop() except ModuleException, e: print e except (KeyboardInterrupt, EOFError): print '\n[!] Exiting. Bye ^^' elif len(sys.argv) >= 3 and sys.argv[1].startswith('generate'): genname = sys.argv[1] password = sys.argv[2] if genname == 'generate': genname = 'generate.php' args_list = [':%s' % genname] + sys.argv[3:]
def setUp(self, log_captured): session = SessionURL(self.url, self.password, volatile=True) modules.load_modules(session) self.terminal = Terminal(session)
sessionfile = None if sys.argv[1].startswith('http'): url = sys.argv[1] password = sys.argv[2] else: sessionfile = sys.argv[2] try: module_handler = ModHandler(url=url, password=password, sessionfile=sessionfile) if len(sys.argv) == 3: Terminal(module_handler).loop() else: Terminal(module_handler).run_cmd_line(sys.argv[3:]) except ModuleException, e: print '[%s] [!] %s ' % (e.module, e.error) except (KeyboardInterrupt, EOFError): print '\n[!] Exiting. Bye ^^' elif len(sys.argv) >= 3 and sys.argv[1].startswith('generate'): genname = sys.argv[1] password = sys.argv[2] if genname == 'generate': genname = 'generate.php'
def run(): t = Terminal() while True: t.terminal()
import sys if __name__ == "__main__": if len(sys.argv) == 3 and sys.argv[1].startswith('http'): url = sys.argv[1] password = sys.argv[2] try: Terminal ( ModHandler(url, password) ).loop() except ModuleException, e: print '[!] [%s] %s ' % (e.module, e.error) except (KeyboardInterrupt, EOFError): print '\n[!] Exiting. Bye ^^' elif len(sys.argv) >= 3 and sys.argv[1].startswith('session'): sessionfile = sys.argv[2] try: Terminal(ModHandler()).loop(sessionfile) except ModuleException, e: print '[!] [%s] %s ' % (e.module, e.error) except KeyboardInterrupt: print '\n[!] Exiting. Bye ^^'
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)
Show modules help weevely <url> <password> %s [module name] ''' % help_string if __name__ == "__main__": if len(sys.argv) == 3 and sys.argv[1].startswith('http'): print "[+] Starting terminal. Shell probe may take a while..." url = sys.argv[1] password = sys.argv[2] try: Terminal(ModHandler(url, password)).loop() except ModuleException, e: print e except KeyboardInterrupt: print '\n[!] Exiting. Bye ^^' elif len(sys.argv) == 4 and sys.argv[1] == 'generate': try: Backdoor(sys.argv[2]).save(sys.argv[3]) except Exception, e: print '\n[!] Creation error: %s ' % str(e) raise elif len(sys.argv) > 3 and sys.argv[1].startswith('http'): url = sys.argv[1]