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 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))
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))
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)) except ImportError: e = format_exc() croak(e) except Exception: e = format_exc() croak(e) except KeyboardInterrupt, ki: if m is not None: m.onterminate()
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)) except ImportError: e = format_exc() croak(e) except Exception: e = format_exc() croak(e) except KeyboardInterrupt, ki: if m is not None: m.onterminate()