πŸ›‘οΈ Methodology Checklist

  • Start OpenVAS: sudo gvm-start
  • Log in at https://localhost:9392 (or configured port)
  • Create target: Tasks β†’ Targets β†’ New Target
  • Create scan config and launch scan task
  • Monitor scan: Dashboard β†’ Tasks
  • Review results by severity: Critical β†’ High β†’ Medium
  • Export findings and integrate with manual testing notes

🎯 Operational Context

Think Dumber First: gvm-start bootstraps all GVM services β€” wait for it to complete before accessing the GSA web UI. NVT sync must complete before your first scan or you’ll miss current CVEs. Add SSH credentials to Credential Manager before creating the scan task for authenticated results.

When you land here: Need an open-source VA scanner. sudo gvm-start. Access GSA at https://127.0.0.1:9392. Create credentials β†’ create target β†’ create task β†’ start. Monitor scan progress. Export report in XML for import into reporting tools.


⚑ Tactical Cheatsheet

CommandTactical Outcome
mkdir -p ~/gvm_data/gvmd && mkdir -p ~/gvm_data/openvasCreate data directories
sudo chmod -R 777 ~/gvm_dataFix permissions
sudo docker run -d -p 8080:9392 --name openvas --restart always --security-opt apparmor=unconfined -v /home/user/gvm_data:/var/lib/gvm immauss/openvasDeploy OpenVAS via Docker
sudo docker logs -f openvasMonitor initialization progress
sudo docker start openvasStart OpenVAS
sudo docker stop openvasStop OpenVAS (saves RAM)
sudo docker logs openvas 2>&1 | grep "Password"Retrieve auto-generated admin password
python3 -m openvasreporting -i [REPORT].xml -f xlsxConvert XML report to Excel

πŸ”¬ Deep Dive & Workflow

Access: https://localhost:8080 | Default: admin / admin (or openvas)

Why Docker?

Native OpenVAS installation on Parrot OS (especially ARM64) often causes β€œdependency hell.” Docker runs it in a self-contained environment.

Initial Setup (One-Time)

mkdir -p ~/gvm_data/gvmd ~/gvm_data/openvas
sudo chmod -R 777 ~/gvm_data
sudo docker run -d -p 8080:9392 --name openvas \
  --restart always \
  --security-opt apparmor=unconfined \
  -v ~/gvm_data:/var/lib/gvm \
  immauss/openvas

First run takes 20-40 minutes β€” watch docker logs -f openvas for gsad ... Listening on port 9392.

Scan Configurations

ModeDescriptionVuln Checks?
Full and fastRECOMMENDED β€” uses port intelligence to select NVTsYES
BaseOS info onlyNo
DiscoveryServices, hardware, portsNo
Host DiscoveryPing onlyNo
System DiscoveryOS + hardware (deep)No

Workflow

  1. Configuration β†’ Targets β†’ New Target β†’ set IP, Alive Test
  2. Credentials (for auth scan): Linux = SSH, Windows = SMB
OSUsernamePassword
Linuxhtb-student_admHTB_@cademy_student!
WindowsadministratorAcademy_VA_adm1!
  1. Scans β†’ Task Wizard β†’ Name + Target + Scanner + Config (Full and fast) β†’ Start
  2. Analyze as results appear β€” don’t wait for 100%

Export Workflow

  • Scan β†’ Reports β†’ Export as XML β†’ convert with openvasreporting
  • Output Excel has: Dashboard charts, TOC with CVSS scores, per-vuln detail tabs

Troubleshooting

ProblemFix
”Unable to Connect” / white screenStill initializing β€” watch docker logs -f openvas
”Permission Denied” in logsDelete container, redo setup with ~/gvm_data method
AppArmor errorsEnsure --security-opt apparmor=unconfined in run command

πŸ› οΈ Troubleshooting & Edge Cases

ProblemCauseFix
gvm-start fails with service errorsPostgreSQL or Redis not runningsudo systemctl start postgresql redis-server; then sudo gvm-start; check sudo gvm-check-setup
GSA web UI inaccessible on port 9392Firewall or service not bound correctlyCheck: netstat -tlnp | grep 9392; use https (not http): https://127.0.0.1:9392; accept self-signed cert
Scan stuck at 0% for 10+ minutesNVT feed sync not completeRun sudo greenbone-nvt-sync; wait for completion; check sudo gvm-check-setup for sync status
Admin password unknownInitial setup, no password setsudo runuser -u _gvm -- gvmd --user=admin --new-password=[NEWPASS]; then log in with new password
Report export fails or is blankBrowser download blocked or disk space fullUse gvm-cli to export: gvm-cli socket --gmp-username admin --xml '<get_reports/>'; check disk space with df -h

πŸ“ Reporting Trigger

Finding Title: (OpenVAS findings exported as XML contain CVE references β€” map each plugin to CVE for report integration. OpenVAS NVT ID is the equivalent of Nessus Plugin ID. Include NVT description, CVSS score from NVT, and target IP in each finding entry.)