Test für offenen Port 4711 in Greenbone/OpenVAS: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
== Eigener Test für offenen Port 4711 in Greenbone/OpenVAS ==
+
= NASL-Skript für Port 4711 Check (Kali Linux/GVM) =
 +
{{Warning|'''Wichtig für Kali 2023+''':}}
 +
* Alle Befehle werden als '''root''' ausgeführt
 +
* Nutzer/Gruppe: '''_gvm:_gvm''' (nicht gvm:gvm!)
 +
* Pfade: '''/var/lib/gvm/''' (nicht /var/lib/openvas/)
  
Dieser Artikel beschreibt, wie ein eigener NASL-basierter Compliance-Test für Greenbone/OpenVAS erstellt wird. Der Test meldet, wenn TCP-Port 4711 offen ist, und stuft dies als kritischen Compliance-Verstoß ein.
+
== Skript erstellen ==
 +
<source lang="bash">
 +
sudo mkdir -p /var/lib/gvm/plugins/private
 +
sudo nano /var/lib/gvm/plugins/private/check_port_4711.nasl
 +
</source>
  
== Arbeitsverzeichnis vorbereiten ==
+
Kopiere diesen Code ('''Achtung: OID ist nur für Tests!'''):
* Lokalen Entwicklungsordner anlegen:
+
<source lang="nasl">
<pre>
+
# Port 4711 Check - Kritisch
mkdir -p ~/nasl-dev
 
cd ~/nasl-dev
 
</pre>
 
 
 
== NASL-Skript schreiben ==
 
* Erstelle die Datei <code>port4711_check.nasl</code> mit folgendem Inhalt:
 
<pre>
 
 
if (description) {
 
if (description) {
   script_id(900001);
+
   script_oid("1.3.6.1.4.1.25623.1.1.999999");
   script_version("1.0");
+
   script_version("2024-05-15");
   script_name("Compliance: Port 4711 offen");
+
  script_tag(name:"creation_date", value:"2024-05-15");
 
+
   script_name(english:"Critical Port 4711 Check");
   script_tag(name:"summary", value:"Meldet, wenn Port 4711 offen ist – als kritischer Compliance-Verstoß.");
+
  script_family(english:"Service detection");
   script_tag(name:"risk_factor", value:"Critical");
+
   script_tag(name:"severity", value:"HIGH");
   script_category(ACT_PORT_SCAN);
+
   script_tag(name:"cvss_base_score", value:"10.0");
  script_family("Compliance");
+
   script_description(english:"Detects open TCP port 4711");
 
 
 
   exit(0);
 
   exit(0);
 
}
 
}
  
 +
include("tcp_func.inc");
 
port = 4711;
 
port = 4711;
  
 
if (get_port_state(port)) {
 
if (get_port_state(port)) {
   security_message(port: port, data: "Compliance-Verstoß: Port 4711 ist offen.");
+
   security_message(
 +
    port: port,
 +
    data: "KRITISCH: Port 4711/tcp ist offen!",
 +
    severity: SECURITY_HOLE
 +
  );
 
}
 
}
</pre>
+
</source>
 
 
== Syntax und Funktion lokal testen ==
 
* Skript lokal prüfen (ohne vollständigen Scan):
 
<pre>
 
sudo openvas-nasl -X -T openvas ~/nasl-dev/port4711_check.nasl
 
</pre>
 
  
== Plugin ins System einbinden ==
+
== Berechtigungen setzen ==
<pre>
+
<source lang="bash">
sudo cp ~/nasl-dev/port4711_check.nasl /var/lib/openvas/plugins/
+
sudo chown _gvm:_gvm /var/lib/gvm/plugins/private/check_port_4711.nasl
sudo chown _gvm:_gvm /var/lib/openvas/plugins/port4711_check.nasl
+
sudo chmod 644 /var/lib/gvm/plugins/private/check_port_4711.nasl
sudo chmod 644 /var/lib/openvas/plugins/port4711_check.nasl
+
</source>
</pre>
 
  
== Plugin registrieren ==
+
== GVM aktualisieren ==
<pre>
+
<source lang="bash">
sudo -u _gvm openvas --update-vt-info
+
sudo gvm-feed-update # Metadaten aktualisieren
sudo systemctl restart gvmd
+
sudo gvmd --rebuild  # Datenbank neu aufbauen
</pre>
+
</source>
  
== Scan-Konfiguration vorbereiten ==
+
== Skript testen ==
* In der GSA:
+
1. In der GVM-Weboberfläche:
** Scan-Config „Full and Fast“ klonen 
+
  * Scan-Ziel mit Port 4711 erstellen
** Nur das neue Plugin in der Familie „Compliance“ aktivieren 
+
  * Scan-Konfiguration wählen (z.B. "Full and fast")
** Task mit Zielsystem anlegen und starten
+
  * Scan starten
  
== Testumgebung simulieren ==
+
2. Kommandozeilen-Check:
* Auf dem Zielsystem Port 4711 öffnen:
+
<source lang="bash">
<pre>
+
sudo gvm-cli socket --gmp-username admin --gmp-password 'dein-passwort' \
sudo nc -lvp 4711
+
  --xml "<get_nvts/><details/></get_nvts>" | grep "Port 4711"
</pre>
+
</source>
  
== Ergebnis prüfen ==
+
== Fehlerbehebung ==
* Nach dem Scan sollte im Report eine kritische Meldung erscheinen:
+
{| class="wikitable"
<pre>
+
! Fehler !! Lösung
Compliance-Verstoß: Port 4711 ist offen.
+
|-
</pre>
+
| "gvm-feed-update not found" || <code>sudo apt install gvm-tools</code>
 +
|-
 +
| Permission denied || <code>sudo chmod -R 755 /var/lib/gvm/plugins</code>
 +
|-
 +
| Skript erscheint nicht || Logs prüfen: <code>sudo journalctl -u gvmd --no-pager -n 50</code>
 +
|}
  
== Hinweise ==
+
{{Note|Für Produktivumgebungen:}}
* Der Test benötigt keine Authentifizierung.
+
* OID registrieren unter [https://www.iana.org/assignments/enterprise-numbers IANA]
* Funktioniert rein über TCP-Portprüfung.
+
* CVSS-Score anpassen
* Erweiterbar auf andere Ports, Protokolle oder Kriterien.
+
* Ausführlichere Beschreibung hinzufügen
 +
</source>

Version vom 8. August 2025, 04:43 Uhr

NASL-Skript für Port 4711 Check (Kali Linux/GVM)

Vorlage:Warning

  • Alle Befehle werden als root ausgeführt
  • Nutzer/Gruppe: _gvm:_gvm (nicht gvm:gvm!)
  • Pfade: /var/lib/gvm/ (nicht /var/lib/openvas/)

Skript erstellen

sudo mkdir -p /var/lib/gvm/plugins/private
sudo nano /var/lib/gvm/plugins/private/check_port_4711.nasl

Kopiere diesen Code (Achtung: OID ist nur für Tests!):

# Port 4711 Check - Kritisch
if (description) {
  script_oid("1.3.6.1.4.1.25623.1.1.999999");
  script_version("2024-05-15");
  script_tag(name:"creation_date", value:"2024-05-15");
  script_name(english:"Critical Port 4711 Check");
  script_family(english:"Service detection");
  script_tag(name:"severity", value:"HIGH");
  script_tag(name:"cvss_base_score", value:"10.0");
  script_description(english:"Detects open TCP port 4711");
  exit(0);
}

include("tcp_func.inc");
port = 4711;

if (get_port_state(port)) {
  security_message(
    port: port,
    data: "KRITISCH: Port 4711/tcp ist offen!",
    severity: SECURITY_HOLE
  );
}

Berechtigungen setzen

sudo chown _gvm:_gvm /var/lib/gvm/plugins/private/check_port_4711.nasl
sudo chmod 644 /var/lib/gvm/plugins/private/check_port_4711.nasl

GVM aktualisieren

sudo gvm-feed-update  # Metadaten aktualisieren
sudo gvmd --rebuild   # Datenbank neu aufbauen

Skript testen

1. In der GVM-Weboberfläche:

  * Scan-Ziel mit Port 4711 erstellen
  * Scan-Konfiguration wählen (z.B. "Full and fast")
  * Scan starten

2. Kommandozeilen-Check:

sudo gvm-cli socket --gmp-username admin --gmp-password 'dein-passwort' \
  --xml "<get_nvts/><details/></get_nvts>" | grep "Port 4711"

Fehlerbehebung

Fehler Lösung
"gvm-feed-update not found" sudo apt install gvm-tools
Permission denied sudo chmod -R 755 /var/lib/gvm/plugins
Skript erscheint nicht Logs prüfen: sudo journalctl -u gvmd --no-pager -n 50

Vorlage:Note

  • OID registrieren unter IANA
  • CVSS-Score anpassen
  • Ausführlichere Beschreibung hinzufügen

</source>