Neutron, notre moteur d’IA, a obtenu un score de 96,75 % sur le benchmark CyberGym de l’UC Berkeley. En savoir plus

Sécurité

Sécurité

Cartographier votre surface d'attaque - partie 1

La cartographie de la surface d'attaque est devenue le premier casse-tête des RSSI de la plupart des grandes organisations ; cet article présente les techniques et les outils qu'Ostorlab utilise pour offrir une découverte et une surveillance de la surface d'attaque puissantes et précises.

Près de la moitié des attaques par ransomware exploitent des services vulnérables exposés sur Internet pour prendre pied dans une organisation.

Lorsqu'il ne s'agit pas de ransomware, les attaquants compromettent des machines exposées sur Internet pour miner de la cryptomonnaie, voler des données, participer à des attaques DDoS ou servir de relais à de futures attaques.

Surface d'attaque
Surface d'attaque

Le principal problème auquel les organisations sont aujourd'hui confrontées avec l'adoption du cloud et l'ère post-covid est la complexité croissante des infrastructures, réparties entre plusieurs clouds et fournisseurs SaaS.

Connaître le périmètre d'attaque d'une organisation est une tâche colossale, devenue la première priorité des RSSI des grandes organisations. Certains recourent même à des tactiques comme le suivi des achats par carte bancaire pour identifier des déploiements cloud ou SaaS inconnus.

Cet article présente la mise en œuvre technique des nouvelles capacités de découverte de la surface d'attaque d'Ostorlab, qui ont permis en moyenne d'augmenter de plus de 400 % l'infrastructure connue d'une organisation.

Cela comprend l'infrastructure oubliée ou manquante issue d'acquisitions, qui n'a pas été désactivée ou migrée, ainsi que des machines de développement et de production non recensées, perdues lors de restructurations internes ou de changements de personnel.

Ces environnements souffraient de vulnérabilités critiques : identifiants faibles, détournement de domaine, vulnérabilités d'exécution de code à distance ou détournement de session de service dû à une portée inappropriée des cookies de session.

Qu'est-ce qu'une surface d'attaque ?

Tout d'abord, de quoi se compose la surface d'attaque d'une organisation ? Elle comprend tout ce que possède une organisation : adresses IP, noms de domaine, dépôts de code source, comptes de services SaaS, applications mobiles, points de terminaison d'API, et la liste continue.

Chacun de ces éléments peut être exploité par des attaquants pour compromettre une organisation, et l'a déjà été : identifiants divulgués, vulnérabilités RCE, identifiants faibles ou vulnérabilités de détournement de domaine.

Les techniques de surface d'attaque se limitent à l'énumération de domaines, comme on le fait couramment, ce qui ne couvre qu'une partie restreinte du problème.

Alors, comment cartographier ma surface d'attaque ?

Les attaquants aiment regarder là où personne ne regarde. Si vous consultez les contenus publics de bug bounty, vous serez surpris par la richesse des techniques utilisées pour trouver ces zones d'ombre : liste des acquisitions, Wayback Machine, recherches inversées, recherches par identifiant analytique, et la liste continue.

Fait cocasse : les environnements ainsi découverts sont souvent hors du périmètre des programmes de bug bounty, ce qui laisse aux attaquants tout l'espace nécessaire pour nuire.

Pour assurer une couverture exhaustive, Ostorlab a mis en œuvre toutes les astuces connues afin de générer un graphe de plusieurs milliards de nœuds du maillage d'Internet et de ses connexions cachées.

Certaines de ces techniques sont disponibles dans des outils open source comme Subfinder, Amass, Nmap, Wappaylzer, Whatweb et Dnsx, et nous avons aussi publié en open source plusieurs nouveaux outils qui aident à corréler ceux-ci pour offrir une couverture véritablement inégalée.

Utilisés ensemble, ces outils permettent :

  • L'énumération de sous-domaines par force brute
  • L'énumération de sous-domaines à partir de ressources publiques, comme les bases de données de transparence des certificats, les traqueurs de domaines de malware, les listes publiques
  • de crawlers, les archives d'Internet, etc.
  • La cartographie Whois des domaines et la recherche inversée
  • La recherche DNS et la recherche DNS inversée
  • La liste des acquisitions
  • Le Whois des IP et la recherche BGP ASN
  • La collecte et la corrélation des identifiants analytiques
  • La collecte et la corrélation des stacks techniques
  • La géolocalisation des IP et la corrélation des distances
  • Le recensement des applications mobiles et l'extraction de liens

Ces techniques ont permis de générer des graphes de plusieurs milliards de nœuds, en croissance constante, qui détectent de plus en plus de connexions, de domaines et de liens cachés, certains aboutissant même à des millions d'actifs confirmés comme appartenant à l'organisation.

Si vous souhaitez combiner ces techniques et les utiliser avec des outils open source d'analyse de sécurité comme Nuclei, Openvas ou tsunami, vous pouvez utiliser la définition de groupe d'agents Ostorlab suivante pour effectuer l'énumération DNS, la résolution d'IP et transmettre automatiquement le résultat à vos outils réseau ou de scan préférés.

kind: AgentGroup
description: Grouping of 6 agents.
agents:
  - key: agent/ostorlab/nmap
  - key: agent/ostorlab/tsunami
    args: [ ]
  - key: agent/ostorlab/openvas
    args: [ ]
  - key: agent/ostorlab/nuclei
oxo scan run --install -g agent_group.yaml ip 8.8.8.8 8.8.4.4

Vous pouvez aussi les ajuster en augmentant le nombre d'instances en cours d'exécution de ces outils pour une couverture plus rapide.

kind: AgentGroup
description: Grouping of 6 agents.
agents:
  - key: agent/ostorlab/nmap
    replicas: 10

La plupart de ces agents acceptent des arguments pour ajuster leur comportement, comme définir les ports Nmap par défaut ou changer la liste de mots utilisée pour la force brute DNS

kind: AgentGroup
description: Grouping of 6 agents.
agents:
  - key: agent/ostorlab/nmap
    replicas: 10
    args:
      - name: ports
        type: string
        description: List of ports to scan.
        value: '22,443,80'

Dans la prochaine partie, nous passerons en revue les itérations de l'algorithme que nous avons utilisées pour améliorer la précision de la détection des actifs connus, puis nous aborderons le stockage efficace des données pour appliquer ces algorithmes à cette échelle, et enfin le défi de la visualisation de ces données dans un format intelligible pour l'humain, en particulier pour les très grandes organisations.