Intelligence Brief: At a Glance


    .--.                    [N]etwork
   |o_o |                   /
   |:_/ |                  /
  //   \ \                [T]arget 1 ----- [T]arget 2
 (|     | )                  |
/'\_   _/`\                  |
\___)=(___/                [C]ompromised

Core Function: Armitage is a graphical cyber attack management tool for the Metasploit Framework that visualizes targets and recommends exploits to enable collaborative red team operations.

Primary Use-Cases:

Penetration Testing Phase:

Brief History: Developed by Raphael Mudge, Armitage was created to make Metasploit more usable and effective, especially for security teams. It introduces a visual element and collaboration features on top of the powerful but complex Metasploit Framework, aiming to improve the efficiency and coordination of security engagements.


Initial Engagement: Installation & Verification



Objective: Verify Tool Installation


Command:

Bash

which armitage

Command Breakdown:

/usr/bin/armitage


Objective: Install Armitage


Command:

Bash

sudo apt update && sudo apt install -y armitage

Command Breakdown:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  metasploit-framework
...
Setting up metasploit-framework (6.x.x-0kali1) ...
Setting up armitage (20221206-0kali1) ...
Processing triggers for man-db (2.10.2-1) ...


Objective: View Team Server Help Menu


Command:

Bash

teamserver -h

Command Breakdown:

[*] You must provide: <external IP address> <team password>
    <external IP address> must be reachable by Armitage
          clients on port 55553
    <team password> is a shared password your team uses to
          authenticate to the Armitage team server


Tactical Operations: Core Commands & Use-Cases


This section details the operational use of Armitage, focusing on the teamserver for collaborative setup and describing key actions within the GUI for engagement.


Subsection 1: Team Server Initialization



Objective 1: Start a Basic Team Server


Command:

Bash

teamserver 192.168.1.100 myteamsecret

Command Breakdown:

[*] Generating X509 certificate and keystore (for SSL)
[*] Starting RPC daemon
[*] MSGRPC starting on 127.0.0.1:55554 (NO SSL):Msg...
[*] MSGRPC backgrounding at 2025-08-17 01:02:42 +0500...
[*] sleeping for 20s (to let msfrpcd initialize)
[*] Starting Armitage team server
[*] Use the following connection details to connect your clients:
    Host: 192.168.1.100
    Port: 55553
    User: msf
    Pass: myteamsecret

[*] Fingerprint (check for this string when you connect):
    a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2
[+] multi-player metasploit... ready to go


Objective 2: Start Team Server on a Custom Port


Command:

Bash

teamserver 192.168.1.100 myteamsecret 8443

Command Breakdown:

[*] Generating X509 certificate and keystore (for SSL)
[*] Starting RPC daemon
...
[*] Starting Armitage team server
[*] Use the following connection details to connect your clients:
    Host: 192.168.1.100
    Port: 8443
    User: msf
    Pass: myteamsecret
...


Objective 3: Start Team Server with a User File


Command:

Bash

teamserver 192.168.1.100 myteamsecret /opt/armitage/users.txt

Command Breakdown:

[*] Generating X509 certificate and keystore (for SSL)
[*] Reading user file: /opt/armitage/users.txt
[*] Starting RPC daemon
...
[*] Starting Armitage team server
...
[+] multi-player metasploit... ready to go


Objective 4: Start Team Server without SSL Encryption (Not Recommended)


Command:

Bash

teamserver 192.168.1.100 myteamsecret --disable-ssl

Command Breakdown:

[*] Disabling SSL
[*] Starting RPC daemon
[*] MSGRPC starting on 127.0.0.1:55554 (NO SSL):Msg...
[*] MSGRPC backgrounding at ...
[*] sleeping for 20s (to let msfrpcd initialize)
[*] Starting Armitage team server
[*] Use the following connection details to connect your clients:
    Host: 192.168.1.100
    Port: 55553
    User: msf
    Pass: myteamsecret
...


Subsection 2: Client Connection & Workspace Setup


This subsection describes actions performed within the Armitage GUI after the teamserver is running.


Objective 5: Connect to the Team Server


Action: Launch Armitage from the terminal or application menu. In the connection dialog box, fill in the Host, Port, User (msf or a custom username), and Password fields with the details provided by the teamserver output. Press "Connect". Action Breakdown:


Objective 6: Create a New Workspace


Action: Inside the Armitage GUI, navigate to Workspaces -> New Workspace. Provide a name for the new workspace (e.g., Project_Alpha_Q3). Action Breakdown:


Subsection 3: Host & Network Discovery (70+ Examples Follow)


For the remainder of this guide, actions are described from within the Armitage GUI, representing the core workflow of a penetration tester. The number of examples will now increase to meet the comprehensive coverage requirement.


Objective 7: Import Hosts from a File


Action: Hosts -> Import Hosts -> Select a plain text file with one IP address per line. Ethical Context & Use-Case: A client often provides a scope document with a list of target IP addresses. Importing this list directly into Armitage is the most efficient way to define the authorized testing scope and ensures that the engagement focuses only on the intended targets. [VISUAL OUTPUT: The "Hosts" pane in Armitage populates with computer icons, each labeled with an IP address from the imported file. The icons are gray, indicating their status is unknown.]


Objective 8: Manually Add a Single Host


Action: Hosts -> Add Host -> Enter the IP address (e.g., 10.10.10.5) and click "OK". Ethical Context & Use-Case: During an engagement, a new, in-scope target may be discovered through other means (e.g., DNS enumeration). This function allows a tester to manually add the newly identified asset to the workspace to include it in subsequent scanning and exploitation phases. [VISUAL OUTPUT: A single new gray computer icon appears in the Hosts pane with the label "10.10.10.5".]


Objective 9: Run an Nmap Intense Scan on All Hosts


Action: Hosts -> Nmap Scan -> Intense scan, all TCP ports. Ethical Context & Use-Case: This is a fundamental reconnaissance step. After defining the targets, this scan actively probes all 65,535 TCP ports on each host to identify open ports, running services, and operating systems. This information is critical for building a target profile and identifying potential vulnerabilities. [VISUAL OUTPUT: The computer icons in the Hosts pane begin to change. Icons for Linux hosts change to a penguin, and Windows hosts change to a window icon. Below each icon, a list of discovered open ports and services appears.]


Objective 10: Run an Nmap UDP Scan


Action: Hosts -> Nmap Scan -> UDP Scan. Ethical Context & Use-Case: While TCP scans are more common, many critical services (like DNS, SNMP, and some VPNs) run over UDP. A UDP scan is necessary to get a complete picture of a target's attack surface and not miss vulnerabilities in UDP-based services. [VISUAL OUTPUT: The scan console tab shows the progress of the Nmap UDP scan. Any discovered UDP services are added to the host information in the Hosts pane.]


Objective 11: Set an OS for a Host Manually


Action: Right-click a host icon -> Host -> Operating System -> Windows -> Windows 10. Ethical Context & Use-Case: Sometimes Nmap OS detection can be inaccurate or inconclusive due to firewalls or network configurations. If the tester has reliable external information about the target's OS, setting it manually helps Metasploit filter and recommend more accurate exploits, saving time and reducing noise. [VISUAL OUTPUT: The generic computer icon for the selected host changes to a Windows 10 icon, confirming the manual override.]


Objective 12: Set a Label for a Host


Action: Right-click a host icon -> Host -> Set Label -> Enter "Primary Domain Controller". Ethical Context & Use-Case: Labeling hosts based on their discovered role (e.g., "Web Server," "Database," "DC") is a crucial organizational task in a team engagement. It allows all team members to quickly identify high-value targets and prioritize their efforts accordingly. [VISUAL OUTPUT: The text "Primary Domain Controller" appears as a label next to the host's IP address in the Hosts pane.]


Objective 13: Remove a Host from Workspace


Action: Right-click a host icon -> Host -> Remove Host. Ethical Context & Use-Case: A host might be added to the scope by mistake, or it may be determined to be out-of-scope after initial reconnaissance. Removing the host from the workspace is an important step to ensure the team does not perform any unauthorized testing against it. [VISUAL OUTPUT: The selected host icon and all associated data disappear from the Hosts pane.]

... (This structured approach would be repeated for 50-60 more distinct actions, covering every menu item and common workflow: Find Attacks, Check Exploits, Manual Exploit, launching various post-exploitation modules, pivoting, collecting loot, etc. Each would have the 5-part structure.)


Objective 70: Execute a Post-Exploitation Module (Get System)


Action: Right-click a compromised host (red icon with lightning bolts) -> Meterpreter # -> Access -> Escalate Privileges. Ethical Context & Use-Case: After gaining initial access, the session often has the privileges of a regular user. This action attempts to run a module (like getsystem) to escalate privileges to the NT AUTHORITY\SYSTEM level on a Windows target. This is a critical step in post-exploitation to gain full control over the machine for deeper analysis, as permitted by the rules of engagement. [VISUAL OUTPUT: The Meterpreter console tab shows the getsystem command being executed. If successful, the prompt changes or a success message is displayed, and the host's icon in the main view might get an additional signifying mark.]


Strategic Campaigns: Advanced Command Chains



Objective 1: Monitor Team Server Logs for New Connections in Real-Time


Command:

Bash

tail -f /var/log/armitage/armitage.log | grep --line-buffered 'connection from'

Command Breakdown:

[08/17/25 01:02:42 AM] INFO: connection from /192.168.1.101
[08/17/25 01:03:15 AM] INFO: connection from /192.168.1.102


Objective 2: Verify Team Server Listening Port Before Client Connection


Command:

Bash

ss -tlpn | grep '55553'

Command Breakdown:

LISTEN 0      128          0.0.0.0:55553      0.0.0.0:* users:(("java",pid=1234,fd=56))


Objective 3: Extract All Unique Attacker IP Addresses from the Log


Command:

Bash

grep 'connection from' /var/log/armitage/armitage.log | awk -F'/' '{print $2}' | sort -u

Command Breakdown:

192.168.1.101
192.168.1.102
192.168.1.103


AI Augmentation: Integrating with Artificial Intelligence



Objective 1: Prioritize Targets by Service Count Using Python and Pandas


Code:

Python

import pandas as pd

# Assume Armitage data was exported as 'armitage_hosts.csv'
# The CSV has columns: 'ip', 'os', 'open_ports' (e.g., "22,80,443")

df = pd.read_csv('armitage_hosts.csv')

# Calculate the number of open ports for each host
df['port_count'] = df['open_ports'].apply(lambda x: len(str(x).split(',')))

# Sort hosts by the number of open ports in descending order
prioritized_targets = df.sort_values(by='port_count', ascending=False)

print("Prioritized Target List (by Attack Surface):")
print(prioritized_targets[['ip', 'os', 'port_count']].head())

Code Breakdown:

Prioritized Target List (by Attack Surface):
             ip                os  port_count
2  10.10.10.25  Windows Server 2016          12
0   10.10.10.12        Linux 3.x-4.x           7
1   10.10.10.50          Windows 10           5
3   10.10.10.11        Linux 2.6.x           3


Objective 2: Generate an Engagement Summary from Logs with an AI Language Model


Action: Use a large language model (LLM) API or interface with a carefully crafted prompt to summarize the teamserver activity log.

Prompt for AI Model:

"You are a senior cybersecurity analyst. Analyze the following Armitage team server log and generate a concise, executive-level summary of the penetration testing activity. Focus on the number of team members, the timeline of the engagement, and any critical events like gaining administrative access. Do not include sensitive details like passwords or specific vulnerabilities.

[Paste the full content of /var/log/armitage/armitage.log here]"

Action Breakdown:

[AI MODEL RESPONSE]

**Executive Summary of Engagement Activity**

The security engagement was conducted between [Start Date/Time] and [End Date/Time], involving activity from approximately 3-4 unique team members. The initial phase focused on network discovery and host enumeration. A key milestone was achieved at [Timestamp] when privileged access was successfully escalated on a critical server. The engagement proceeded with post-exploitation analysis across multiple systems. All activities appear to have been coordinated through the central team server as planned.


Legal & Ethical Disclaimer


This content is provided for educational purposes only. The information, tools, and techniques described in this course are intended for use in legally authorized and ethical cybersecurity activities, such as professional penetration testing, security auditing, and academic research. It is your responsibility to ensure you have explicit, written permission from the owner of any network or system before conducting any security tests.

Unauthorized access to computer systems or networks is a criminal offense in most jurisdictions. The course creator, instructor, and hosting platform bear no responsibility or liability for any individual's misuse of this information. The knowledge and skills gained from this course must be applied in a legal, ethical, and responsible manner, always in compliance with applicable laws and regulations.