15/11/2024

Kali Linux : pratique & entrainement

Avant d’aller plus loin dans la découverte de Kali Linux, je vous conseille de fixer avant tout l’objectif de votre quête. En effet, comme on a pu le découvrir précédemment, Kali Linux couvre de nombreux sujets et il faut savoir ce pour quoi on l’utilise s’agit-il :

  • De reporting
  • Ou encore de découvrir et de modéliser une faille logicielle ou matérielle
  • Ou d’analyser un comportement quel qu’il soit
  • Ou tester les limites d’une architecture
  • Ou reproduire et analyser un protocole

L’autre point essentiel est de savoir sur quel domaine on doit commencer son étude :

  • Analyse d’un système
  • Analyse d’un matériel (disque, serveur, commutateur…)
  • Test de pénétration d’un système d’information
  • Analyse d’une tentative de pénétration via le web
  • Pénétration d’un réseau WiFi
  • Analyse d’un logiciel pour téléphone mobile

Une fois que l’on est fixé sur ces deux aspects de la question, on peut alors ouvrir une session sur Kali Linux et utiliser l’un des nombreux outils proposés par la distribution, dans le domaine souhaité. Comme il n’y a pas meilleur moyen de progresser que la pratique, je vous propose de découper cette partie en deux sections :

  • Une étude des principaux sites permettant de s’entrainer sur Kali Linux
  • Une liste (non exhaustive) des principaux sites proposant des programmes de bug bounty

En premier lieu, si Kali Linux est une formidable distribution pour pratiquer le hacking, sachez qu’il existe également d’autres outils et d’autres sites où le principal objectif est de s’entraîner aux tests de pénétration. Parmi les plus connus on peut citer :

  • hackthissite.org : ce site propose des "Challenges" divers permettant de progressivement valider ses compétences à analyser et trouver des failles potentielles.
  • owasp-hackademic-challenges : ce site permet de tester et améliorer vos connaissances sur la sécurité des applications web.
  • webgoat : ici, vous apprendrez à vous spécialiser sur le hacking d’application Web J2EE volontairement vulnérable vous permettant ainsi de vous entraîner.

ATTENTION : comme mentionné précédemment, vous n’êtes autorisés à vous entraîner au hacking que sur vos machines vos propres systèmes et non sur celles ne vous appartenant pas, sauf si vous en avez eu l’autorisation préalable.

Par ailleurs, nous le verrons dans la deuxième partie de ce chapitre, il existe beaucoup de sites ayant créé des programmes appelés bug bounty. L’objectif est de rémunérer ou récompenser les personnes trouvant des failles sur les sites mentionnés. On trouve ainsi les plus renommés : Facebook, Google, Avast, Adobe, Microsoft, Mozilla. Ils ont ainsi trouvé un moyen d’améliorer leur code à moindre frais.

I. Kali Practice

Lorsque l’on est suffisamment aguerri aux différentes techniques hacking il devient très facile de passer à des jeux plus sérieux et d’utiliser alors pour cela la distribution Kali Linux. De nombreux tutoriels ont déjà été édités concernant la fameuse distribution. On peut citer en particulier le site Kali-linux.fr concentrant pas mal de ces didacticiels que l’on visiter à l’adresse https://www.kali-linux.fr/tutoriels. Outre l’installation les points suivants y sont également abordés :

  • Utilisation de Metasploit
  • ARP poisonning
  • Sécurité des réseaux sans-fil
  • Audit de serveurs et d’applications
  • Sécurisation de système d’exploitation et de bases de données
  • Initiation au lockpicking

Rappelons rapidement les différentes catégories couvertes par Kali Linux permettant de se familiariser avec les outils de la distribution :

  • Reconnaissance (aussi appelée information gathering)
  • Analyse des vulnérabilités (appelée vulnerability analysis)
  • Attaque de réseaux sans-fil (ou wireless attacks)
  • Pénétration d’applications web (ou web applications)
  • Outils d’exploitation (exploitation tools)
  • Analyse criminelle (ou forensic tools)
  • Outils de stress (aussi appelés stress testing)
  • Analyse réseau et forge de trafic (aussi connus sous l’appellation sniffing & spoofing)
  • Attaque de mot de passe (ou password attacks)
  • Persistance de l’accès (appelé maintaining access)
  • Ingénierie inverse (aussi appelée reverse engineering)
  • Piratage matériel (ou hardware hacking)

Avant d’aller plus loin je tiens à dire qu’il n’existe aucun site couvrant tous ces sujets ensemble. C’est pourquoi au début de ce chapitre, j’ai mentionné le fait de savoir sur quel domaine on souhaite effectuer ces tests. Vous trouverez notamment de nombreux sites proposant l’analyse et le hacking des réseaux sans-fils, ainsi que d'autres sites proposant des documents PDF explicatifs sur les différentes techniques.

Enfin, pour réaliser de véritables tests grandeur nature vous pouvez vous inscrire sur le site Root-Me visitable à l’adresse www.root-me.org. Différents niveaux vous sont proposés :

  • Un accès visiteur ouvert à tous où il est possible de s’entraîner gratuitement.
  • Un accès contributeur où s’entraîner se fait sur des cas concrets.
  • Un accès premium où l’on bénéficie des derniers exercices imaginés par les contributeurs.

Dans ce dernier cas, les abonnements servent à financer les nouveaux challenges. Il en existe à l’heure de l’écriture de ces lignes 360 différents avec une centaine d’environnements virtuels. Par ailleurs, il existe aussi le site Newbie Contest où de nombreux challenges sont également proposés. Pour les mordus de challenges, il existe aussi le site Hack-The-Box.

II. Bug bounty

Comme je le disais en introduction de ce chapitre, certains sites ont mis au point un programme de récompense pour de véritables analyses et challenges réalisés par des hackers (au sens propre du terme), qui sont alors rémunérés en fonction de leur réussite à détecter des failles potentielles. Comme on dit aujourd'hui : c’est du gagnant-gagnant. En effet, la société mettant en place ce genre de programme y gagne en notoriété (de plus ses risques d’attaques ou d’intrusions sont réduites d’autant) et le hacker y trouve son compte également.

Étymologiquement parlant, le bug bounty est la récompense qu’une société offre à celles et ceux trouvant des failles de sécurité pour un périmètre bien déterminé. Ce périmètre peut donc être l’un des domaines couverts par Kali Linux :

  • Site web
  • Application
  • API
  • Réseau WiFi

Il revient donc à l’entreprise de déterminer le ou les services que les chasseurs de failles (ou fault hunter) vont devoir explorer à la recherche de défauts de fonctionnement pouvant mettre à mal la sécurité de ladite entreprise. Toutefois, il y a un certain nombre de règles à respecter et chaque "bug bounty" doit les énoncer clairement afin que les hackers ou les experts recrutés soient au courant des limites à ne pas franchir, exactement comme cela se déroule d’ailleurs, au sein d’un service de production. Concernant le montant de la récompense, c’est assez variable d’une entreprise à l’autre et cela dépend surtout du type de faille découverte. En effet, plus le défaut est critique, complexe (et surtout bien documenté à l’aide d’un POC – aussi appelé Proof Of Concept), plus la récompense peut être élevée. Elle le sera d’autant si le hacker propose des recommandations de contournement ou de patch.

REMARQUE : bien évidemment, si l’expert découvre un défaut déjà répertorié par d’autres, il ne percevra aucune récompense.

Le premier bug bounty à voir le jour a été celui de la firme Netscape qui a décidé de récompenser en 1995 les utilisateurs capables d’identifier et de sortir des bugs de sécurité présents dans le logiciel Netscape Navigator 2.0.

En 2004, c’est Mozilla (aidé par Mark SHUTTLEWORTH le père de Canonical) qui proposait une récompense de 500$ pour toute faille découverte dans Firefox. En 2010, c’est au tour de Google d’offrir une récompense pour la découverte de failles sur l’ensemble de sa gamme d’outils. Depuis 2011, le bug bounty est une pratique qui s’est notablement développée : Facebook, en partenariat avec Microsoft a lancé le programme "The Internet Bug Bounty". En fait, aujourd’hui, la majorité des entreprises du High-Tech proposent leur propre programme de bug bounty.

Maintenant, pour ceux qui sont vraiment accro à la sécurité qui ne vivent ou respirent que pour ça, en marge du site YesWeHack, qui propose des jobs dans la sécurité, il existe un agrégateur de bug bounty, appelé FireBounty. Sur ce dernier on peut alors entrer des mots clés en fonction de ce que l’on recherche et filtrer les résultats par type de récompenses : cela peut aller d’une somme d’argent, à des remerciements en passant par des cadeaux de toutes sortes.

Alors, me direz-vous nous nous éloignons de Kali Linux. Et bien pas tant que ça, car en fait après vous être entraînés sur différents challenges, rien ne vous empêche de vous colleter avec de véritables cas concrets concernant l’analyse et la détection de failles d’entreprises réelles et pourquoi pas être récompensés de vos efforts en adoptant un profil de "fault hunter" afin de toucher des "bug bounty". Dans ce cas, vous pourriez commencer par consulter le site Bugcrowd référençant les bug bounty et les dysfonctionnements de programme de sécurité au travers du web. Il existe également le site HackerOne proposant le même genre de références.

III. Certification Kali Linux

Enfin, pour véritablement reconnu en tant qu’expert, rien ne vous empêche de vous faire certifier Kali Linux. L’OSCP (Offensive Security Certification Pentesting) est une certification en sécurité offensive (également nommée pentesting), délivrée par l’organisme Offensive Security, acteur majeur de la scène de la sécurité informatique puisque œuvrant pour des projets phares comme :

  • La distribution Kali elle-même
  • The Exploit database
  • The Google hacking database

Cet organisme permet de valider ses propres compétences concernant les tests de pénétration avec Kali. Il s’agit d’une communauté de passionnés. Pour s’entraîner à la certification, on peut consulter le manuel OSCP, un guide de 375 pages, de vidéos et d’un lab pour s’exercer. A l’issue de ce dernier on peut alors planifier son examen dès que l’on se sent prêt. Le lab est lui-même composé de quatre réseaux :

  • Un réseau étudiant (student network)
  • Le premier, route sur un réseau dev et un réseau IT
  • En dernier on trouve un réseau d’administration

L’objectif consiste à énumérer les machines selon leurs services, le nom de domaine, les contrôleurs traversés, les applications web… On cherche bien sûr à obtenir un premier accès utilisateur pour ensuite effectuer une élévation de privilèges et devenir root, sans pour autant négliger l’aspect post-exploitation. L’examen se déroule sur 24 heures où l’on cherche à compromettre un maximum de machines. On dispose ensuite de 24 heures supplémentaires pour rédiger le rapport de compromission avec un maximum d’éléments récoltés durant l’examen. On peut facilement trouver bon nombre de sites proposant des trainings pour la préparation de l’examen OSCP.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail