Ejemplo n.º 1
0
class Label(MaltegoElement):
    def __init__(self, name=None, value=None, **kwargs):
        super(Label, self).__init__(name=name, value=value, **kwargs)

    value = fields_.CDATA(tagname='.')
    type = fields_.String(attrname='Type', default='text/text')
    name = fields_.String(attrname='Name')
Ejemplo n.º 2
0
class _Entity(MaltegoElement):
    class meta:
        tagname = 'Entity'

    type = fields_.String(attrname='Type')
    fields = fields_.Dict(Field,
                          key='name',
                          tagname='AdditionalFields',
                          required=False)
    labels = fields_.Dict(Label,
                          key='name',
                          tagname='DisplayInformation',
                          required=False)
    value = fields_.String(tagname='Value')
    weight = fields_.Integer(tagname='Weight', default=1)
    iconurl = fields_.String(tagname='IconURL', required=False)

    def appendelement(self, other):
        if isinstance(other, Field):
            self.fields.append(other)
        elif isinstance(other, Label):
            self.labels.append(other)

    def removeelement(self, other):
        if isinstance(other, Field):
            self.fields.remove(other)
        elif isinstance(other, Label):
            self.labels.remove(other)
Ejemplo n.º 3
0
class TransformPropertySetting(MaltegoElement):
    class meta:
        tagname = 'Property'

    name = fields_.String()
    popup = fields_.Boolean(default=False)
    type = fields_.String(default=PropertyType.String)
    value = fields_.String(tagname=".")
Ejemplo n.º 4
0
class Field(MaltegoElement):
    def __init__(self, name=None, value=None, **kwargs):
        super(Field, self).__init__(name=name, value=value, **kwargs)

    name = fields_.String(attrname='Name')
    displayname = fields_.String(attrname='DisplayName', required=False)
    matchingrule = fields_.String(attrname='MatchingRule', default=MatchingRule.Strict, required=False)
    value = fields_.String(tagname='.')
Ejemplo n.º 5
0
class MaltegoException(MaltegoElement, Exception):
    class meta:
        tagname = 'Exception'

    def __init__(self, value, code=None):
        super(MaltegoException, self).__init__(value=value, code=code),

    value = fields_.String(tagname='.')
    code = fields_.String(required=False)
Ejemplo n.º 6
0
class TransformSet(MaltegoElement):

    name = fields_.String()
    description = fields_.String(default='')
    transforms = fields_.List(Transform, tagname='Transforms')

    def appendelement(self, other):
        if isinstance(other, Transform):
            self.transforms.append(other)

    def removeelement(self, other):
        if isinstance(other, Transform):
            self.transforms.remove(other)
Ejemplo n.º 7
0
class InputConstraint(MaltegoElement):
    class meta:
        tagname = 'Entity'

    type = fields_.String()
    min = fields_.Integer(default=1)
    max = fields_.Integer(default=1)
Ejemplo n.º 8
0
class EntityProperties(MaltegoElement):
    class meta:
        tagname = 'Properties'

    value = fields_.String(required=False)
    groups = fields_.Model(Groups, required=False)
    fields = fields_.Dict(Field, key='name', tagname='Fields', required=False)
Ejemplo n.º 9
0
class MaltegoException(MaltegoElement, Exception):
    class meta:
        tagname = 'Exception'

    def __init__(self, value):
        super(MaltegoElement, self).__init__(value=value)

    value = fields_.String(tagname='.')
Ejemplo n.º 10
0
class MaltegoServer(MaltegoElement):

    name = fields_.String(default='Local')
    enabled = fields_.Boolean(default=True)
    description = fields_.String(
        default='Local transforms hosted on this machine')
    url = fields_.String(default='http://localhost')
    lastsync = fields_.String(tagname='LastSync',
                              default=time.strftime('%Y-%m-%d'))
    protocol = fields_.Model(Protocol)
    authentication = fields_.Model(Authentication)
    transforms = fields_.List(Transform, tagname='Transforms')

    def appendelement(self, other):
        if isinstance(other, Transform):
            self.transforms.append(other)

    def removeelement(self, other):
        if isinstance(other, Transform):
            self.transforms.remove(other)
Ejemplo n.º 11
0
class attributes(MaltegoElement):

    version = fields_.String(default='1.0')
    fileobjects = fields_.Dict(fileobject, key='name')

    def appendelement(self, other):
        if isinstance(other, fileobject):
            self.fileobjects[other.name] = other

    def removeelement(self, other):
        if isinstance(other, fileobject):
            del self.fileobjects[other.name]
Ejemplo n.º 12
0
class fileobject(MaltegoElement):

    name = fields_.String()
    attrs = fields_.Dict(attr, key='name')

    def appendelement(self, other):
        if isinstance(other, attr):
            self.attrs[other.name] = other

    def removeelement(self, other):
        if isinstance(other, attr):
            del self.attrs[other.name]
