Maltego-TRX library is used to rapidly develop transform in a fast paced organization. Using inbuilt discovery protocol these transforms can be seamlessly added to iTDS and then distributed to Maltego Desktop Clients using seeds in a manageable fashion with least complexity. 

This document contains the steps to add Local Transforms written using Maltego-TRX library to iTDS and then distributing these transforms to Maltego Desktop Clients using seeds.

Step 1: 

Setup Maltego-TRX server using any one of method given below:

  1. Python Transform Server using TRX + Apache2
  2. Python Transform Server using TRX + Gunicorn

Step 2: 

Find URL of each transform in following example project structure:

         └── transforms
             ├── DNSToIP.pyc
             ├── GreetPerson.pyc
             └── __init__.pyc

Use this command to list all available transform:

cd /var/www/TRX/
python list

You should receive a similar output:

= Transform Server URLs =
/run/dnstoip/: DNSToIP
/run/greetperson/: GreetPerson

= Local Transform Names =
dnstoip: DNSToIP
greetperson: GreetPerson

We will be using the DNSToIP transform by copying "/run/dnstoip/" from line 3.

The complete transform URL then will become

"" being server IP or hostname

Step 3:

After setting up iTDS, create an empty seed by going to "View Admin UI" > Seeds > Add Seed

Step 4:

Add transform URL by going to "View Admin UI" > Transforms > Add Transform.

Step 5:

Copy seed and add it to Maltego Desktop Client.

"View Admin UI" > Seeds > "Copy"

Maltego > Transform Hub > Add Transform Seed

Click on install and then finish.

Step 6:

Test by dropping a DNSName entity on to a graph and then right click > TRX Seed Transforms > TRX DNSToIP to get IPv4Address output entity.