Aller au contenu principal

Ressources

Les ressources représentent les entités principales d'un réseau exposé. Elles servent à stocker et à afficher les données trouvées par les tâches de Red Kite. Une ressource peut aussi souvent être créée au moyen de l'interface utilisateur et de l'API.

Chaque ressource appartient à un projet et est unique dans ce projet. Si vous supprimez un projet, toutes ses ressources sont supprimées avec lui, ce qui vous aide à rester conforme et organisé.

Les ressources ont certaines propriétés clés en commun, comme leurs horodatages. Celles-ci incluent la date de création (createdAt), la date de dernière mise à jour (updatedAt) et la date à laquelle elles ont été vues pour la dernière fois (lastSeen).

Les tâches (jobs) découvrent des données et communiquent leurs découvertes au moyen de findings. Certains findings donnent naissance à de nouvelles ressources, tandis que d'autres enrichissent des ressources existantes. Si un finding correspond à une ressource existante, il met simplement à jour la valeur lastSeen de la ressource pour garder ses données à jour. Pour aller plus loin, consultez la section En savoir plus sur les findings.

Types de ressources​

Il existe plusieurs types de ressources, chacun créé par des findings précis. Certains findings sont générés au moyen de l'interface utilisateur, tandis que d'autres proviennent de l'API. Peu importe leur origine, chaque ressource est liée à un projet précis.

Domaines​

Les domaines représentent des noms de domaine ou des sous-domaines, comme example.com ou subdomain.example.com. Ils stockent et affichent l'information liée au DNS et peuvent être gérés à partir de la page Domaines de l'interface utilisateur.

Les domaines peuvent être créés au moyen du HostnameFinding, par l'API. Ils peuvent aussi être créés avec la fonctionnalité Ajouter des domaines de l'interface utilisateur. L'ajout d'un nouveau domaine alimente le processus d'automatisation et démarre une analyse.

En général, un domaine se résout en une ou plusieurs adresses IP, qui sont représentées par des ressources de type hôte. Un domaine peut être lié à un ou plusieurs hôtes au moyen du HostnameIpFinding. Si un HostnameIpFinding identifie un nouveau domaine ou un nouvel hôte, il crée automatiquement ces ressources.

La combinaison du nom d'un domaine et de l'identifiant de son projet est unique dans la base de données.

Plages d'adresses IP​

Les plages d'adresses IP sont composées d'une adresse IP de réseau et d'un masque de réseau, et permettent de désigner des sous-réseaux complets comme faisant partie d'un projet. Ces plages appartiendraient, par exemple, à votre cible, et elles sont un endroit probable pour trouver des hôtes pertinents. Elles se trouvent dans la page Plages IP de l'interface utilisateur.

Vous pouvez créer une plage IP en l'ajoutant dans l'interface au moyen de la fonctionnalité Ajouter des plages IP, ou en émettant un IpRangeFinding dans une tâche. Lorsqu'une plage IP est ajoutée, une analyse de la plage est immédiatement lancée. Une analyse est aussi lancée toutes les deux semaines pour trouver de nouveaux hôtes et actualiser les données.

La combinaison de l'adresse IP, du masque et de l'identifiant du projet d'une plage IP est unique dans la base de données.

Pour le moment, seules les adresses IPv4 sont prises en charge.

Hôtes​

Les hôtes représentent une adresse IP exposée, c'est-à-dire l'interface réseau d'un ordinateur qui est à l'écoute sur le réseau. Les hôtes servent à représenter les liens entre les domaines, les hôtes et les ports. Ils se trouvent dans la page Hôtes de l'interface utilisateur.

Un hôte peut être créé au moyen de l'IpFinding pour un hôte autonome, ou au moyen d'un HostnameIpFinding pour un hôte lié à un domaine. Des IpFinding peuvent être émis par l'API au moyen de la fonctionnalité Ajouter des hôtes de l'interface utilisateur. L'ajout d'un nouvel hôte alimente le processus d'automatisation et démarre une analyse.

Un hôte existant peut être lié à un domaine au moyen du HostnameIpFinding. Un hôte peut être lié à un ou plusieurs domaines.

La plupart du temps, un hôte a des ports qui lui sont liés. C'est là que se trouve la majorité des données intéressantes. Supprimer un hôte supprime aussi ses ports associés.

La combinaison de l'adresse IP d'un hôte et de l'identifiant de son projet est unique dans la base de données.

Pour le moment, seules les adresses IPv4 sont prises en charge.

Ports​

Un port représente un port tcp ou udp. Les ports sont utilisés, avec l'adresse IP d'un hôte, pour représenter un service réseau. Chaque port est lié à un hôte. Ils se trouvent dans la page Ports de l'interface utilisateur.

Un port est une valeur numérique comprise entre 1 et 65535 inclusivement. Les ports peuvent exécuter n'importe quel type de service ou de serveur réseau. Par exemple, un serveur SSH, un serveur FTP, un serveur HTTP, etc.

Red Kite signale les ports open d'un hôte. Les ports Tcp sont considérés comme open lorsqu'ils peuvent compléter une tcp handshake complète.

Pour le moment, seuls les ports TCP sont officiellement pris en charge.

Un port peut être créé avec un PortFinding. Un finding de port est une combinaison d'une adresse IP, d'un port et d'un protocole (tcp ou udp). Ainsi, lorsqu'un port est créé, il est automatiquement lié à un hôte.

La combinaison du numéro d'un port et de l'identifiant de son hôte est unique dans la base de données.

Sites web​

Un site web représente un port tcp qui exécute un serveur http(s).

Un site web est la combinaison d'un port, d'un hôte, d'un domaine et d'un chemin. Lorsqu'il n'est pas précisé, le chemin est / par défaut. Le domaine peut aussi être vide, puisque ce ne sont pas tous les sites web qui ont des domaines qui se résolvent vers eux.

Un site web est généralement créé pour chaque port http(s) et pour chaque domaine lié à un hôte.

Ainsi, si un hôte exécute deux ports http(s) avec deux domaines, un total de 6 sites web sur le chemin / est possible. Prenons les domaines dev.example.com et example.com, l'adresse IP 1.2.3.4 et les ports 80 et 443 pour le chemin /.

Les 6 valeurs suivantes sont possibles :

domainehôteportchemin
1.2.3.480/
example.com1.2.3.480/
dev.example.com1.2.3.480/
1.2.3.4443/
example.com1.2.3.4443/
dev.example.com1.2.3.4443/

Les ports sont utilisés, avec l'adresse IP d'un hôte, pour représenter un service réseau. Chaque port est lié à un hôte. Ils se trouvent dans la page Ports de l'interface utilisateur.

Un site web peut être créé avec un WebsiteFinding. Un finding de site web est une combinaison d'une adresse IP, d'un port, d'un domaine et d'un chemin. Ainsi, lorsqu'un site web est créé, il est automatiquement lié au port, à l'hôte et au domaine donnés.

La combinaison de l'identifiant du port, de l'identifiant du domaine et du chemin d'un site web est unique dans la base de données.

Interagir avec les ressources​

Étiqueter une ressource​

Vous pouvez étiqueter une ressource au moyen de l'interface utilisateur ou de l'API. Étiqueter une ressource permet de la retrouver plus facilement par la suite avec le filtre tags. Toutes les ressources peuvent être étiquetées et retrouvées de cette façon.

Pour étiqueter une ressource dans l'interface utilisateur, ouvrez simplement la vue de la ressource et utilisez le bouton Gérer les étiquettes.

Supprimer une ressource​

Supprimer une ressource la retire de la base de données. Elle n'existe plus dans Red Kite. Si Red Kite rencontre de nouveau la même ressource plus tard, elle est recréée et réapparaît.

C'est utile pour retirer une ressource qui n'est plus présente, mais que l'on voudrait revoir si jamais elle revient.

Bloquer une ressource​

Alors que les ressources supprimées sont retirées de la base de données, les ressources bloquées restent dans la base de données, mais sont marquées comme blocked. Les ressources bloquées sont retirées du flux d'automatisation et sont donc ignorées par les différents types d'abonnements.

Important : bloquer un hôte ne bloque pas automatiquement ses ports.

Pour voir les ressources bloquées dans l'interface utilisateur, retirez le filtre par défaut -is: blocked. Toutes les ressources sont alors affichées, bloquées ou non. Pour voir seulement les ressources bloquées, utilisez le filtre is: blocked.

Bloquer une ressource est utile si, par l'automatisation, Red Kite a trouvé une ressource qui n'appartient pas au projet. La supprimer entraînerait probablement sa réapparition plus tard, et des tâches seraient exécutées sur elle. La bloquer garantit que des tâches ne sont pas exécutées automatiquement sur la ressource, puisque Red Kite se souvient de son existence.

Exporter des ressources​

Les ressources peuvent être exportées à partir des vues de liste au format JSON ou CSV. Le format JSON est destiné aux programmes, tandis que le format CSV est conçu pour les humains.

Fusionner des sites web​

Il est souvent possible de fusionner des ressources de type site web en une seule entité, puisque Red Kite génère plusieurs sites web potentiels qui peuvent en réalité être identiques. Par exemple, si Red Kite crée deux sites web différents pour les ports 80 et 443 sur la même adresse IP, il s'agit probablement du même site, accessible par des ports différents.

En fusionnant ces sites web, les flux automatisés peuvent les traiter comme une seule entité, ce qui réduit la quantité de travail nécessaire. Autrement dit, un site web fusionné est ignoré par les flux automatisés et pointe vers l'autre site web dans lequel il est fusionné.

Vous pouvez fusionner des sites web dans l'interface avec le bouton Fusionner. Seuls les sites web d'un même projet peuvent être fusionnés ensemble.