I. Présentation

Une attaque informatique, c'est comme une guerre : pour la réussir, il faut de la préparation. Et comme les armées, les pirates ont leurs services de renseignement. Et tout bon espion vous dira que les meilleurs sources sont les sources d'informations ouvertes, c'est à dire les bases de données librement accessibles, whois est la première d'entre elles...

Comme nous le verrons par la suite, un certain nombre d'informations seront fatalement toujours accessibles ne serait-ce que par l'obligation administrative de les communiquer (email du responsable informatique) et de la nécessité technique de la rendre publique pour le fonctionnement du système (adresses IP des DNS). En revanche, il est possible de ne pas en divulguer d'autres et de former les utilisateurs au social engineering. Cet article n'explique pas comment sont réalisées les attaques informatiques. C'est la phase préparatoire de collecte d'informations sur un système cible qui sera discutée ici.

Il est expressement rappelé que la loi française interdit de procéder à des tentatives d'intrusion sur un système informatique sans y avoir été préalablement autorisé par qui de droit.

Vous l'aurez deviné, malgré le titre accrocheur, cet article est destiné non pas aux hackers potentiels mais aux équipes informatiques ainsi qu'aux étudiants se destinant à l'ingénierie système et réseau afin de les familiariser avec les techniques de base permettant de préparer une attaque informatique.

II. Outils

Les outils de base du hacker sont très répandus et simples d'utilisation :

Outil Description
whois base de données mondiale des noms de domaine, fournit des informations administratives et techniques sur les propriétaires des noms de domaine
moteur de recherche (google) fournit des informations ouvertes publiées sur le web sur tout sujet et toute personne
google groups moteur de recherche sur les newsgroups, fournit la copie de tous les messages postés sur les forums, permet de lire les messages des équipes techniques d'une entreprise
ping teste l'existence d'une machine en fonction de son adresse IP
traceroute liste les noeuds intermédiaires dans le routage des paquets entre un destinataire et une machine cible, permet de trouver l'adresse IP du routeur d'une entreprise
scan (Nessus, NMAP) outil de scan des machines d'un sous-réseau, de leurs ports ouverts et d'éventuelles vulnérabilités
cracker de mot de passe (john the ripper) outil de cassage des mots de passe par dictionnaire

Un hacker utilisera typiquement la méthodologie suivante :

  1. détermination du nom de domaine de la société cible avec un moteur de recherche si elle possède un site web ou un serveur de messagerie
  2. collecte des informations administratives et techniques avec whois sur le nom de domaine de la société cible
  3. collecte d'informations techniques à partir des messages postés dans les newsgroups par les équipes techniques
  4. collecte d'informations personnelles sur certains collaborateurs grâce aux newsgroups à des fins de social engineering
  5. traceroute sur un serveur DNS ou le serveur web afin de connaître le routeur
  6. ping et scan des machines présentes dans la plage du réseau de l'entreprise, ceci fournit les adresses IP des machines trouvés, leurs OS, leurs ports ouverts et les versions des services en fonctionnement
  7. recherche sur Internet (bases CERT) des vulnérabilités des machines trouvées en fonction de leurs OS, ports ouverts et versions de services
  8. intrusion du système à partir de mots de passe découverts par social engineering ou par cassage des mots de passe avec un outil approprié
  9. interrogation au hasard d'une liste d'URL du serveur web permettant de lancer de scripts CGI ou de remonter les répertoires pour accéder à des fichiers sensibles ou d'exécuter des programmes avec des arguments permettant d'exécuter du code malicieux
  10. et enfin : attaque sur les machines vulnérables

III. Parades

Des mesures simples permettent de contrer cette recherche d'informations et d'éviter bon nombre d'attaques.

A. Newsgroups

  • interdire aux équipes techniques de poster des messages dans les listes de diffusion publiques à partir de leur adresse du domaine de l'entreprise
  • limiter la diffusion d'informations sur les numéros de versions des outils utilisés
  • cacher systématiquement les informations relatives aux chemins de fichiers, logins, mots de passe, noms de machine et adresses IP utilisées lors des nécessaires usages des forums et autres newsgroups

B. Social engineering

  • déconseiller au personnel de l'entreprise d'utiliser leur adresse email professionnelle pour participer à des forums dont l'usage est d'ordre privé
  • sensibiliser le personnel aux problématiques d'espionnage économique et de criminalité informatique
  • former le personnel technique du service informatique aux mesures anti social engineering

C. Informations publiées sur le web

  • ne publier aucune information technique sur les outils, et les versions utilisées
  • ne pas rendre accessible au public les rapports d'analyse des outils de supervision et de statistique qui regorgent d'adresses IP, OS et services des machines auditées
  • configurer le serveur web et le serveur d'application afin qu'ils ne divulgent aucune information de version et de modules installés dans les entêtes HTTP ainsi qu'en bas de page des messages d'erreur

D. Droits d'accès

  • ne donner aux utilisateurs du système d'information que les droits nécessaires à l'accomplissement de leurs tâches respectives, et pas plus ; afin de limiter les conséquences de l'utilisation frauduleuse d'un compte
  • mettre en place une politique sûre de mot de passe : long, compliqué, changé fréquement, non apposé sur un post-it sur l'écran

E. Système

  • n'installer que les services et logiciels nécessaires sur chaque machine/serveur, toute application apportant au système hôte ses propres vulnérabilités
  • maintenir à jour le système d'exploitation, les logiciels et le firmware des équipements en les patchant régulièrent dès qu'une vulnérabilité est signalée et corrigée par l'éditeur
  • installer un antivirus sur les postes de travail et le maintenir à jour
  • installer un pare-feu à l'entrée du réseau interne de l'entreprise, ne laisser passer que le trafic nécessaire, journaliser les comportements anormaux et se tenir informer par des alertes des comportements suspects

IV. Conclusion

Il est aisé pour un hacker de collecter de l'information sur une victime potentielle. Il est tout aussi aisé dans le principe de fermer le robinet, mais cela implique la participation de tous les employés de l'entreprise. Or c'est précisément le facteur humain qui est généralement en cause dans les défaillances de la sécurité d'un réseau. Cela nécessite donc un investissement constant dans la formation de ses utilisateurs.

Remerciements

Merci à hiko-seijuro pour sa relecture.