Structure d'une attaque, part I

Par 4n9e le 24-09-2004



Première partie d'une suite d'articles visant à décrire les différentes étapes typiques de l'attaque d'un système



La recherche d'information et leur collecte sur la cible est la premiere etape de la structure d'une attaque. Nous verrons dans ce cadre :


Sommaire :
I. l'identification de la cible
II. Les DNS, Domain Name System, et les Bases Ip
III. Moteurs de recherche
IV. Les pieges des Outils réseaux de diagnostic
V. Conclusion


I. Identification de la cible

Dans une première phase, il faudra identifier la cible dans son environnement (Internet dans notre cas). En utilisant des informations publiques pour la plupart, il découvre les localisations et interactions de l.organisation avec le reste d'Internet, afin d'arriver à une liste complete des accès extérieurs et donc des portes d'entrées potentielles à forcer.

Il dispose à la suite de cette phase d'un début de cartographie des environs de la cible sur le réseau Internet, des partenaires et prestataires ayant peut etre des liens physiques et logiques avec elle, de données brutes telles que des noms d'employés ou numéros de téléphones, qui seront potentiellement utiles pour des tentatives de social engineering ou de wardialing.
En fonction des motivations et des résultats attendus, cette phase peut être d'extrêmement rapide à assez longue, étant donné que le fait que elle soit complete déterminera en grande partie le succès de l.intrusion, en permettant de centrer directement l'attaque sur une porte dérobée

Dans certains cas, cette phase n'est même pas présente : il est fréquent que lorganisation agressée ne soit pas la motivation d'une attaque. De nombreux pirates balaient des plages d'adresses ou des pays entiers pour trouver des machines vulnérables qu'ils pourront compromettre, le plus souvent pour servir comme point de départ pour d'autres attaques. La cible elle-même est ainsi toute machine située dans le bloc balayé, quel que soit son propriétaire. Ce qui importera ici sera plus ses caractéristiques techniques comme sa disponibilité, surveillance d'administateurs sécurité, et tout ce qu?elle pourrait offrir en terme de performances reseau comme machine-passerelle vers la veritable attaque. La phase de recherche et d'identification de la cible est donc ici quasiment
inexistante, elle se résume au balayage d'adresses IP ou d.entrées DNS.

Etant donné que la majorité des informations recueillies lors de cette phase d'identification sont publiques (on essaie d'éviter de « toucher » directement la cible), elle est assez difficile, voire impossible à détecter. Seules certaines techniques, en particulier les balayages DNS peuvent être visibles par les administrateurs sécurité ou les mécanismes de détection d.intrusion.

II. DNS, Domain Name System, et les Bases Ip


Le DNS est la base d'informations la plus évidente pour la localisation d'une cible. Afin de connaître les noms de domaines possédés par la victime, il est possible de procéder par essais ou aller consulter les registres publiques des noms de domaines (whois).

L.interrogation des registres whois se fait directement par nom de domaine ou par mots clef. Le résultat obtenu est la liste des domaines correspondants aux mots clefs entrés, ainsi que toutes les informations associées : entre autres, noms des contacts techniques, administratifs, adresses postales, téléphones, et adresses IP des serveurs DNS.
Une piste pourrait etre ensuite d'utiliser ces renseignements pour étendre sa recherche en interrogeant par exemple le registre avec comme mot clef le nom du contact technique. on obtient ainsi une liste déjà importante de cibles potentiellement utiles pour notre intrusion.

Fort de ces informations, il est ensuite utile d.évaluer l'étendue des domaines, en utilisant une fois de plus les services du DNS.
Nous pouvons ainsi déterminer si les serveurs DNS sont hébergés chez des prestataires ou directement chez la victime. Si tel est le cas, ce prestataire peut lui aussi devenir une cible, en cas d'attaque directe infructueuse. Mais ce cas de figure est tres rare, étant donne qu'on supposera facilement que les ISP sont mieux proteges que les particuliers !

Nous pouvons aussi demander une liste de tous les couples nom/adresse IP enregistrés dans le DNS pour un domaine donné. Cette fonctionnalité, dite AXFR, est nécessaire pour le transfert de zones entre serveurs de noms. Elle est très intéressante pour un agresseur et est donc communément restreinte aux seuls serveurs autorisés.
Le DNS nous permet finalement d'obtenir les adresses des machines courantes, telles que www.x.com, ftp.x.com, mail.x.com ainsi que les adresses des serveurs de messagerie externes (entrées MX, mail-exchanger, des DNS).

Un dernier type de requête, dite HINFO (host info), donne des renseignements sur la machine cible, tels que : modèle, système d.exploitation. Les entrées HINFO des tables DNS, pour des raisons évidentes de confidentialité et de sécurité ne sont maintenant quasiment jamais renseignées.

Le DNS n'est cependant pas complet ; étant donné que chaque
machine, donc chaque adresse IP, est potentiellement une cible, il serait interressant d'etendre sa connaissance de quelques adresses IP à des blocs entiers d'adresses au moyen des bases d'adresses que sont le RIPE, l'ARIN et l'APNIC

Les bases sont séparées géographiquement en:
RIPE (Europe): http://www.ripe.net,
ARIN (Amérique du Nord/Sud/Centrale, Caraibes, Afrique sous saharienne): http://www.arin.net,
APNIC (Asie, Pacifique): http://www.apnic.net

Ces bases sont nécessaires au bon fonctionnement d.Internet car elles détaillent aussi bien les organismes propriétaires, personnels à contacter que les étendues et les routages associés aux netblocks, ces fameux pans d'adresses IP réservées sur Internet.
On pourra donc identifier les différentes adresses recueillies avec DNS grâce aux moteurs d'interrogation des bases d'IP. Cette identification permet de savoir à quel netblock appartient une adresse IP donnée, et donc l'organisation propriétaire de l'adresse. On élargit donc son champ d'attaque aux adresses non inscrites dans le DNS. Ou alors, confirmer le résultat de ses recherches en interrogeant les bases d'adresses avec comme critère de recherche le nom de la cible, des contacts techniques, etc.

III. Moteurs de recherche


L.interrogation des moteurs de recherche Web classiques, tels qu'Altavista, Google, Yahoo, peut révéler de nombreuses informations :
- noms d'employés, ayant par exemple postés dans des mailing-lists ou adresses IP d'employés accédant à distance au réseau interne (VPN)
- liens hypertextes à partir d'autres sites vers le site cible
- communiqués de presse, détaillant des partenariats, rapprochements...

D.autre part, des moteurs plus spécifiques révèlent en plus potentiellement des éléments techniques intéressants : l'analyse des en-têtes de messages envoyés sur Usenet permet de déterminer le serveur de News utilisé par l'organisation cible, les versions des logiciels clients utilisés. Ceci se complete de diverses tentatives de Bounce, le fait de générer volontairement des messages d?erreur en retour contenant eux aussi des informations techniques sur la cible.

IV. Outils réseaux de diagnostic


De nombreux outils de diagnostic réseaux permettent de recueillir des informations utiles pour la phase d'identification de la cible. Ainsi, le programme traceroute fournit-il la liste de tous les systèmes (routeurs) entre la source du traceroute et la machine destination. Ces données, à recouper avec celles issues des registres, permettent de recadrer l'attaque vers un prestataire vulnérable, afin par exemple de prendre le contrôle du tuyau utilisé par la cible. Traceroute et ses dérivés laissent cependant des traces dans les systèmes de détection d'intrusion (ils utilisent couramment des paquets UDP en incrémentant le numéro de port à chaque saut, la réponse est un paquet ICMP) , et les informations peuvent être obtenues par d'autres moyens publics. Leur utilisation dans cette phase est donc inutile et risque d'alerter prématurément les administrateurs de la victime.

V. Conclusion

De nombreuses techniques devront etre mises en euvre dans un plan d?action bien défini, apres une phase de recherche et de reflexion tres poussee.
La somme de travail que ceci implique suppose la mise en jeu de teams, voire dans certains cas de groupes de teams qui seules pourront appliquer les moyens necessaires en materiels et hommes. Dans cette premiere phase de collecte d'informations, le mot clef est la discretion, aucune methode active ne devra etre mise en euvre afin de ne pas eveiller les soupcons de la cible avant la deuxieme partie.
Ce sera les phase d'exploitation, qui fera l'objet dans un prochain sujet.

4N9e pour FutureZone, 2004