Nmap in Google SecOps einbinden

In diesem Dokument wird beschrieben, wie Sie Nmap in Google Security Operations einbinden.

Integrationsversion: 1.0

Integrationsparameter

Für die Nmap-Integration sind keine Parameter erforderlich.

Aktionen

Weitere Informationen zu Aktionen finden Sie unter Ausstehende Aktionen über „Mein Arbeitsbereich“ bearbeiten und Manuelle Aktion ausführen.

Ping

Verwenden Sie die Aktion Ping, um die Verbindung zu Nmap zu testen.

Diese Aktion wird nicht für Google SecOps-Elemente ausgeführt.

Aktionseingaben

Keine.

Aktionsausgaben

Die Aktion Ping bietet die folgenden Ausgaben:

Ausgabetyp der Aktion Verfügbarkeit
Anhang im Fall-Repository Nicht verfügbar
Link zum Fall‑Repository Nicht verfügbar
Tabelle „Fall-Repository“ Nicht verfügbar
Anreicherungstabelle Nicht verfügbar
JSON-Ergebnis Nicht verfügbar
Ausgabemeldungen Verfügbar
Scriptergebnis Verfügbar
Ausgabemeldungen

Die Aktion Ping kann die folgenden Ausgabenachrichten zurückgeben:

Ausgabemeldung Nachrichtenbeschreibung

Successfully connected to the Nmap server with the provided connection parameters!

Die Aktion wurde ausgeführt.
Failed to connect to the Nmap server! Error is ERROR_REASON

Die Aktion ist fehlgeschlagen.

Überprüfen Sie die Verbindung zum Server, die Eingabeparameter oder die Anmeldedaten.

Scriptergebnis

In der folgenden Tabelle ist der Wert für die Ausgabe des Skriptergebnisses bei Verwendung der Aktion Ping aufgeführt:

Name des Scriptergebnisses Wert
is_success True oder False

Entitäten scannen

Verwenden Sie die Aktion Scan Entities (Entitäten scannen), um Google SecOps-Entitäten mit Nmap zu scannen.

Diese Aktion wird für die folgenden Google SecOps-Entitäten ausgeführt:

  • IP Address
  • Hostname
  • Domain

Aktionseingaben

Für die Aktion Entitäten scannen sind die folgenden Parameter erforderlich:

Parameter Beschreibung
IP Address

Optional.

Die zu scannenden IP-Adressen.

Diese IP-Adressen werden zusammen mit Entitäten verarbeitet.

Hostname

Optional.

Die zu scannenden Hostnamen.

Diese Hostnamen werden zusammen mit Entitäten verarbeitet.

Options

Erforderlich.

Gibt die Nmap-Scanparameter an.

Der Standardwert ist -sT -sV -p- -T4 -v.

Mit diesen Optionen wird ein TCP-Connect-Scan (-sT) gestartet, die Versionserkennung (-sV) aktiviert, alle 65.535 Ports (-p-) gescannt, eine aggressive Timing-Vorlage (-T4) verwendet und die Ausführlichkeit (-v) erhöht.

Aktionsausgaben

Die Aktion Scan Entities (Entitäten scannen) gibt Folgendes aus:

Ausgabetyp der Aktion Verfügbarkeit
Anhang im Fall-Repository Nicht verfügbar
Link zum Fall‑Repository Nicht verfügbar
Tabelle „Fall-Repository“ Nicht verfügbar
Anreicherungstabelle Verfügbar
JSON-Ergebnis Verfügbar
Ausgabemeldungen Verfügbar
Scriptergebnis Verfügbar
Tabelle zur Elementanreicherung

Die Aktion Scan Entities unterstützt die folgenden Anreicherungen von Entitäten:

Anreicherungsfeld Quelle (JSON-Schlüssel) Logik
NMAP_state status_state Wenn verfügbar
NMAP_related_addresses_{addrtype} Geben Sie für jedes addrtype eine durch Kommas getrennte Liste von {addr}-Werten an. Wenn verfügbar
NMAP_related_hostnames hostnames.name Wenn verfügbar
NMAP_port_{ports.portid}

{ports.state.state} – {ports.service.product}

Mit diesem Eintrag wird dynamisch ein Feld für jeden erkannten Port erstellt, in dem der Status (z.B. „offen“, „geschlossen“) und der darauf ausgeführte Dienst angezeigt werden.

Wenn verfügbar
NMAP_os_matches CSV-Datei zu {os.osmatches.name} Wenn verfügbar
NMAP_last_boot {uptime.lastboot} Wenn verfügbar
JSON-Ergebnis

Das folgende Beispiel zeigt die JSON-Ausgabe, die bei Verwendung der Aktion Scan Entities (Entitäten scannen) empfangen wird:

