Armitage: Setup & Troubleshooting
Setting up and troubleshooting Armitage (Metasploit GUI).
System Requirements#
- PostgreSQL database
- Metasploit Framework
- Java Runtime Environment
Common Problems and Solutions#
Problem 1: Database Connection Issues#
Check if database user exists:
sudo -u postgres psql -c "\du"Check if database exists:
sudo -u postgres psql -c "\l"If user doesn't exist, create it:
sudo -u postgres psql -c "CREATE USER msf WITH PASSWORD 'msf';"
sudo -u postgres psql -c "CREATE DATABASE msf OWNER msf;"If user exists but connection fails, reset password:
sudo -u postgres psql -c "ALTER USER msf PASSWORD 'msf';"Reinitialize Metasploit database:
sudo msfdb delete
sudo msfdb initProblem 2: SSL Connection Errors#
Stop PostgreSQL and disable SSL:
sudo systemctl stop postgresql
sudo -u postgres psql -c "ALTER SYSTEM SET ssl = off;"Test database connection:
sudo -u postgres psql -U msf -d msf -h localhost -c "SELECT version();"Manually edit PostgreSQL configuration:
sudo nano /etc/postgresql/16/main/postgresql.confFind and set:
ssl = offRestart PostgreSQL:
sudo systemctl restart postgresqlProblem 3: Armitage Java Issues#
Run Armitage with SSL disabled:
sudo java -Dpostgresql.ssl=false -jar /usr/share/armitage/armitage.jarRun Armitage with Java compatibility fixes:
sudo java -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel -jar /usr/share/armitage/armitage.jar
sudo java -Dpostgresql.ssl=false --add-opens=java.base/java.lang=ALL-UNNAMED -jar /usr/share/armitage/armitage.jarProblem 4: PostgreSQL Recovery Mode#
If database is in recovery mode, rebuild cluster:
sudo systemctl stop postgresql
sudo pg_dropcluster 16 main --stop
sudo pg_createcluster 16 main --start
sudo msfdb initAlternative Solution: Use MSFConsole Directly#
If Armitage continues to have issues, use Metasploit directly:
sudo msfconsoleInside msfconsole, check database status:
db_statusQuick Fix Summary#
- Reset database:
sudo msfdb delete && sudo msfdb init-
Disable SSL in PostgreSQL
-
Run Armitage with:
sudo java -Dpostgresql.ssl=false --add-opens=java.base/java.lang=ALL-UNNAMED -jar /usr/share/armitage/armitage.jar
or
sudo java -Dpostgresql.ssl=false -jar /usr/share/armitage/armitage.jarOpen Armitage#
sudo msfdb init
sudo systemctl start postgresql
sudo msfdb start
sudo java -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel -jar /usr/share/armitage/armitage.jar- If problems persist, use msfconsole directly
System requirements#
database + Metasploit
First Problem#
if we have the msf user in our database#
sudo -u postgres psql -c "\du"
if we have the database msf#
sudo -u postgres psql -c "\l"
we need change the password of user msf#
sudo -u postgres psql -c "ALTER USER msf PASSWORD 'msf';"
if we don't have#
sudo -u postgres psql -c "CREATE USER msf WITH PASSWORD 'msf';" sudo -u postgres psql -c "CREATE DATABASE msf OWNER msf;"
احذف التهيئة القديمة#
sudo msfdb delete
أنشئ تهيئة جديدة#
sudo msfdb init
Second Probleme SSL#
sudo systemctl stop postgresql sudo -u postgres psql -c "ALTER SYSTEM SET ssl = off;"
sudo -u postgres psql -U msf -d msf -h localhost -c "SELECT version();"
open with java#
sudo java -Dpostgresql.ssl=false -jar /usr/share/armitage/armitage.jar
open the file with sudo /etc/postgresql/16/main/postgresql.conf#
search ssl and do ssl = off and run
sudo java -Dpostgresql.ssl=false --add-opens=java.base/java.lang=ALL-UNNAMED -jar /usr/share/armitage/armitage.jar