Friday, November 22, 2013

Create your own Maltego graph sharing server

In Maltego it is possible to use any public XMPP server with the required features enabled (authentication, conferencing and item discovery) for graph sharing, but having your own private server can also be useful. It might be that you want complete control over the XMPP server or that you want all communication to happen only in 'n LAN behind a firewall. Having your own local server will also reduce the latency for your team if everyone is in the same geographic area. 

In this tutorial I will show how you can configure your own XMPP server and use it for sharing graphs in Maltego. I'll be using Prosody for the server since it is easy to install and configure.

Step 1 - Install Prosody


Have a look at the Prosody download page for instructions on how to install Prosody on different operating systems. 

For this tutorial I used an Ubuntu server as my Prosody server and most of the steps would be similar for other Linux distributions and OS X. Windows would require a little bit more effort only because the Windows version of Prosody does not include the prosodyctl utility for easily adding users.

So firstly install or extract Prosody as described on the download site. For Ubuntu you can run...

   sudo apt-get install prosody

Step 2 - Server name


In the Prosody config file (in the next step) you will have to specify the server name for the server running Prosody. 

If your server will only be accessed from your local LAN you can use the machine name as the server name, otherwise you can use the external domain name of the server. 

SRV records are also supported to resolve the domain name of your XMPP server, for more info about using SRV records for XMPP servers see wiki.xmpp.org/web/SRV_Records.

Step 3 - Configure Prosody


Prosody is configured by editing the Prosody configuration file (prosody.cfg.lua). The Configuring Prosody page has detailed information about configuring Prosody.

In Windows you can run editconfig.bat to edit the Prosody configuration file.

In Linux the location of the configuration file is... 

   /etc/prosody/prosody.cfg.lua

If the file does not exist create it and add the following lines, if the file does exist make sure the following lines are present and not commented out (comments start with --)...

   modules_enabled = {
      "saslauth";
      "tls";
      "disco";
      "version";
   }
   VirtualHost "my.domain.com"
   Component "conference.my.domain.com" "muc"

Replace my.domain.com in both lines with the server name from the previous step.

Step 4 - Create a user


In Windows you can use an XMPP client like Pidgin to connect to your Prosody server and add users.

In Linux you can create a user by running...

   sudo prosodyctl register anton my.domain.com mypassword

...where you replace anton with your username, my.domain.com with your server name and mypassword with a suitable password.

Step 5 - Start/restart Prosody


In Windows run prosody.bat to start Prosody.

In Linux run...

   sudo /etc/init.d/prosody restart

Step 6 - Connect with Maltego


Start Maltego on a machine that has access to your XMPP server machine through its server name.

Open Share Graph...


Fill in the session info. For this example I'll use the same session info as in the previous blog post (see Remote Graph Sharing with Maltego)...


Next change the server settings. Enter your server name from Step 2 in Server DNS Name. If using SRV records you can leave the port on Auto detect, else choose the Default port 5222 as below.  Also enter your Username and Password and then click Connect...



Connected


If everything went as planned then you should have a new graph connected to your new XMPP server with the Collaboration Session window displaying your server's details like in the screenshot below...


In the Server settings you might have noticed a Paterva (Private) option as well. If you are interested in buying your own private server that works the same as the public Paterva communication server with auto-registration and everything included then you can email the Paterva guys at support@paterva.com.

Anton van Aswegen

1 comment :

  1. The first time I saw this website, I was immediately attracted to zoom. Moreover, all the information is in my opinion quite interesting and intriguing. I hope you also visit my website and pass judgment on my website. Thanks.
    XMPP

    ReplyDelete