[
  {
      "Entity": "50.116.62.192",
      "EntityResult": {
          "status": {
              "state": "up",
              "reason": "syn-ack",
              "reason_ttl": "0"
          },
          "addresses": [
              {
                  "addr": "50.116.62.192",
                  "addrtype": "ipv4"
              }
          ],
          "hostnames": [
              {
                  "name": "k3s-agent1.hegedus.wtf",
                  "type": "PTR"
              }
          ],
          "ports": {
              "extraports": [
                  {
                      "state": "closed",
                      "count": "996",
                      "reasons": [
                          {
                              "reason": "conn-refused",
                              "count": "996"
                          }
                      ]
                  }
              ],
              "ports": [
                  {
                      "protocol": "tcp",
                      "portid": "80",
                      "status": {state.state},
                      "service_name": {service.name},
                      "state": {
                          "state": "open",
                          "reason": "syn-ack",
                          "reason_ttl": "0"
                      },
                      "service": {
                          "name": "http",
                          "servicefp": "SF-Por\r\\n400\\x20Bad\\x20Request\");",
                          "method": "table",
                          "conf": "3"
                      }
                  },
                  {
                      "protocol": "tcp",
                      "portid": "443",
                      "state": {
                          "state": "open",
                          "reason": "syn-ack",
                          "reason_ttl": "0"
                      },
                      "service": {
                          "name": "https",
                          "servicefp": 
"SF-Port443-TCP:V=6.40%I=7%D=5/23%Time=68305D69%P=x86_64-redhat-linux-gnu%r(HTTPOptions,B0,\"HTTP/1\\.0\\x20404\\x20Not\\x20Found\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nX-Content-Type-Options:\\x20nosniff\\r\\nDate:\\x20Fri,\\x2023\\x20May\\x202025\\x2011:35:05\\x20GMT\\r\\nContent-Length:\\x2019\\r\\n\\r\\n404\\x20page\\x20not\\x20found\\n\")%r(SSLSessionReq,7,\"\\x15\\x03\\x01\\0\\x02\\x02F\")%r(SSLv23SessionReq,7,\"\\x15\\x03\\x01\\0\\x02\\x02F\")%r(GenericLines,67,\"HTTP/1\\.1\\x20400\\x20Bad\\x20Request\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nConnection:\\x20close\\r\\n\\r\\n400\\x20Bad\\x20Request\")%r(GetRequest,B0,\"HTTP/1\\.0\\x20404\\x20Not\\x20Found\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nX-Content-Type-Options:\\x20nosniff\\r\\nDate:\\x20Fri,\\x2023\\x20May\\x202025\\x2011:35:16\\x20GMT\\r\\nContent-Length:\\x2019\\r\\n\\r\\n404\\x20page\\x20not\\x20found\\n\")%r(RTSPRequest,67,\"HTTP/1\\.1\\x20400\\x20Bad\\x20Request\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nConnection:\\x20close\\r\\n\\r\\n400\\x20Bad\\x20Request\")%r(RPCCheck,7,\"\\x15\\x03\\x01\\0\\x02\\x02F\")%r(Help,67,\"HTTP/1\\.1\\x20400\\x20Bad\\x20Request\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nConnection:\\x20close\\r\\n\\r\\n400\\x20Bad\\x20Request\")%r(Kerberos,67,\"HTTP/1\\.1\\x20400\\x20Bad\\x20Request\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nConnection:\\x20close\\r\\n\\r\\n400\\x20Bad\\x20Request\")%r(FourOhFourRequest,B0,\"HTTP/1\\.0\\x20404\\x20Not\\x20Found\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nX-Content-Type-Options:\\x20nosniff\\r\\nDate:\\x20Fri,\\x2023\\x20May\\x202025\\x2011:35:32\\x20GMT\\r\\nContent-Length:\\x2019\\r\\n\\r\\n404\\x20page\\x20not\\x20found\\n\")%r(LPDString,67,\"HTTP/1\\.1\\x20400\\x20Bad\\x20Request\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nConnection:\\x20close\\r\\n\\r\\n400\\x20Bad\\x20Request\")%r(SIPOptions,67,\"HTTP/1\\.1\\x20400\\x20Bad\\x20Request\\r\\nContent-Type:\\x20text/plain;\\x
20charset=utf-8\\r\\nConnection:\\x20close\\r\\n\\r\\n400\\x20Bad\\x20Request\");",
                          "method": "table",
                          "conf": "3"
                      }
                  },
                  {
                      "protocol": "tcp",
                      "portid": "2222",
                      "state": {
                          "state": "open",
                          "reason": "syn-ack",
                          "reason_ttl": "0"
                      },
                      "service": {
                          "name": "ssh",
                          "product": "OpenSSH",
                          "version": "8.4p1 Debian 5",
                          "extrainfo": "protocol 2.0",
                          "ostype": "Linux",
                          "method": "probed",
                          "conf": "10",
                          "cpes": [
                              "cpe:/a:openbsd:openssh:8.4p1",
                              "cpe:/o:linux:linux_kernel"
                          ]
                      }
                  },
                  {
                      "protocol": "tcp",
                      "portid": "9100",
                      "state": {
                          "state": "open",
                          "reason": "syn-ack",
                          "reason_ttl": "0"
                      },
                      "service": {
                          "name": "jetdirect",
                          "method": "table",
                          "conf": "3"
                      }
                  }
              ]
          }
      }
  }
]
Ausgabemeldungen

Die Aktion Scan Entities kann die folgenden Ausgabemeldungen zurückgeben:

Ausgabemeldung Nachrichtenbeschreibung

Successfully scanned the following entities using Nmap: entity.identifier

No information was found for the following entities: entity.identifier

No information was found for the provided entities.

Die Aktion wurde ausgeführt.
Error executing action "Scan Entities". Reason: ERROR_REASON

Die Aktion ist fehlgeschlagen.

Überprüfen Sie die Verbindung zum Server, die Eingabeparameter oder die Anmeldedaten.

Scriptergebnis

In der folgenden Tabelle ist der Wert für die Ausgabe des Skriptergebnisses aufgeführt, wenn die Aktion Scan Entities verwendet wird:

Name des Scriptergebnisses Wert
is_success True oder False

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten