update: as someone commented below, armitage is now distributed with metasploit. there is no need to follow these directions any more, they are depreciated.

i wanted a pretty gui to show off some metasploit functionality recently which led me to armitage.

i use (and love) backtrack 4, as does most of the world, but i also have a ubuntu based distro (mint 10, which is based on ubuntu 10.10) that i like to use. i found a lot of tutorials on how to install armitage on backtrack, but hardly anything on installing armitage on a non-backtrack machine, and practically nothing for installing armitage on ubuntu with a postgres backend. i decided i wanted to install armitage on the mint machine using postgres (per the armitage recommendation here) and not finding any good instructions, i thought i would give it a go and document. here we go:

first, you need to have some of the basics installed. i will leave it to others to describe how to install these if you need help (others == google).

  1. java 1.6 (has to be the official oracle java version)
  2. metasploit 3.5+

next, lets install postgres:

sudo apt-get install postgresql-8.4

now that postgres is installed, we need to create a db and a user for armitage to use. i su’ed to the postgres user to do this:


su -
su - postgres
CREATE USER postgres_user WITH SUPERUSER password 'postgres_password';

next, go to your metasploit directory (/opt/metasploit3/bin in my case) and start up the rpc service (as root):

sudo ./msfrpcd -f -U msf_user -P msf_password -t Basic

lastly, go to where you extracted armitage and run the shell script (you can run it as a normal user, you don’t have to be root). you will run ./armitage.sh and once you have the correct parameters entered, click “connect”.

the parameters are:

  • host:
  • port: 55553
  • ssl: should be checked
  • user: msf_user
  • pass: msf_password
  • db driver: postgresql
  • db connect string: postgres_user:”postgres_password”@

thats it! here is what you should be looking at once you get done:

note #1: it seems armitage doesn’t like underscores in the db name

note #2: if you need help in postgres, type ? (a lot of commands in postgres start with a “”)