Shodan

Dieses Dokument enthält eine Anleitung zur Integration von Shodan in Google SecOps.

‌Shodan-Integration für die Verwendung mit Google Security Operations konfigurieren

So erhalten Sie den API-Schlüssel:

  1. Melden Sie sich in Ihrem Shodan-Konto an.

  2. Ihren API-Schlüssel finden Sie im Abschnitt Account Overview (Kontoübersicht) der Shodan-Oberfläche.

Shodan-Integration in Google SecOps konfigurieren

Eine detaillierte Anleitung zum Konfigurieren einer Integration in Google SecOps finden Sie unter Integrationen konfigurieren.

Aktionen

DNS-Auflösung

Beschreibung

Suchen Sie die IP-Adresse für die angegebene Liste von Hostnamen nach.

Parameter

Ausführen am

Diese Aktion wird für die Hostname-Entität ausgeführt.

Aktionsergebnisse

Entitätsanreicherung
Name des Anreicherungsfelds Logik – Wann anwenden?
google.com Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
bing.com Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Statistiken

Scriptergebnis
Name des Scriptergebnisses Wertoptionen Beispiel
is_success Wahr/falsch is_success:False
JSON-Ergebnis
{
    "google.com": "1.1.1.1",
    "bing.com": "1.1.1.1"
}

DNS-Reverse

Beschreibung

Suchen Sie die Hostnamen heraus, die für die angegebene Liste von IP-Adressen definiert wurden.

Parameter

Ausführen am

Diese Aktion wird für die IP-Adressen-Entität ausgeführt.

Aktionsergebnisse

Entitätsanreicherung
Name des Anreicherungsfelds Logik – Wann anwenden?
146.125.10.5 Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
8.8.8.8 Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Statistiken

Scriptergebnis
Name des Scriptergebnisses Wertoptionen Beispiel
is_success Wahr/falsch is_success:False
JSON-Ergebnis
{
    "146.125.10.5": null,
    "8.8.8.8": [
        "google-public-dns-a.google.com"
    ]
}

API-Informationen abrufen

Beschreibung

Gibt Informationen zum API-Plan zurück, der zum angegebenen API-Schlüssel gehört.

Parameter

Ausführen am

Diese Aktion wird für alle Elemente ausgeführt.

Aktionsergebnisse

Entitätsanreicherung

Statistiken

Scriptergebnis
Name des Scriptergebnisses Wertoptionen Beispiel
is_success Wahr/falsch is_success:False
JSON-Ergebnis
{
    "https": false,
    "unlocked": false,
    "unlocked_left": 0,
    "telnet": false,
    "scan_credits": 0,
    "plan": "oss",
    "query_credits": 0
}

IP-Informationen abrufen

Beschreibung

Alle verfügbaren Informationen zu einer IP-Adresse abrufen

Parameter

Parameter Typ Standardwert Beschreibung
Historische Banner zurückgeben Boolesch falsch „True“, wenn alle bisherigen Banner zurückgegeben werden sollen.
„Minify“ festlegen Boolesch falsch „True“, um nur die Liste der Ports und die allgemeinen Hostinformationen zurückzugeben, keine Banner.

Ausführen am

Diese Aktion wird für die IP-Adressen-Entität ausgeführt.

Aktionsergebnisse

Entitätsanreicherung
Name des Anreicherungsfelds Logik – Wann anwenden?
Daten Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
_shodan Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
id Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Crawler Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Options Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
module Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
ptr Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Hash Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
opts Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Roh Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
ISP Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Port Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Hostnamen Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Standort Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Ort Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
country_name Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
region_code Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
area_code Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
dma_code Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
country_code3 Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
postal_code Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
longitude Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
country_code Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
latitude Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
resolver_hostname Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
recursive Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
resolver_id Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Software Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
timestamp Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Domains Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
org Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
os Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
asn Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
transport Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
ip_str Gibt zurück, ob es im JSON-Ergebnis vorhanden ist.
Statistiken

Scriptergebnis
Name des Scriptergebnisses Wertoptionen Beispiel
is_success Wahr/falsch is_success:False
JSON-Ergebnis
[
    {
        "EntityResult": {
            "data": [
                {
                    "_shodan": {
                        "id": "d670bfbb-4821-4320-969d-0590789ab502",
                        "crawler": "545144fc95e7a7ef13ece5dbceb98ee386b37950",
                        "options": {},
                        "module": "dns-udp",
                        "ptr": true
                    },
                    "hash": -553166942,
                    "opts": {
                        "raw": "34ef818200010000000000000756455253494f4e0442494e440000100003"
                    },
                    "ip": 134744072,
                    "isp": "Google",
                    "data": "nRecursion: enabled",
                    "port": 53,
                    "hostnames": ["google-public-dns-a.google.com"],
                    "location": {
                        "city": null,
                        "region_code": null,
                        "area_code": null,
                        "dma_code": null,
                        "country_code3": "USA",
                        "country_name": "United States",
                        "postal_code": null,
                        "longitude": -97.822,
                        "country_code": "US",
                        "latitude": 37.751000000000005
                    },
                    "dns": {
                        "resolver_hostname": null,
                        "recursive": true,
                        "resolver_id": null,
                        "software": null
                    },
                    "timestamp": "2019-01-29T12:36:09.300695",
                    "domains": ["google.com"],
                    "org": "Google",
                    "os": null,
                    "asn": "AS15169",
                    "transport": "udp",
                    "ip_str": "1.1.1.1"
                }
            ],
            "city": null,
            "region_code": null,
            "tags": [],
            "ip": 134744072,
            "isp": "Google",
            "area_code": null,
            "dma_code": null,
            "last_update": "2019-01-29T12:36:09.300695",
            "country_code3": "USA",
            "country_name": "United States",
            "hostnames": ["google-public-dns-a.google.com"],
            "postal_code": null,
            "longitude": -97.822,
            "country_code": "US",
            "ip_str": "1.1.1.1",
            "latitude": 37.751000000000005,
            "org": "Google",
            "os": null,
            "asn": "AS15169",
            "ports": [53]
        },
        "Entity": "1.1.1.1"
    }
]

Ping

Beschreibung

Prüfen Sie, ob der Nutzer über sein Gerät eine Verbindung zu Shodan hat.

Parameter

Ausführen am

Diese Aktion wird für alle Elemente ausgeführt.

Aktionsergebnisse

Entitätsanreicherung

Statistiken

Scriptergebnis
Name des Scriptergebnisses Wertoptionen Beispiel
is_connected Wahr/falsch is_connected:False
JSON-Ergebnis
N/A

Netzwerk scannen

Beschreibung

Netzwerk mit Shodan scannen Shodan durchsucht das gesamte Internet mindestens einmal im Monat. Wenn Sie jedoch möchten, dass Shodan ein Netzwerk sofort scannt, können Sie dies über die On-Demand-Scanfunktionen der API anfordern.

Parameter

Ausführen am

Diese Aktion wird für alle Elemente ausgeführt.

Aktionsergebnisse

Entitätsanreicherung

Statistiken

Scriptergebnis
Name des Scriptergebnisses Wertoptionen Beispiel
is_success Wahr/falsch is_success:False
JSON-Ergebnis
N/A

Nutzer aktivieren

Beschreibung

Nutzerattribut aktualisieren – Nutzer aktivieren

Parameter

Parameter Typ Standardwert Beschreibung
Nutzername Integer Vollständiger Nutzername, wie er im CyberArk-Vault vorhanden ist.

Ausführen am

Diese Aktion wird für die IP-Adressen-Entität ausgeführt.

Aktionsergebnisse

Entitätsanreicherung

Statistiken

Scriptergebnis
Name des Scriptergebnisses Wertoptionen Beispiel
success_scan Wahr/falsch success_scan:False
JSON-Ergebnis
N/A

Beschreibung

Shodan-Datenbank durchsuchen

Parameter

Parameter Typ Standardwert Beschreibung
Suchanfrage 0 Suchanfrage; identische Syntax wie auf der Website, z. B. „find Apache webservers located in Germany(apache country:'DE', city:'Berlin')“.
Facetten 0 Eine durch Kommas getrennte Liste der Properties, für die zusammenfassende Informationen abgerufen werden sollen. Eigenschaftsnamen können auch im Format „property:count“ angegeben werden. z.B. country:100, city:5. Weitere Informationen finden Sie unter https://developer.shodan.io/api.
„Minify“ festlegen 1 falsch Gibt an, ob das Banner minimiert und nur die wichtigen Daten zurückgegeben werden sollen.

Ausführen am

Diese Aktion wird für alle Elemente ausgeführt.

Aktionsergebnisse

Entitätsanreicherung

Statistiken

Scriptergebnis
Name des Scriptergebnisses Wertoptionen Beispiel
is_success Wahr/falsch is_success:False
JSON-Ergebnis
{
    "matches": [
        {
            "timestamp": "2014-01-15T05: 49: 56.283713",
            "isp": "Vivacom",
            "data": "@PJL INFO STATUS CODE=35078 DISPLAY=Power Saver ONLINE=TRUE",
            "port": 9100,
            "hostnames": [],
            "location": {
                "city": null,
                "region_code": null,
                "area_code": null,
                "longitude": 25,
                "country_code3": "BGR",
                "country_name": "Bulgaria",
                "postal_code": null,
                "dma_code": null,
                "country_code": "BG",
                "latitude": 43
            },
            "ip": 3579573318,
            "domains": [],
            "org": "Vivacom",
            "os": null,
            "asn": "AS8866",
            "ip_str": "1.1.1.1"
        }
    ],
    "facets": {
        "org": [
            {
                "count": 107,
                "value": "UniversityofMinnesota"
            }
        ]
    },
    "total": 12039
}

Nach Exploits suchen

Beschreibung

Sie können in verschiedenen Datenquellen nach Exploits suchen und Facetten verwenden, um zusammenfassende Informationen zu erhalten.

Parameter

Parameter Typ Standardwert Beschreibung
Suchanfrage String Suchanfrage, mit der die Datenbank bekannter Exploits durchsucht wird.
Facetten String Eine durch Kommas getrennte Liste der Properties, für die zusammenfassende Informationen abgerufen werden sollen. z.B. Port, Quelle, Autor. Weitere Informationen finden Sie unter https://developer.shodan.io/api.
Seite String Die Seitenzahl, um jeweils 100 Ergebnisse zu durchsuchen.

Ausführen am

Diese Aktion wird für alle Elemente ausgeführt.

Aktionsergebnisse

Entitätsanreicherung

Statistiken

Scriptergebnis
Name des Scriptergebnisses Wertoptionen Beispiel
is_success Wahr/falsch is_success:False
JSON-Ergebnis
{
    "matches": [
        {
            "cve": "CVE-2011-2064",
            "description": "Cisco IOS 12.4MDA before 12.4(24)MDA5 on the Cisco Content Services Gateway - Second Generation (CSG2) allows remote attackers to cause a denial of service (device reload) via crafted ICMP packets, aka Bug ID CSCtl79577.",
            "osvdb": [73657],
            "bid": [48581],
            "source": "CVE",
            "_id": "2011-2064",
            "msb": []}],
    "facets": {
        "type": [
            {
                "count": 1,
                "value": "remote"
            }
        ]
    },
    "total": 4
}

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