PyMaltego
Package for developing Maltego Transforms
Installation
pip install pymaltego
Usage
from pymaltego import transforms, messages, entities
class EmailsToUsernamesTransform(transforms.BaseTransform):
def transform(self):
usernames = []
for entity in self.message.entities:
if len(usernames) >= self.message.soft_limit:
break
username = entity.value.split('@')[0]
usernames.append(entities.Entity(name='Username', value=username))
return usernames
xml = '''
<MaltegoMessage>
<MaltegoTransformRequestMessage>
<Entities>
<Entity Type="EmailAddress">
<Value>me@pyvim.com</Value>
</Entity>
</Entities>
<Limits SoftLimit="12" HardLimit="12"/>
</MaltegoTransformRequestMessage>
</MaltegoMessage>
'''
message = messages.TransformRequest(xml=xml)
transform = EmailsToUsernamesTransform(message)
print(transform.to_response().to_xml(pretty_print=True))
<MaltegoMessage>
<MaltegoTransformResponseMessage>
<Entities>
<Entity Type="Username">
<Value>me</Value>
</Entity>
</Entities>
</MaltegoTransformResponseMessage>
</MaltegoMessage>
Documentation
In development. See docstrings.
Tests
nosetests
or
python tests.py
Changelog
See CHANGELOG.md
License
See LICENSE