Ejemplo n.º 13
0
class MaltegoEntity(MaltegoElement):

    id = fields_.String()
    displayname = fields_.String(attrname='displayName', required=False)
    plural = fields_.String(attrname='displayNamePlural', required=False)
    description = fields_.String(default='', required=False)
    category = fields_.String(required=False)
    smallicon = fields_.String(attrname='smallIconResource', required=False)
    largeicon = fields_.String(attrname='largeIconResource', required=False)
    allowedRoot = fields_.Boolean(default=True, required=False)
    conversion_order = fields_.Integer(attrname='conversionOrder',
                                       default=2147483647,
                                       required=False)
    visible = fields_.Boolean(default=True, required=False)
    largeicontag = fields_.String(tagname='Icon', required=False)
    smallicontag = fields_.String(tagname='SmallIcon', required=False)
    converter = fields_.Model(Converter, required=False)
    properties = fields_.Model(EntityProperties, required=False)
Ejemplo n.º 14
0
class Field(MaltegoElement):

    name = fields_.String()
    type = fields_.String()
    nullable = fields_.Boolean(default=True)
    hidden = fields_.Boolean(default=False)
    readonly = fields_.Boolean(default=False)
    description = fields_.String(required=False)
    displayname = fields_.String(attrname='displayName')
    defaultvalue = fields_.String(tagname='DefaultValue', required=False)
    samplevalue = fields_.String(tagname='SampleValue', default='')
Ejemplo n.º 15
0
class TransformProperty(MaltegoElement):
    class meta:
        tagname = 'Property'

    defaultvalue = fields_.String(tagname='DefaultValue', required=False)
    samplevalue = fields_.String(tagname='SampleValue', default='')
    abstract = fields_.Boolean(default=False)
    description = fields_.String(default='')
    displayname = fields_.String(attrname='displayName')
    hidden = fields_.Boolean(default=False)
    name = fields_.String()
    nullable = fields_.Boolean(default=False)
    readonly = fields_.Boolean(default=False)
    popup = fields_.Boolean(default=False)
    type = fields_.String(default=PropertyType.String)
    visibility = fields_.String(default=VisibilityType.Public)
Ejemplo n.º 16
0
class Authentication(MaltegoElement):

    type = fields_.String(default=AuthenticationType.Anonymous)
Ejemplo n.º 17
0
class Protocol(MaltegoElement):

    version = fields_.String(default='2.0')
Ejemplo n.º 18
0
class EntityCategory(MaltegoElement):

    name = fields_.String()
Ejemplo n.º 19
0
class UIMessage(MaltegoElement):
    def __init__(self, value=None, **kwargs):
        super(UIMessage, self).__init__(value=value, **kwargs)

    type = fields_.String(attrname='MessageType', default=UIMessageType.Inform)
    value = fields_.String(tagname='.')
Ejemplo n.º 20
0
class attr(MaltegoElement):
    name = fields_.String()
    stringvalue = fields_.String(required=False)
    boolvalue = fields_.Boolean(required=False)
Ejemplo n.º 21
0
class MaltegoTransform(MaltegoElement):

    name = fields_.String()
    displayname = fields_.String(attrname='displayName', default='')
    abstract = fields_.String(default=False)
    template = fields_.Boolean(default=False)
    visibility = fields_.String(default=VisibilityType.Public)
    description = fields_.String(default='')
    helpurl = fields_.String(attrname='helpURL', default='')
    author = fields_.String(default='')
    owner = fields_.String(default='')
    locrel = fields_.String(attrname='locationRelevance', default='global')
    version = fields_.String(default='1.0')
    requireinfo = fields_.Boolean(default=False, attrname='requireDisplayInfo')
    adapter = fields_.String(tagname='TransformAdapter',
                             default=TransformAdapter.Local)
    properties = fields_.Model(Properties)
    input = fields_.List(InputConstraint,
                         tagname='InputConstraints',
                         required=False)
    output = fields_.List(OutputEntity,
                          tagname='OutputEntities',
                          required=False)
    help = fields_.CDATA(tagname='Help', default='')
    disclaimer = fields_.CDATA(tagname='Disclaimer', default='')
    sets = fields_.List(Set, tagname='defaultSets')
    stealthlevel = fields_.Integer(tagname='StealthLevel', default=0)
    authenticator = fields_.String(tagname='Authenticator', required=False)

    def appendelement(self, other):
        if isinstance(other, Set):
            self.sets.append(other)
        elif isinstance(other, TransformProperty):
            self.properties.fields_.append(other)
        elif isinstance(other, InputConstraint) or isinstance(
                other, InputEntity):
            self.input.append(other)
        elif isinstance(other, OutputEntity):
            self.output.append(other)

    def removeelement(self, other):
        if isinstance(other, Set):
            self.sets.remove(other)
        if isinstance(other, TransformProperty):
            self.properties.fields_.remove(other)
        elif isinstance(other, InputConstraint) or isinstance(
                other, InputEntity):
            self.input.remove(other)
        elif isinstance(other, OutputEntity):
            self.output.remove(other)
Ejemplo n.º 22
0
class Transform(MaltegoElement):
    name = fields_.String()
Ejemplo n.º 23
0
class Set(MaltegoElement):
    name = fields_.String()
Ejemplo n.º 24
0
class RegexGroup(MaltegoElement):

    property = fields_.String(required=False)