Architecture

Overview

The TDS is the Transform Distribution Server and is a web application that allows for the distribution and management of transforms, seeds and settings. Essentially the TDS means that your transforms are written as a web services (or application/pages), and the TDS will call these scripts.

Sections

The TDS Architecture can be divided up into 2 different sections that are described below:

  • Seeds - Seeds / Seed "servers" are essentially just URLs that are fed into Maltego (via the discover wizard - it's under the Manage tab as 'discover transforms'). An example of one is the movie database seed we have: https://bark.paterva.com:8081/iTDSRunner/runner/showseed/Movies . All this does is essentially tell Maltego where to find 1 virtual server that has a number of transforms on it (think of a seed as a container for transforms). On the (i)TDS itself you can configure/create/edit these seeds as you wish through the web interface. This allows you to segregate transforms based on seeds or type of transform. For example you could create a seed that only contains transforms that have the general public information for something like a sales department but you might have another seed that includes this and full account information for your infosecurity team.

  • Transforms - on the TDS transforms point to a script/application that the TDS server can communicate with via HTTP(s). When a transform is run the entity within a Maltego client as well as the name of the transform you are looking to run is sent to the seed that was configured. This seed then looks up where the address of the script/application is and creates the HTTP(s) connection to that server and does an HTTP POST to the page. That script then does whatever it needs to and returns a page which the iTDS then sends back to the Maltego client. A picture describing this can be seen below: