Exemple #1
0
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)
Exemple #2
0
 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)
Exemple #3
0
 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()
Exemple #4
0
    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'
        ]
Exemple #5
0
    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))
Exemple #6
0
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.')
Exemple #7
0
%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:]
Exemple #8
0
    def setUp(self, log_captured):

        session = SessionURL(self.url, self.password, volatile=True)
        modules.load_modules(session)

        self.terminal = Terminal(session)
Exemple #9
0
        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'
Exemple #10
0
def run():
    t = Terminal()
    while True:
        t.terminal()
Exemple #11
0
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 ^^'
Exemple #12
0
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)
Exemple #13
0
  
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]