Anfangszugriff: Log4j-Kompromittierungsversuch

In diesem Dokument wird ein bestimmter Typ von Bedrohungsergebnissen in Security Command Center beschrieben. Bedrohungsergebnisse werden von Bedrohungsdetektoren generiert, wenn sie eine potenzielle Bedrohung in Ihren Cloud-Ressourcen erkennen. Eine vollständige Liste der verfügbaren Bedrohungsergebnisse finden Sie im Index der Bedrohungsergebnisse.

Übersicht

Dieses Ergebnis wird generiert, wenn JNDI-Lookups (Java Naming and Directory Interface) in Headern oder URL-Parametern erkannt werden. Diese Lookups können auf Versuche der Ausnutzung von Log4Shell-Exploits hinweisen.

Die Quelle dieses Ergebnisses ist Event Threat Detection.

Maßnahmen

So reagieren Sie auf dieses Ergebnis:

Schritt 1: Ergebnisdetails prüfen

  1. Öffnen Sie ein Initial Access: Log4j Compromise Attempt-Ergebnis, wie unter Ergebnisdetails prüfen beschrieben. Der Detailbereich für das Ergebnis wird geöffnet und der Tab Zusammenfassung wird angezeigt.

  2. Sehen Sie sich auf dem Tab Zusammenfassung die Informationen in den folgenden Abschnitten an:

    • Was wurde erkannt?
    • Betroffene Ressource
    • Zugehörige Links, insbesondere die folgenden Felder:
      • Cloud Logging-URI: Link zu Logging-Einträgen.
      • MITRE-ATT&CK-Methode: Link zur MITRE-ATT&CK-Dokumentation.
      • Ähnliche Ergebnisse: Links zu ähnlichen Ergebnissen.
    • Klicken Sie in der Detailansicht des Ergebnisses auf den Tab JSON.
    • Achten Sie in der JSON-Datei auf die folgenden Felder.

    • properties

      • loadBalancerName: Der Name des Load-Balancers, der die JNDI-Suche erhalten hat.
      • requestUrl: Die Anfrage-URL der HTTP-Anfrage. Falls vorhanden, enthält dies ein JNDI-Lookup.
      • requestUserAgent: Der User-Agent, der die HTTP-Anfrage gesendet hat. Falls vorhanden, enthält dies ein JNDI-Lookup.
      • refererUrl: Die URL der Seite, die die HTTP-Anfrage gesendet hat. Falls vorhanden, enthält dies ein JNDI-Lookup.

Schritt 2: Protokolle prüfen

  1. Rufen Sie in der Google Cloud Console den Log-Explorer auf. Klicken Sie dazu auf den Link im Feld Cloud Logging-URI aus Schritt 1.
  2. Prüfen Sie auf der Seite, die geladen wird, die Felder httpRequest auf String-Tokens wie ${jndi:ldap://, die mögliche Angriffsversuche anzeigen können.

    Unter CVE-2021-44228: Log4Shell-Exploit erkennen in der Logging-Dokumentation finden Sie Beispielstrings, nach denen gesucht werden soll, und eine Beispielabfrage.

Schritt 3: Angriffs- und Reaktionsmethoden untersuchen

  1. Prüfen Sie den MITRE-ATT&CK-Framework-Eintrag für diesen Ergebnistyp: Exploit Public-Facing Application.
  2. Klicken Sie auf den Link in der Zeile Ähnliche Ergebnisse auf dem Tab Zusammenfassung der Ergebnisdetails, um ähnliche Ergebnisse aufzurufen. Ähnliche Ergebnisse haben denselben Ergebnistyp und dieselbe Instanz und dasselbe Netzwerk.
  3. Wenn Sie einen Antwortplan entwickeln möchten, kombinieren Sie Ihre Prüfungsergebnisse mit der MITRE-Forschung.

Schritt 4: Antwort implementieren

Der folgende Reaktionplan ist möglicherweise für dieses Ergebnis geeignet, kann sich jedoch auch auf Abläufe auswirken. Prüfen Sie die Informationen, die Sie im Rahmen Ihrer Untersuchung erfasst haben, sorgfältig, um die beste Lösung für die Behebung der Ergebnisse zu finden.

Beispiel für JSON-Ergebnis

Das folgende Beispiel zeigt das JSON für ein Ergebnis.

{
  "finding": {
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "state": "ACTIVE",
    "category": "Initial Access: Log4j Compromise Attempt",
    "sourceProperties": {
      "sourceId": {
        "projectNumber": "PROJECT_NUMBER",
        "customerOrganizationNumber": "ORGANIZATION_ID"
      },
      "detectionCategory": {
        "ruleName": "log4j_compromise_attempt"
      },
      "detectionPriority": "LOW",
      "affectedResources": [{
        "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
      }],
      "evidence": [{
        "sourceLogId": {
          "projectId": "PROJECT_ID",
          "resourceContainer": "projects/PROJECT_ID",
          "timestamp": {
            "seconds": "1639690492",
            "nanos": 9.13836E8
          },
          "insertId": "INSERT_ID"
        }
      }],
      "properties": {
        "loadBalancerName": "LOAD_BALANCER_NAME",
        "requestUrl": "REQUEST_URL?${jndi:ldap://google.com}"
      },
      "findingId": "FINDING_ID",
      "contextUris": {
        "mitreUri": {
          "displayName": "MITRE Link",
          "url": "https://attack.mitre.org/techniques/T1190/"
        },
        "cloudLoggingQueryUri": [{
          "displayName": "Cloud Logging Query Link",
          "url": "https://console.cloud.google.com/logs/query;query\u003dtimestamp%3D%222021-12-16T21:34:52.913836Z%22%0AinsertId%3D%22INSERT_ID%22%0Aresource.labels.project_id%3D%22PROJECT_ID%22?project\u003dPROJECT_ID"
        }],
        "relatedFindingUri": {
        }
      }
    },
    "securityMarks": {
      "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
    },
    "eventTime": "2021-12-16T21:34:52.913Z",
    "createTime": "2021-12-16T21:34:55.022Z",
    "severity": "LOW",
    "workflowState": "NEW",
    "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
    "mute": "UNDEFINED",
    "findingClass": "THREAT"
  },
  "resource": {
    "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "projectDisplayName": "PROJECT_ID",
    "parentName": "//cloudresourcemanager.googleapis.com/folders/FOLDER_NUMBER",
    "parentDisplayName": "FOLDER_DISPLAY_NAME",
    "type": "google.cloud.resourcemanager.Project",
    "folders": [{
      "resourceFolder": "//cloudresourcemanager.googleapis.com/folders/FOLDER_NUMBER",
      "resourceFolderDisplayName": "FOLDER_DISPLAY_NAME"
    }],
    "displayName": "PROJECT_ID"
  }
}

Nächste Schritte