Example #1
0
def run(args):

    [transform, params, value,
     fields] = parseargs(['canari %s' % cmd_name(__name__)] + args)

    m = None
    fix_binpath(config['default/path'])
    try:
        m = import_transform(transform)

        if os.name == 'posix' and hasattr(m.dotransform,
                                          'privileged') and os.geteuid():
            rc = sudo(sys.argv)
            if rc == 1:
                console_message(MaltegoTransformResponseMessage() +
                                UIMessage('User cancelled transform.'))
            elif rc == 2:
                console_message(
                    MaltegoTransformResponseMessage() +
                    UIMessage('Too many incorrect password attempts.'))
            elif rc:
                console_message(MaltegoTransformResponseMessage() +
                                UIMessage('Unknown error occurred.'))
            exit(rc)

        if hasattr(m, 'onterminate'):
            onterminate(m.onterminate)
        else:
            m.__setattr__('onterminate', lambda *args: exit(-1))

        input_entity = to_entity(guess_entity_type(m, fields), value, fields)

        msg = m.dotransform(
            MaltegoTransformRequestMessage(value, fields, params,
                                           input_entity),
            MaltegoTransformResponseMessage()) if get_transform_version(
                m.dotransform) == 2 else m.dotransform(
                    MaltegoTransformRequestMessage(value, fields, params,
                                                   input_entity),
                    MaltegoTransformResponseMessage(), config)

        if isinstance(msg, MaltegoTransformResponseMessage):
            console_message(msg)
        elif isinstance(msg, basestring):
            raise MaltegoException(msg)
        else:
            raise MaltegoException(
                'Could not resolve message type returned by transform.')
    except MaltegoException, me:
        croak(str(me))
def run(args):

    [transform, params, value, fields] = parseargs(['canari %s' % cmd_name(__name__)] + args)

    m = None
    fix_binpath(config['default/path'])
    try:
        m = import_transform(transform)

        if name == 'posix' and hasattr(m.dotransform, 'privileged') and geteuid():
            execvp('sudo', ['sudo'] + list(argv))
            exit(-1)

        if hasattr(m, 'onterminate'):
            onterminate(m.onterminate)
        else:
            m.__setattr__('onterminate', lambda *args: exit(-1))

        msg = m.dotransform(
            type(
                'MaltegoTransformRequestMessage',
                (object,),
                    {
                    'value' : value,
                    'fields' : fields,
                    'params' : params
                }
            )(),
            MaltegoTransformResponseMessage()
        )

        if isinstance(msg, MaltegoTransformResponseMessage):
            console_message(msg)
        elif isinstance(msg, basestring):
            raise MaltegoException(msg)
        else:
            raise MaltegoException('Could not resolve message type returned by transform.')
    except MaltegoException, me:
        croak(str(me))
Example #3
0
 def __call__(self, value, *args, **kwargs):
     if os.name == 'posix' and hasattr(self.mod.dotransform,
                                       'privileged') and os.geteuid():
         print highlight(
             "Need to be root to run this transform... sudo'ing...",
             'green', True)
         os.execvp('sudo', self.sudoargs)
         return
     return console_message(
         self.mod.dotransform(
             type('MaltegoTransformRequestMessage', (object, ), {
                 'value': value,
                 'params': list(args),
                 'fields': kwargs
             })(), MaltegoTransformResponseMessage()))
Example #4
0
def run(args):

    [transform, params, value, fields] = parseargs(['canari %s' % cmd_name(__name__)] + args)

    m = None
    fix_binpath(config['default/path'])
    try:
        m = import_transform(transform)

        if os.name == 'posix' and hasattr(m.dotransform, 'privileged') and os.geteuid():
            rc = sudo(sys.argv)
            if rc == 1:
                console_message(MaltegoTransformResponseMessage() + UIMessage('User cancelled transform.'))
            elif rc == 2:
                console_message(MaltegoTransformResponseMessage() + UIMessage('Too many incorrect password attempts.'))
            elif rc:
                console_message(MaltegoTransformResponseMessage() + UIMessage('Unknown error occurred.'))
            exit(rc)

        if hasattr(m, 'onterminate'):
            onterminate(m.onterminate)
        else:
            m.__setattr__('onterminate', lambda *args: exit(-1))

        msg = m.dotransform(
            type(
                'MaltegoTransformRequestMessage',
                (object,),
                    {
                    'value' : value,
                    'fields' : fields,
                    'params' : params
                }
            )(),
            MaltegoTransformResponseMessage()
        )

        if isinstance(msg, MaltegoTransformResponseMessage):
            console_message(msg)
        elif isinstance(msg, basestring):
            raise MaltegoException(msg)
        else:
            raise MaltegoException('Could not resolve message type returned by transform.')
    except MaltegoException, me:
        croak(str(me))
Example #5
0
 def __call__(self, value, *args, **kwargs):
     if os.name == 'posix' and hasattr(self.mod.dotransform, 'privileged') and os.geteuid():
         print highlight("Need to be root to run this transform... sudo'ing...", 'green', True)
         os.execvp('sudo', self.sudoargs)
         return
     return console_message(self.mod.dotransform(
         type(
             'MaltegoTransformRequestMessage',
             (object,),
                 {
                 'value' : value,
                 'params' : list(args),
                 'fields' : kwargs
             }
         )(),
         MaltegoTransformResponseMessage()
     ))