Integra Nmap con Google SecOps

En este documento, se explica cómo integrar Nmap en Google Security Operations.

Versión de la integración: 1.0

Parámetros de integración

La integración de Nmap no requiere parámetros.

Acciones

Para obtener más información sobre las acciones, consulta Cómo responder a las acciones pendientes desde Tu escritorio y Cómo realizar una acción manual.

Ping

Usa la acción Ping para probar la conectividad a Nmap.

Esta acción no se ejecuta en las entidades de Google SecOps.

Entradas de acción

Ninguno

Resultados de la acción

La acción Ping proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del muro de casos No disponible
Vínculo al muro de casos No disponible
Tabla del muro de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Mensajes de salida Disponible
Resultado de secuencia de comandos Disponible
Mensajes de salida

La acción Ping puede devolver los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje

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

La acción se completó correctamente.
Failed to connect to the Nmap server! Error is ERROR_REASON

No se pudo realizar la acción.

Verifica la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de secuencia de comandos

En la siguiente tabla, se indica el valor del resultado de la secuencia de comandos cuando se usa la acción Ping:

Nombre del resultado de la secuencia de comandos Valor
is_success True o False

Analizar entidades

Usa la acción Scan Entities para analizar las entidades de SecOps de Google con Nmap.

Esta acción se ejecuta en las siguientes entidades de Google SecOps:

  • IP Address
  • Hostname
  • Domain

Entradas de acción

La acción Scan Entities requiere los siguientes parámetros:

Parámetro Descripción
IP Address

Opcional.

Son las direcciones IP que se analizarán.

Estas direcciones IP se procesan junto con las entidades.

Hostname

Opcional.

Son los nombres de host que se analizarán.

Estos nombres de host se procesan junto con las entidades.

Options

Obligatorio.

Especifica los parámetros de análisis de Nmap.

El valor predeterminado es -sT -sV -p- -T4 -v.

Estas opciones inician un análisis de conexión TCP (-sT), habilitan la detección de versiones (-sV), analizan todos los 65,535 puertos (-p-), usan una plantilla de tiempo agresiva (-T4) y aumentan la verbosidad (-v).

Resultados de la acción

La acción Scan Entities proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del muro de casos No disponible
Vínculo al muro de casos No disponible
Tabla del muro de casos No disponible
Tabla de enriquecimiento Disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de secuencia de comandos Disponible
Tabla de enriquecimiento de entidades

La acción Scan Entities admite el siguiente enriquecimiento de entidades:

Campo de enriquecimiento Fuente (clave JSON) Lógica
NMAP_state status_state Cuando esté disponible
NMAP_related_addresses_{addrtype} Para cada addrtype, proporciona una lista de valores {addr} separados por comas. Cuando esté disponible
NMAP_related_hostnames hostnames.name Cuando esté disponible
NMAP_port_{ports.portid}

{ports.state.state} - {ports.service.product}

Esta entrada crea de forma dinámica un campo para cada puerto detectado, en el que se muestra su estado (p.ej., abierto, cerrado) y el servicio que se ejecuta en él.

Cuando esté disponible
NMAP_os_matches CSV de {os.osmatches.name} Cuando esté disponible
NMAP_last_boot {uptime.lastboot} Cuando esté disponible
Resultado de JSON

En el siguiente ejemplo, se muestra el resultado JSON que se recibe cuando se usa la acción Scan Entities:

[
  {
      "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"
                      }
                  }
              ]
          }
      }
  }
]
Mensajes de salida

La acción Scan Entities puede devolver los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje

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.

La acción se completó correctamente.
Error executing action "Scan Entities". Reason: ERROR_REASON

No se pudo realizar la acción.

Verifica la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de secuencia de comandos

En la siguiente tabla, se indica el valor del resultado del script cuando se usa la acción Scan Entities:

Nombre del resultado de la secuencia de comandos Valor
is_success True o False

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.