Notes de mise à jour
1.0.0 (Required minimum CE version for this is 6.0.0)
Added
- Initial Release.
- Pull : Oui (IPv4, MD5, SHA256)
- Push: No
- Retrait de récupération : Oui (basé sur une fenêtre temporelle configurable)
- Push Retraction : Non
Ce document explique comment configurer le plugin GreyNoise v1.0.0 avec le module Threat Exchange dans la plateforme Cloud Exchange. Ce plugin est utilisé pour extraire les indicateurs de menace de type IPv4 et hachage de fichier (MD5, SHA256) depuis la page Query de la plateforme GreyNoise. Ce plugin prend en charge le retrait des indicateurs depuis la plateforme GreyNoise. Ce plugin ne prend pas en charge le partage d'indicateurs vers la plateforme GreyNoise.
Conditions préalables
Pour compléter cette configuration, vous avez besoin de :
- Netskope Tenant (ou plusieurs, par exemple des instances de production et de développement/test)
- Une instance Netskope Cloud Exchange avec le plugin Locataire et le plugin Threat Exchange déjà configurés
- A URL List on your Netskope tenant.
- A Destination Profile on your Netskope tenant.
- A Private App on your Netskope tenant.
- Un profil de fichier sur votre locataire Netskope.
- Connectivité avec les hôtes suivants :
- URL de connexion au locataire GreyNoise. Exemple : https://viz.greynoise.io/
- URL de base de l'API GreyNoise. Exemple : https://api.greynoise.io
Prise en charge du plugin GreyNoise
Ce plugin est utilisé pour extraire les indicateurs de menace de type IPv4 et hachage de fichier (MD5, SHA256) depuis la page Query de la plateforme GreyNoise. Ce plugin prend en charge le retrait des indicateurs depuis la plateforme GreyNoise. Ce plugin ne prend pas en charge le partage d'indicateurs vers la plateforme GreyNoise.
| Types d'indicateurs prédéfinis | Types d'indicateurs partagés |
|---|---|
| IPv4, SHA256 et MD5 | – |
Retrait de l'IoC
Retrait des IoC (récupération) : Les IoC supprimés sur GreyNoise, ou ne se trouvant pas dans l'intervalle de retrait défini dans la configuration du plugin, ou ne correspondant pas aux types/classifications/étapes de rappel d'IoC sélectionnés, seront marqués comme retirés dans Cloud Exchange.
| Type de rétraction | Type de rétraction supportée |
|---|---|
| Retrait de l'IoC (Pull) | Oui |
| Retrait de l'IoC (Push) | Non |
Mapping
Cartographie pull pour les indicateurs
| Champ indicateur Netskope | Champ API GreyNoise |
|---|---|
| value | IP, IP de rappel, sha256, md5 |
| type | dérivé de la forme IP/CIDR |
| firstSeen | first_seen (GNQL) / first_seen (Rappel) |
| lastSeen | last_seen (GNQL) / last_seen (rappel) |
| commentaires | metadata.source_country, metadata.source_city, metadata.organization, internet_scanner_intelligence.actor |
| tags | classification + category : nom (GNQL) / callback_ip, stage_1, stage_2 (Rappel) |
Types d'IoC à extraire
| Concept GreyNoise | Netskope CE Type | Example Value |
|---|---|---|
| IP (GNQL, adresse IPv4) | IPv4 | 8.8.8.8 |
| IP (GNQL, IPv4 CIDR) | IPv4 CIDR (revient à l'URL si le type n'est pas disponible) | 192.168.1.0/24 |
| Adresse IP de rappel | IPv4 / CIDR IPv4 | 8.8.8.8 |
| active_files.sha256 | SHA256 | e3b0c44… |
| active_files.md5 | MD5 | d41d8cd… |
Permissions
L'utilisateur doit disposer de l'autorisation d'accéder à Account > API Key.
Détails de l'API
Liste des API utilisées
| Détail de l'API | Méthode | Point final de l'API |
|---|---|---|
| Valider la connectivité / Extraire les indicateurs IP (GNQL) | OBTENIR | /v3/gnql |
| Indicateurs de rappel (Callback) IP / MD5 / SHA256 (liste) | PUBLIER | /v1/callback/ips |
| Hachage de fichiers de récupération pour une IP de rappel (détail) | OBTENIR | /v1/callback/ip/{ip} |
Extraire les adresses IP à partir d'une requête GNQL
Parameters
| Paramètres | Value | Comments |
|---|---|---|
| query | comme classification:malicious AND last_seen:1d | Construit comme classification:{classification} ET last_seen:{gnql_last_seen} par classification sélectionnée |
| size | 10000 (tirage) / 1 (validation) | Constante PAGE_SIZE ; 1 pour l'appel de validation léger |
| exclude | liste de champs séparés par des virgules | Supprime les champs inutilisés (tag_volumes, cves, raw_data, metadata.asn, etc.) de la réponse |
| scroll | scroll cursor string | Uniquement inclus sur les pages suivantes, extrait du request_metadata.scroll de la réponse précédente. |
API Request Curl
curl --location 'https://api.greynoise.io/v3/gnql?query=classification%3Amalicious%20AND%20last_seen%3Atoday&size=1' \ --header 'key: <api_key>' \ --header 'Accept: application/json'
Sample API Response
{
"data": [
{
"ip": "61.134.36.102",
"internet_scanner_intelligence": {
"found": true,
"first_seen": "2023-09-01",
"last_seen": "2023-10-03",
"last_seen_timestamp": "2023-10-03 08:15:00",
"actor": "unknown",
"tags": [
{
"category": "activity",
"name": "Web Crawler"
}
],
"metadata": {
"source_country": "China",
"source_city": "Shenzhen",
"organization": "Some Hosting Provider"
}
}
}
],
"request_metadata": {
"complete": false,
"scroll": "eyJmaWx0ZXJzIjp7fSwic29ydCI6W119"
}
}
Adresses IP de rappel d'extraction
Parameters
| Paramètres | Value | Comments |
|---|---|---|
| last_seen_after | YYYY-MM-DD | Calculé à partir de la plage configurée (Today/1d/1w/1m/1y/Custom) via range_to_date() |
| page | 0, 1, 2… | Incrémenté jusqu’à ce que page * page_size ≥ total ou qu’une page courte soit renvoyée |
| page_size | 100 | Constante CALLBACK_PAGE_SIZE |
| is_stage_1 | true/false | À partir du choix de configuration « Stage 1 » |
| is_stage_2 | true/false | À partir du choix de configuration « Étape 2 » |
API Request Curl
curl--location'https://api.greynoise.io/v1/callback/ips'\--header'key: <api_key>'\--header'Content-Type: application/json'\--header'Accept: application/json'\--data'{"last_seen_after":"2023-10-01","page": 0, "page_size": 100,"is_stage_1": true,"is_stage_2": true}'
Sample API Response
{
"total": 245,
"items": [
{
"ip": "45.155.204.10",
"first_seen": "2023-09-15T00:00:00Z",
"last_seen": "2023-10-03T00:00:00Z",
"is_stage_1": true,
"is_stage_2": true,
"file_count": 2
"last_modifier": null
}
]
}
Retrait des hachages pour une IP de rappel
Parameters: Aucun
API Request Curl
curl --location 'https://api.greynoise.io/v1/callback/ip/45.155.204.10' \ --header 'key: <api_key>' \ --header 'Accept: application/json'
Sample API Response
{
"ip": "45.155.204.10",
"active_files": [
{
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85",
"md5": "d41d8cd98f00b204e9800998ecf8427e"
}
]
}
Matrice de performance
Voici la lecture des performances effectuée après avoir tiré 100K IoCs sur une instance CE de grande taille avec les spécifications ci-dessous.
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Indicateurs extraits de GreyNoise | ~ 3.5K IoCs per minute |
Agent utilisateur
netskope-ce-6.1.0-cte-greynoise-v1.0.0
Workflow
- Obtenir une clé API
- Configurer la configuration du plugin GreyNoise
- Ajouter une règle de gestion
- Ajouter un partage
- Validation
Regardez une vidéo
Cliquer sur « play » pour regarder une vidéo.
Obtenez votre clé API auprès de GreyNoise
-
Connectez-vous à votre instance GreyNoise et accédez à Account > API Key.

-
Cliquez sur Generate/Regenerate et copiez la clé générée.

Configurer le plugin GreyNoise
-
Dans Cloud Exchange, allez sur Settings > Plugin Store. Recherchez et sélectionnez le plugin GreyNoise v1.0.0 (CTE).

-
Saisissez les informations de base :
- Configuration Name: Nom unique pour la configuration
- Sync Interval: Intervalle pour extraire des données de ce plugin et partager des données vers ce plugin depuis d'autres sources. Notez que pour le plugin GreyNoise, il est suggéré de conserver un intervalle de synchronisation supérieur à 1 jour afin d'éviter d'extraire à nouveau les mêmes IoC.
- Indicator Aging Criteria: Définissez le délai d’expiration (en jours) pour les renseignements/indicateurs de menace. (Par défaut : 90)
- Override Reputation: Définissez la valeur pour remplacer la réputation des indicateurs reçus à partir de cette configuration. Utilisez 0 pour conserver la valeur par défaut, ce qui ne remplacera pas la réputation de l'indicateur.
- Tags Aggregate Strategy: Choisissez d'ajouter les balises New aux IoC existants ou de les écraser. Ce paramètre de configuration détermine la manière dont les étiquettes sont stockées pour les indicateurs tirés dans le cadre de cette configuration.
- Enable SSL Validation: Activer ou désactiver la validation du certificat SSL.

-
Cliquez sur Next et entrez les paramètres de configuration :
- Base URL: URL de base de l’API GreyNoise, comme https://api.greynoise.io.
- API Key: clé API pour l'authentification auprès de la plateforme GreyNoise.
- Enable Tagging: Activer/désactiver la fonctionnalité de marquage. Lorsque Oui est sélectionné, des tags seront ajoutés aux IoC récupérés.
- IoC Types: Select the types of IoC(s) to pull from GreyNoise. IP and Callback IP pull IPv4 indicators via the GNQL API (Classification field will appear). MD5 and SHA256 pull malware file hashes from Callback IP records (Callback Stages field will appear).
- Classification: Select la ou les classifications IP à extraire de la plateforme GreyNoise.
- Stage 1 (file downloaded from this IP): Définissez sur Yes pour récupérer les indicateurs de rappel de l'étape 1 (fichier téléchargé depuis cette adresse IP) lors de la récupération des indicateurs d'adresse IP de rappel, MD5 ou SHA256. Sélectionner Yes pour l'étape 1 et l'étape 2 ne récupère que les adresses IP classées simultanément comme étape 1 et étape 2 (intersection), plutôt que l'union des adresses IP de l'étape 1 et de l'étape 2.
- Stage 2 (suspected C2 based on VT/sandbox analysis): Réglez sur Oui pour obtenir les indicateurs de rappel de l’étape 2 (suspicion de Command-and-Control(C2) basée sur l’analyse VT/bac à sable) lors de l’extraction des indicateurs IP, MD5 ou SHA256. Sélectionner à la fois les étapes 1 et 2 comme Oui ne retire que les IP classées simultanément comme phase 1 et étape 2 (intersection), plutôt que l’union des IP de l’étape 1 et de l’étape 2.
- Initial Range: Fenêtre temporelle pour le retrait initial. Après le retrait initial, le plugin récupère automatiquement les données depuis la dernière exécution réussie, garantissant qu'aucune donnée n'est manquée. Select Personnalisé pour spécifier un nombre de jours (1 à 365) dans le champ Plage initiale (jours).
- Retraction Interval: Fenêtre temporelle à utiliser lors de l'exécution du retrait par extraction. Applicable uniquement si IoC(s) Retraction est activé dans les paramètres de Threat Exchange. Select Custom pour spécifier un nombre de jours (1-365) dans le champ Retraction Interval (Days).
- Retraction Interval (Days): Nombre de jours pour la fenêtre de rétractation. Ça doit être entre 1 et 365. Applicable uniquement lorsque l’intervalle de rétraction est réglé sur Personnalisé.


-
Click Save. The plugin appears on the Plugins page.

Configurer une règle de gestion Threat Exchange pour GreyNoise
Le plugin GreyNoise ne prend pas en charge le partage d'IoC, mais les IoC extraits de GreyNoise peuvent être partagés vers le locataire Netskope. Pour partager des indicateurs depuis Cloud Exchange vers votre locataire Netskope, vous devez disposer d'une règle commerciale qui filtrera les indicateurs que vous souhaitez partager. Pour configurer une règle de gestion :
-
Dans Threat Exchange, allez à Business Rules et cliquez sur Create New Rule.

-
Indiquez le nom de la règle et ajoutez le filtre selon vos besoins pour les IoC que vous souhaitez partager, puis cliquez sur Save.

Configurer le partage Threat Exchange pour GreyNoise
Le plugin GreyNoise ne prend pas en charge le partage d'IoC, mais les IoC extraits de GreyNoise peuvent être partagés vers le locataire Netskope. Pour partager des IoC avec le locataire Netskope :
- Dans Threat Exchange, allez à Sharing et cliquez sur Add Sharing Configuration.
- Select votre configuration source (CTE GreyNoise), la règle métier, la configuration de destination (CTE Netskope Threat Exchange) et une cible.
- Cliquez sur Save.

Note
Consultez le guide du plugin Threat Exchange pour plus d'informations sur le partage sur le locataire Netskope. Comme le plugin GreyNoise prend en charge la récupération des IPv4, SHA256 et MD5, nous pouvons effectuer les actions suivantes sur Netskope en utilisant ces indicateurs :
- Pour IPv4
- Ajouter à la liste des URL
- Ajouter à l'application privée
- Add to Destination Profile
- Pour SHA256 et MD5
- Ajouter à la liste de hachage des fichiers
Validez le plugin GreyNoise
Valider le retrait
Ce plugin est utilisé pour extraire les indicateurs de menace de type IPv4 et hachage de fichier (MD5, SHA256) depuis la page Query de la plateforme GreyNoise. Ce plugin prend en charge le retrait des indicateurs depuis la plateforme GreyNoise. Ce plugin ne prend pas en charge le partage d'indicateurs vers la plateforme GreyNoise.
Pour vérifier les IOC disponibles sur GreyNoise, connectez-vous à votre instance GreyNoise, accédez à la page Query et appliquez le filtre selon vos besoins.

Cliquez sur n'importe quel indicateur pour ouvrir ses détails.

Pour vérifier l'extraction des IoC sur Cloud Exchange, accédez à Settings > Logging et appliquez le filtre avec le nom de configuration du plugin. Exemple : message Like « CTE GreyNoise ».


Les IoC extraits seront visibles à Threat IoCs dans Cloud Exchange.


Validez la rétractation
Pour la rétraction par traction
Pour vérifier les IoC retirés, accédez à Threat IoCs et appliquez le filtre comme indiqué ici :

Pour vérifier les journaux liés à la rétraction, vous pouvez vous rendre sur Logging appliquer le filtre montré ici :

Le plugin GreyNoise ne supporte pas la rétractation push, mais le plugin Netskope Threat Exchange supporte la rétractation push, donc les IoC extraits du plugin GreyNoise, et marqués comme rétractés, seront supprimés du locataire Netskope. Ce résultat peut être vérifié à partir du champ de résultats de rétraction. Ici, le résultat de la rétractation est CTE Netskope Threat Exchange : retiré, ce qui signifie que cet IoC est supprimé du locataire Netskope.
Il s'agit du profil de destination où les IoC extraits de GreyNoise ont été partagés.

Comme les IoC extraits de GreyNoise ont été marqués comme retirés = yes, et qu'ils ont déjà été partagés avec le profil de destination sur le locataire Netskope, ils seront supprimés de ce profil de destination et leur statut pourra être vérifié à partir du résultat du retrait. Dans ce cas, le résultat du retrait est CTE Netskope Threat Exchange: retracted, ce qui signifie qu'il a été supprimé du profil de destination.

Vous pouvez voir ici que les IoC rétractés ont été supprimés de ce profil de destination.

Dépannage du plugin GreyNoise
Réception d'une erreur de Base URL non valide ou de clé API non valide lors de la création de la configuration du plugin.
Cette erreur peut se produire si l'URL ou la clé API fournie dans la configuration du plugin est invalide.
What to do: Veillez à fournir l'URL et la clé API correctes. Reportez-vous à la section Configuration on GreyNoise.
Impossible d'extraire les IoC de GreyNoise
Si vous n'êtes pas en mesure de récupérer des IoC depuis GreyNoise, cela peut être dû à l'absence d'IoC sur la plateforme GreyNoise pour l'intervalle utilisé comme plage initiale dans la configuration du plugin, ou au fait que votre configuration a défini l'étape 1 et l'étape 2 sur Oui, alors qu'aucun IoC ne se trouve à l'intersection de l'étape 1 vraie/oui et de l'étape 2 vraie/oui.
What to do: Assurez-vous que les IoC sont présents sur la plateforme GreyNoise et que les identifiants utilisés dans la configuration du plugin sont corrects. Reportez-vous à la section Valider le retrait et aux Comportements connus.
Comportements connus
- Le filtrage Étape 1 + Étape 2 utilise un ET (intersection), et non un OU (union). Lorsque l'étape 1 et l'étape 2 sont définies sur Oui, l'API de rappel GreyNoise applique une correspondance exacte sur les deux indicateurs ; elle ne renvoie que les adresses IP simultanément marquées comme événement d'étape 1 et d'étape 2. Les adresses IP appartenant à une seule étape sont exclues. Pour récupérer uniquement les adresses IP de l'étape 1 ou de l'étape 2 en plus de l'ensemble combiné, exécutez des configurations de plugin distinctes avec chaque étape activée indépendamment.
- Les retraits ultérieurs chevauchent toujours la fenêtre précédente d'environ 1 jour. Le plugin arrondit le temps écoulé aux jours entiers supérieurs (plafond), de sorte qu'un retrait effectué exactement 4 jours après le précédent interroge last_seen:5d. Cela signifie que le dernier jour environ de la fenêtre du retrait précédent est toujours réinterrogé.

