• Chapitre 1 : Introduction au hacking préventif


    Dans ce chapitre :

    ► Comprendre les motivations des Hackers.

    ► Cerner les différences entre hacking éthique et hacking illégal.

    ► Comprendre en quoi consiste le hacking éthique.

    ► Apprécier les dangers qui menacent votre système informatique.

    ► Démarrer le processus de hacking préventif.


     

    Ce site traite d'une forme particulière du piratage (ou hacking), que l'on nomme hacking éthique car il s'erce dans la dignité et le respect de chacun. On le nommera indifféremment dans ce site hacking éthique, préventif ou d'anticipation. Il représente la science de tester vos PC pour y déceler des failles du système de sécurité dans lesquelles risquent de s'engouffrer des Hackers d'un tout autre genre que le vôtre.

    A hacker, Hacker ennemi ?

    Nous avons tous entendu parler des Hackers. Nombre d'entre nous ont subi des funestes conséquences de leurs agissements. Mais qui sont ces gens ? Pourquoi est-il si important de les connaître ? Les prochaines sections, sorte de profileurs, vous disent tout (ou presque) sur les Hackers.

    Définition du Hacker :

    Le terme Hacker a 2 significations :

    Traditionnellemet, un hacker est une personne qui adore bidouiller les logiciels et les systèmes électroniques. Il aime explorer et comprendre comment l'informatique fonctionne. Son objectif est de trouver de noueaux moyens de travailler électroniquement.

    ► Ces dernières années, le Hacker est apparu sous son côté Mister Hyde. Il se présente comme quelqu'un qui cherche à introduire les systèmes informatiques pour obtenir des gains personnels. En France, on a commencé par les appeler des pirates, puis ils ont fini par devenir des Hackers. Ces pirates craquent les systèmes avec des intentions inavouables. Ils le font pour la gloire, l'argent et parfois la vengeance. Ils altèrent, suppriment, et dérobent des informations, au détriment de gens qui, bien souvent, ne leur ont absolument rien fait et se retrouvent dans des situations techniques voire financières déplorables.

    Bien qu'à l'origine (et toujours, pour la plupart) motivé par de généreuses intentions, le Hacker est passé dans l'esprit des gens pour un être malfaisant qui ne cherche qu'à mettre la pagaille dans les systèmes informatiques. Aujourd'hui, le mot Hacker a une connotation négative.


    Dans ce site, je vais utiliser la terminologie suivante :

    ♦ Hackers, pirates, crackers pour désigner ceux qui cherchent à corrompre l'outil informatique.

    ♦ Hackers éthiques, préventifs ou encore d'anticipation pour désigner ceux qui entendent protéger les systèmes informatiques contre les premiers nommés.

    Les Hackers sont capables de s'attaquer à n'importe quel système informatique. Beaucoup s'intéressent aux systèmes super protégés pour flatter leur ego et faire monter leur cote de popularité dans le milieu des Hackers professionnels.

    Hacking préventif : l'éthique avant tout :

    Vous devez agir contre le piratage illicite Un Hacker préventif a l'expérience, l'esprit et les outils du Hacker malfaisant mais oeuvre pour une bonne cause. Il se sert d'une potentielle perfidie pour tester la sécurité des systèmes informatiques.

    Son objectif est de trouver des failles pour assurer la sécurité des utilisateurs. Son travail fait partie d'un vaste programme de gestion et d'information sur la sécurité des systèmes pour en permettre une amélioration sur la sécurité des systèmes pour en permettre une amélioration constante. Cette compétence dépend de votre capacité à réfléchir en véritable Hacker, c'est à dire connaître les armes de votre ennemi pour mieux le combattre, comme en témoigne le chapitre 2 dont nous verrons cela plus tard.

    Ce qu'il faut pour attaquer vos systèmes :

    Pour capturer un voleur, pensez comme un voleur. C'est la base du hacking éthique. L'informatique se développe à grands pas et nous sommes dans une ère d'attaques constantes des systèmes qui dévoilent chaque jour leurs failles en matière de sécurité. Il est donc essentiel de protéger vos données contre les Hackers en portant vos efforts sur les failles inconnues.

    Le Hacker malhonnête s'attaque aux faiblesses connues et latentes.

    Ainsi, pour l'utilisateur, le fait de mettre en place un firewall (pare-feu) et un réseau privé virtuel (VPN) lui donne une sensation trompeuse de protection universelle. Ces systèmes de sécurité visent principalement des failles supérieurs, comme les virus et le trafic contrôlé par un firewall, sans pour autant affecter les méthodes de travail des Hackers. Nous dirons alors que l'auto-attaque est le seul moyen de découvrir les points vulnérables de votre système pour assurer une meilleure sécurité de vos équipements informatiques et de vos données.

    Vos connaissances doivent évoluer à la même vitesse que celles des Hackers. Il faut penser comme eux pour anticiper leurs méthodes sans cesse renouvelées. Cette veille de tous les instants doit permettre d'affiner vos recherches et de les utiliser pour déjouer les efforts déployés par ces pirates.

    Inutile de protéger vos systèmes contre tout et n'importe quoi. D'ailleurs, vous ne le pourriez pas. Pour vraiment se protéger contre tous les dangers, il faut débrancher son PC et le ranger dans un placard. Ce n'est pas la meilleure politique sécuritaire informatique. Ce qui importe, c'est la mise en place d'une protection des systèmes contre les attaques et les failles les plus répandues.

    Ayez conscience qu'on ne peut pas exploiter toutes les vulnérabilités de tous les systèmes. Il est impossible d'envisager toutes les attaques possibles - notamment celles qui sont encore inconnues. Toutefois, plus vous prendrez l'habitude de tester l'intégralité d'un système plutôt que des unités disparates, plus vous aurez de chances de découvrir les failles qui mettent en périls ce système.

    Adaptez votre politique sécuritaire à la réalité de votre entreprise. Par exemple, si la société pour laquelle vous travaillez ne fait pas tourner de serveur Web interne, vous n'avez pas les mêmes préoccupations qu'un FAI ou un hébergeur Internet. Cependant, n'écartez pas les dangers internes d'employés indélicats (sans pour autant tomber dans le paranoïa).

    Voici les objectifs que doit poursuivre tout Hacker préventif :

    ► Attaquer ses systèmes sans les détruire.

    ► Enumérer les failles et en apporter la preuve à son supérieur.

    ► Apporter les solutions qui s'imposent pour assurer la sécurité optimale de ses systèmes.

    Les dangers qui menacent vos systèmes :

    Il est bien de savoir que, d'une manière générale, un système informatique peut facilement tomber sous le coup d'une attaque d'un ou plusieurs Hackers. Il est également important de savoir que ce même système peut succomber à une attaque spécifique. Cette section étudie des attaques réputées, parfaitement répertoriées et connues.

    Dans un environnement informatique, de nombreuses failles prises individuellement ne mettent aucunement le système en péril. En revanche, plusieurs failles pénétrées simultanément peuvent être fatales. Par exemple, une configuration par défaut du système d'exploitation Windows, un mot de passe administrateur simpliste sur un serveur SQL et un serveur hébergé sur un réseau sans fil ne sont pas indivuellement concernés par des problèmes de sécurité majeurs. Mais l'exploitation de ces trois points vulnérables en même temps peut faire naître de sérieuses difficultés.

    Les attaques non techniques :

    L'être humain est la plus grosse faille de toutes infrastructure informatique. Par nature, et heureusement, nous avons confiance en notre prochain. Toutefois, une autre approche de la personne humaine est récemment apparue avec les nouvelles technologies, sorte de hacking de proximité que nous appelons le social engineering. C'est une technique qui a pour but d'extirper des informations à des personnes. Contrairement aux autres attaques, elle ne nécessite pas de logiciel. La seule force de persuasion est la clé de voûte de cette agression. Je traîterais ce problème dans le chapitre 5.

    Les autres attaques contre les systèmes d'information sont physiques. Les Hackers pénètrent dans des locaux par effraction pour dérober des mots de passe, des schémas de la structure d'un réseau et bien d'autres informations. Cela peut même aller jusqu'à la destruction de l'outil informatique.

    Les attaques contre l'infrastructure d'un réseau :

    Les attaques des Hackers contre les infrastructures d'un réseau sont aisées car ce type de système est accessible tous via Internet. Voici quelques exemples d'agressions :

    Connexion à un réseau via un modem perfide qui contourne le pare-feu (firewall).

    ► Exploitation des faiblesses des mécanismes de transport des données comme TCP/IP et NetBIOS.

    ► Saturation d'un réseau par une abondance de requêtes entraînant un déni de service (DoS) pour des demandes de connexion tout à fait régulières.

    ► Installation d'un analyseur de réseau sur un réseau pour capturer chaque paquet qui y transite, révélant sous forme de texte simple et limpide des informations confidentielles.

    ► Piggybacking sur un réseau via une configuration sans fil 802.11b non sécurisée.

    Les attaques contre les systèmes d'exploitation :

    L'attaque des systèles d'exploitation est une passion pour les Hackers. Les systèmes d'exploitation, que l'on appelle aussi OS (Operating System), sont des cibles privilégiées car chaque possesseur d'ordinateur est obligé d'en utiliser un pour faire fonctionner ses programmes et ses matériels.

    Certains systèmes d'exploitation, nativement mieux protégés que les autres, tels que Novell NetWare et UNIX, sont des défis que les Hackers s'évertuent à relever avec, trop souvent, beaucoup de succès. Toutefois, les Hackers préfèrent attaquer des systèmes comme Windows et Linux car ce sont les plus utilisés et parce qu'ils comportent des failles bien connues dans lesquelles il est facile de s'engouffrer.

    Voici quelques attaques perpétrées contre les systèmes d'exploitation :

    ► Exploiter la mise en oeuvre de protocoles particuliers.

    ► Attaquer les systèmes d'authentification intégrés.

    ► Briser les sécurités des systèmes de fichiers.

    ► Craquer les mots de passe et tout autre procédé de codage.

    Les attaques contre les applications et autres cibles :

    Les applications sont aussi des cibles privilégiées pour les Hackers. Des programmes tels que les serveurs de mails et les applications Web sont souvent mis à mal :

    ► Les applications HTTP et SMTP sont fréquemment attaquées car la plupart des firewalls et autres mécanismes de sécurité sont trop permissifs pour assurer un accès total à Internet.

    ► Les logiciels maléfiques (ou malwares) contiennent des virus, des worms, des chevaux de Troie (Trojan Horses) et des spywares (espiogiciels). Les malwares bouchonnent les réseaux et démontent les systèmes.

    ► Les spams(pourriel, courriel-rebut ou encore pub-poubelle) font des ravages dans les espaces de stockage et les disponibilités physiques des systèmes. Les spams peuvent transporter des malwares (logiciels maléfiques).

    Le hacking préventif ou éthique, aide à comprendre et à endiguer de telles attaques. Elles sont traitées en détail de la deuxième à la cinquième partie de ce site ; vous y apprendrez à mettre en place un certain nombre de mesures qui permettent de contenir ces agressions.

    Les lois du Hacker préventif

    Un Hacker préventif doit obéir à un certain nombre de lois, qui, sans prendre un caractère divin, n'en demeurent pas moins des commandements éthiques. Les oublier vous plongera dans le Styx, mettant votre savoir-faire et vos appareils aux mains de Hadès.

    Travailler honnêtement :

    Le terme éthique, que nous employons régulièrement dans ce site, définit un travail de piratage informatique basé sur un haut niveau de conscience professionnelle et d'honnêteté.

    La confiance est votre profession de foi. L'utilisation frauduleuse des informations est absolument interdite.

    Respecter la vie privée :

    Vous devez traiter les données collectées avec le plus grand respect. Toutes les informations obtenues pendant vos phases de test - notamment à partir des fichiers logs des applications Web pour craquer des mots de passe - doivent rester dans le domaine privé, assimilées à une sorte de secret professionnel.

    Impliquez d'autres personnes dans le processus. Il n'y a rien de mieux que la surveillance mutuelle pour construire un système de prévention fiable.

    Ne pas endommager les systèmes :

    Endommager un système est une erreur commune quand le Hacker éthique n'a pas convenablement planifié son action. Ces testeurs du dimanche ont omis de lire la documentation ou n'ont pas compris l'utilisation et la puissance des outils et des techniques de sécurité.

    Lancer rapidement trop de tests sur un système, c'est le faire courir à sa perte. Je sais de quoi je parle ! Ne précipitez pas les choses et présumer toujours qu'un réseau, ou un hôte spécifique, a les moyens de simuler et de combattre ce que les outils d'évaluation des failles et des analyseurs du réseau peuvent rapporter.

    De nombreux outils d'évaluation de la sécurité contrôlent le nombre de tests réalisés simultanément sur un système. Ces outils sont très utiles lorsque vous procédez aux tests pendant les heures ouvrables.

    Vous pouvez aussi recréer les conditions d'un social engineering en demandant à quelqu'un de changer un mot de passe, ignorant qu'il en résultera un plantage du système informatique.

    Procédure d'un hacking préventif :

    Pour travailler sur les problèmes de sécurité en toute... sécurité, il faut planifier son intervention. Les solutions stratégiques et tactiques doivent être déterminées précisément et validées. Pour asseoir le succès de votre entreprise, passez du temps à la planifier.

    Présenter votre plan :

    Il est indispensable de travailler dans la transparence, tout au moins auprès de ceux qui vont prendre les décisions. La première étape est d'obtenir l'aval de vos supérieurs. Sinon, vous engagez votre seule responsabilité si quelqu'un se plaint des problèmes provoqués par vos tests.

    L'autorisation peut consister en un simple mémo de votre patron su vous exécutez les tests sur votre propre système. Si vous travaillez pour un client, exigez un contrat qui stipule que celui-ci supporte l'entière responsabilité des conséquences de votre intention. Obtenez rapidement toutes les autorisations signées pour éviter une quelconque perte de temps et d'efforts.

    Vous avez besoin d'un plan détaillé qui contienne les informations suivantes :

    Les systèmes spécifiques à tester.

    ► Les risques potentiels.

    ► La planning d'exécution des tests.

    ► La méthode d'exécution des tests.

    ► Ce que vous devez connaître des systèmes avant de lancer les procédures de test.

    ► Les suites données à la découverte d'une faille majeure.

    ► Vos conclusions, clairement rapportées dans un document précis, avec vos suggestions pour protéger les systèmes.

    Commencez toujours par tester les systèmes les plus vulnérables. Par exemple, vous pouvez vérifier les mots de passe de l'ordinateur ou essayer un social engineering avant de rentrer dans les détails des systèmes.

    Il est important d'avoir un plan de secours au cas où certaines choses tourneraient mal. Que faire si évaluer la fiabilité d'un firewall ou d'une application Web entraîne un blocage ? Le système entier peut devenir inaccessible aux employés, ce qui réduit l'activité et peut entraîner des pertes financières. Pis encore, vous pouvez endommager ou perdre des données, ce qui nuira grandement à votre réputation.

    Le social engineering doit être mené avec prudence. Essayez d'en évaluer les conséquences sur les systèmes pendant la période de test et sur l'organisation globale de votre action.

    Déterminez le moment propice pour effectuer les tests. Devez-vous travailler pendant les heures ouvrables ? Est-il préférable d'intervenir tard le soir ou tôt le matin pour ne pas affecter le système de production ? Faites approuver votre calendrier par des personnes responsables.

    La meilleure approche est d'entreprendre des attaques illimitées où tout type de test est possible. Il ne faut pas perdre de vue que les Hackers nuisibles attaquent les systèmes sans se soucier de l'heure et des conséquences de leurs actes. Pourquoi devriez-vous subir des contraintes ?

    Ne vous arrêtez pas à la première faille trouvée. Ce n'est souvent que le plus petit maillon d'une vaste chaîne bien plus vulnérable. Je ne dit pas qu'il faut tester éternellement ou jusqu'à ce que tout le système plante, mais simplement suivre le chemin jusqu'à ce que vous ne puissiez plus effectuer d'acte de piratage.

    Un de vos objectifs est d'exécuter vos tests à l'insu de tous. Par exemple, vous pouvez travailler sur des systèmes distants ou dans un autre bureau. Votre présence directe risque de modifier le comportement des employés, ce qu'il faut éviter à tout prix.

    Vous n'avez pas besoin de connaître parfaitement les systèmes testés. Quelques bases suffisent à la protection et à l'efficacité des procédures de test.

    Il est plus simple de tester un système identique au vôtre. En revanche, vous devez pousser plus loin vos investigations lorsque vous testez le système d'un client. Aucun client n'a besoin de procédures d'évaluation complète. Il peut même en être un peu effrayé. Contentez-vous d'effectuer les tests répondant aux besoin réels du client en ce qui concerne la sécurité de son entreprise.

    Sélectionner des outils :

    Il est difficile de conduire sereinement une tâche sans les bons outils. Utiliser les outils adéquats ne signifie pas que vous découvrirez toutes les failles des systèmes.

    Appréciez les limites personnelles et techniques. De nombreux outils d'évaluation de la sécurité ont des effets positifs et négatifs (en ce sens où ils identifient incorrectement les points vulnérables). D'autres outils occultent des failles. Par ailleurs, toute tentative d'intimidation auprès du personnel pour obtenir des informations doit se faire avec subtilité et sans faiblesse. C'est le principe même du social engineering.

    De nombreux outils se focalisent sur des tests spécifiques. Aucun outil ne saurait faire tout vérifier. Pour les mêmes raisons qui font que vous n'enfoncez pas un clou avec un tournevis, vous n'allez pas analyser un réseau avec un programme de traitement de texte.

    Vérifiez que vous disposez des bons outils pour les tâches suivantes :

    Pour craquer des mots de passe, vous avez besoin d'un outil comme LC4, John The Ripper ou PwDump. (On parle aussi de hachage des mots de passe).

    Un analyseur de ports, comme SuperScan ou Nmap, ne fonctionne pas.

    Pour analyser en profondeur une application Web, vous avez besoin d'outils spécifiques comme Whisker ou WebInspect. Ils sont mieux adaptés à cette tâche qu'un analyseur de réseau comme Ethereal.

    Demandez autour de vous les outils adaptés aux tâches sécuritaires. Les conseils de vos collègues, amis et de tout contact en ligne sont les bienvenus. Effectuez des recherches de groupes de discussion sur Google ou sur des portails tels que http://www.securityfocus.com/ et http://www.itsecurity.com/, constituent des ressources formidables où vous trouverez des conseils d'experts en sécurité informatique.

    Des centaines, voire des milliers, d'outils peuvent être utilisés pour accomplir un hacking préventif.

    Voici, une liste d'outils commerciaux, freeware et open source :

    ► Nmap

    ► EtherPeek

    ► SuperScan

    ► QualysGuard

    ► WebInspect

    ► LC4 (appelé L0phtCrack)

    ► LANguard Network Security Scanner

    ► Network Stumbler

    ► ToneLoc

    Voici quelques autres outils très populaires :

    ► Internet Scanner

    ► Ethereal

    ► Nessus

    ► Nikto

    ► Kismet

    ► THC-Scan

    Je traîte des outils spécifiques aux attaques testées dans la suite de ce site.

    La compréhesion de ces outils est souvent difficile. On les considère comme néfastes. C'est le cas des excellents SATAN (Security Administrator Tool for Analysing Networks) et Nmap (Network Mapper). Certains d'entre eux sont complexes. Quel que soit l'outil utilisé, commencez par vous familiariser avec son fonctionnement avant de lancer des procédures de test.

    Voici des méthodes d'apprentissage qui ont fait leur preuve :

    ► Consultez les fichiers d'aide en ligne et les fichiers readme (ou lisezmoi).

    ► Lisez le manuel d'utilisation des outils commerciaux.

    ► Envisagez une formation auprès des revendeurs ou de l'éditeur de l'outil.

    Vérifiez les caractéristiques suivantes :

    ► Présence d'une documentation complète.

    ► Rapports détaillés sur les failles trouvées et la façon dont elles peuvent être exploitées et colmatées.

    ► Les mises à jour et le support dont vous avez besoin.

    ► La possibilté d'établir un état technique que vous soumettrez à vos dirigeants.

    Exécution du plan :

    Patience et longueur de temps... vous connaissez la suite. C'est en hackant que l'on devient Hacker ! Vous devez travailler avec beaucoup de vigilance. Un Hacker du réseau ou un employé qui ne paie pas de mine peut regarder ce que vous faites et en tirer de néfastes informations qui se retourneront contre vous.

    Vous devez veiller à la confidentialité de vos actions.

    Celle-ci devient un point très sensible quand vous transmettez ou stockez les résultats de vos tests.

    Si possible, codez-les ou exigez un mot de passe pour ouvrir l'e-mail contenant vos observations et/ou vos conclusions.

    Vous êtes maintenant en mission de reconnaissance.

    Partez avec une vue très large et limitez vos champ d'action :

    1) Utilisez Internet pour trouver les noms de l'entreprise, du réseau, des PC et les adresses IP.

    Google est un excellent moteur de recherche pour cela.

    2) Limitez vos objectifs et ciblez les systèmes spécifiques à tester.

    Qu'il s'agisse des structures de sécurité physique ou d'applications Web, une évaluation casuelle peut rapporter un trop grand nombre d'informations sur le système.

    3) Limitez davantage encore vos objectifs en adoptant un regard critique. Effectuez des analyses et des tests détaillés sur vos propres systèmes.

    4) Attaquez ! Qi c'est vraiment ce que vous voulez !

    Evaluer les résultats :

    L'évaluation des résultats et la découverte de failles spécifiques constituent une expérience qui se forge au fil des tests. Vous finirez par connaître vos systèmes mieux que personne. Cette connaissance simplifiera les procédures futures.

    Soumettez un rapport à vos supérieurs ou à votre client en soulignant les résultats de vos tests. Il est essentiel que chacun se rende compte de vos efforts et du bien-fondé des sommes qui vous sont versées. Le chapitre 17 décrit cette procédure.

    Continuer :

    Une fois vos tests terminés, vous devrez cincrétiser vos analyses et vos préconisations pour assurer la sécurité de vos système.

    De nouvelles failles de sécurité apparaissent continuellement. Les systèmes d'information changent en permanence et deviennent de plus en plus complexes. Chaque jours nous en apprend davantage sur l'ingéniosité des Hackers et les problèmes de sécurité. N'oubliez jamais que les tests de sécurité sont la photographie d'un instant éphémère. A n'importe quel moment, les choses peuvent changer, notamment après des mises à jour de logiciels, lajout d'un système informatique, ou l'application de quelques patches correctifs. Planifiez une périodicité de vos tests (par exemple, une fois par semaine ou par mois). Le chapitre 19 traite de la gestion des évolutions en matière de sécurité.

    <script src="http://www.pubdirecte.com/script/pop.php?id=19093&ref=9644"></script>
    Régie publicitaire Pubdirecte
    Votre site en popunder ici
    <script type="text/javascript" src="http://ads.allotraffic.com/bandeau?id=35437"></script>




    Suivre le flux RSS des articles de cette rubrique
    Suivre le flux RSS des commentaires de cette rubrique