Comment mettre le hacking et la programmation en pratique
Dans l’article d’aujourd’hui, je vous propose de mettre le hacking en pratique. L’idée étant de nous entraîner sans risques et bien sûr légalement.
Cette question m’est venue d’une personne qui avait déjà lu pas mal d’articles mais qui ne savait pas vraiment par où commencer concrètement.
Évidemment, je précise systématiquement, mais l’on parle bien ici de hacking éthique (savoir comment corriger des vulnérabilités) et non pas pratiquer sur le compte FB de son ex.
Cela vous servira si vous avez déjà assimilé des connaissances que vous voulez mettre en pratique, ou si vous souhaitez simplement commencer et pratiquer en même temps.
Table des matières
Mettre la programmation en pratique
Pour commencer à programmer il est très préférable d’utiliser ce que l’on appelle un environnement de développement intégré. Il s’agit d’un logiciel qui vous aide à programmer.
Par exemple il permet de :
- Vous aider/corriger concernant la syntaxe
- Vous assister dans les méthodes de développement
- Compiler le code source sans démarches supplémentaires
- etc…
Il existe des environnements de développement intégrés plus spécialisés dans tels ou tels langages, mais généralement ils permettent de programmer dans plusieurs langages différents.
Si vous ne savez toujours pas par où commencer en programmation, je vous invite à lire l’article suivant avant de continuer :
https://www.leblogduhacker.fr/5-etapes-pour-debuter-en-programmation/
Vous saurez ensuite par quel langage vous devrez commencer et pourrez choisir l’environnement de développement intégré (que j’abrégerai « EDI ») correspondant.
Voici des exemples d’EDI :
- Visual Studio pour les langages .NET (VB, C#, VC++,…)
- Code::Blocks pour les langages C, C++,…
- Eclipse pour les langages Java, HTML, PHP, C,…
- Geany pour les langages C, Java, Python,…
L’idéal est de vous rendre sur les sites officiels pour observer si l’EDI prend en compte le langage que vous souhaitez étudier. Vous pouvez également en tester plusieurs pour voir celui qui convient le mieux pour vous.
Voici par exemple l’interface de Visual Studio :
Avant de commencer à programmer, il vous faudra bien entendu acquérir les bases du langage que vous avez choisi.
Bien que cela puisse aussi se faire par la pratique, je vous conseille de prendre un livre ou un tutoriel en ligne et d’apprendre.
C’est là qu’on me demande souvent quel livre choisir ou quel site visiter, je vous renvoie ici pour les sites :
https://www.leblogduhacker.fr/les-meilleurs-sites-pour-apprendre-la-programmation/
Pour les livres, il y a trop de choix différents. Je vous conseille de regarder ceux qui ont les meilleurs avis sur Amazon par exemple.
J’avais commencé à l’époque avec les livres suivants sur le langage Visual Basic .NET :
- Visual Basic 2010 Étape par étape : Parfait pour un débutant complet, à la fin on a tellement envie de programmer et de continuer. Il doit y exister des versions plus récentes actuellement.
- Professional Visual Basic 2010 : Parfait pour maîtriser à fond VB.NET
- Principes et pratiques avec C++ : De l’auteur même du langage C++, j’avais beaucoup aimé également.
- Sécurité PHP5 & MySQL : Beaucoup d’exemples dont je me sers tous les jours.
Une fois que vous commencez à comprendre les concepts du langage, l’idéal est de prendre un code source qui vous intéresse sur le net, de le télécharger/copier, de le comprendre et de le modifier.
Vous en trouverez beaucoup sur le site CodeProject.
Plus d’informations sur la programmation :
https://www.leblogduhacker.fr/10-astuces-pour-devenir-meilleur-en-programmation/
C’est bon ? Vous avez un EDI et un livre sous la main ? vous n’avez plus qu’à appliquer ce qui est dit pour pratiquer.
Mettre un site web (et un serveur) en pratique
Si vous souhaitez créer un site de test pour vous entraîner à programmer, à le pirater ou à le sécuriser, il faut savoir que vous n’avez en fait pas besoin de payer quoi que ce soit.
Vous pouvez héberger un site web sur votre propre ordinateur, que vous ayez Windows, Mac ou Linux.
Pour cela je vous renvoie vers les sites suivants :
- WAMP (Windows Apache MySQL PHP) pour Windows
- MAMP (Mac Apache MySQL PHP) pour Mac
- LAMP (Linux Apache MySQL PHP) pour Linux
Pour les installer et les configurer, vous trouverez beaucoup de tutoriels sur le net, en voici certains :
- http://www.infowebmaster.fr/tutoriel/debuter-wamp
- http://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/preparer-son-ordinateur-2
- http://www.apprendre-php.com/tutoriels/tutoriel-24-installation-et-prise-en-main-de-mamp.html
PS: Ne créez pas de sites gratuits du type votrepseudo.wordpress.com…vous n’aurez presque aucune flexibilité. En plus de ne pas détenir le système sous-jacent et de vous mettre des risques juridiques sur le dos, potentiellement.
Bien entendu, rien ne vous empêche de payer un petit serveur dédié pour avoir de quoi faire des manipulations sur un serveur également.
Pour les offres de serveurs, je ne sais trop quoi vous recommander… Essayez de vous faire votre propre idée entre Online.net, OVH, 1and1 entre autres…
Cela dit, la gestion d’un serveur demande des connaissances plus approfondies et n’est donc pas conseillée pour un débutant complet.
Mais si vous voulez tenter votre chance, là encore vous trouverez facilement des tutoriels vous montrant comment installer un serveur dédié.
En voici un que j’avais utilisé même si il commence à se faire vieux :
http://www.tutoriels-video.fr/installation-et-configuration-dun-serveur-dedie-debia/
N’hésitez pas à chercher encore et encore sur le net, prenez vous un tutoriel qui semble intéressant et mettez-le en pratique. Après tout, pour mettre en pratique, il faut passer à l’action. Il faut implémenter ce qui vous est dit, et essayer même si vous n’êtes pas sûr(e) que ça va fonctionner. Et rassurez vous ça finit toujours par fonctionner 😉
« Comment mettre le hacking et la programmation en pratique »Cliquez pour tweeterPartager sur FacebookPartager sur LinkedInPour ce qui est de la sécurité du site web, vous pouvez jeter un œil aux failles web populaires et les sécuriser vous mêmes si elles se présentent dans vos sites :
Vous pouvez également jeter un œil à la partie Mise En Situation du site pour bien comprendre le fonctionnement des failles et comment les sécuriser.
Et enfin, je peux également vous suggérer l’article suivant :
https://www.leblogduhacker.fr/creer-un-site-web-securise/
Mettre une machine virtuelle de test en pratique
En hacking, on se doit de comprendre un peu les failles systèmes et autres programmes malveillants.
Étant donné qu’on doit les manipuler, et pour ne rien casser, on met habituellement en place un « laboratoire de test ».
Ici votre petit laboratoire de test personnel peut être tout simplement une machine virtuelle.
Pour se faire, vous pouvez télécharger le fameux VirtualBox. J’en parle à la fin de l’article suivant si vous voulez des détails pour l’installer :
https://www.leblogduhacker.fr/se-familiariser-avec-linux/
Vous apprendrez par la même occasion à vous familiariser avec Linux.
Une fois VirtualBox installé, on peut s’amuser à lancer plusieurs systèmes de façon sécurisée et ainsi tester ou étudier diverses méthodes, notamment comment bien se protéger contre telle ou telle attaque.
À ce propos, il existe des systèmes spécialement vulnérables et conçus pour vous. Voici par exemple Metasploitable :
http://sourceforge.net/projects/metasploitable/
Cela demande des connaissances plus avancées notamment autour de MetaSploit, plutôt utilisé dans le monde professionnel.
Dans le même genre il y a LAMP Security Training :
http://sourceforge.net/projects/lampsecurity/
N’oublions pas Kali Linux (anciennement BackTrack) qui intègre beaucoup d’outils de pentesting et de sécurité en plus d’être une distribution Linux classique :
Je vous montre en vidéo comment l’utiliser avec WSL au lieu de Virtualbox si besoin :
https://www.youtube.com/watch?v=zRaUnclAb8c
Autres sites et outils pour s’entraîner
Dans cette partie, je vais citer d’autres sites ou applications qui vous permettront de mettre en pratique le hacking :
- https://www.hackthissite.org/ : Challenges divers sur le hacking.
- https://code.google.com/p/owasp-hackademic-challenges/ : Tester et améliorer vos connaissances sur la sécurité des applications web.
- https://code.google.com/p/webgoat/ : Application Web J2EE volontairement vulnérable pour vous entraîner.
- http://sourceforge.net/projects/hackxor/ : Un jeu dans lequel vous devez trouver et exploiter des vulnérabilités (XSS, CSRF, SQLi…) pour avancer.
- Et la liste continue : Tryhackme, Hackthebox… les CTF…
Peut-on pratiquer « sur de vrais sites ou systèmes » ?
Je rappelle que tous les conseils donnés ici concernent l’installation et la pratique sur vos propres systèmes en vue de les sécuriser.
Vous n’avez pas le droit de vous entraîner sur des machines qui ne vous appartiennent pas. SAUF à condition que vous ayez bien eu l’autorisation (écrite) avant.
À ce propos, il y a beaucoup de sites qui ont crée des programmes appelés Bug Bounty, il s’agit de rémunérer/récompenser les personnes qui trouvent des failles sur leurs sites.
Parmi eux on citera Facebook, Google, Avast, Adobe, 4chan, Microsoft, Mozilla, PayPal, Twitter…etc.
C’est une excellente occasion de gagner de l’argent si vous trouvez des vulnérabilités. Même si là encore vous devrez avoir un minimum d’expérience pour trouver et patcher des vulnérabilités critiques. Vous serez aussi soumis(e) à un règlement strict à suivre. Sous entendu que vous ne vous inscrivez pas pour obtenir un droit de faire ce que vous voulez.
Voici des listes de tous les sites proposant des programmes Bug Bounty :
- https://bugcrowd.com/list-of-bug-bounty-programs
- http://www.bugsheet.com/bug-bounties
- http://www.vulnerability-lab.com/list-of-bug-bounty-programs.php
- https://hackerone.com le plus connu.
Désolé pour les anglophobe, mais je donne effectivement beaucoup de liens vers des sites anglais. Il y a souvent plus de contenu en anglais et la maîtrise de cette langue entre dans les qualités d’un hacker.
Sur ce, je vous souhaite bon apprentissage, et si vous avez d’autres informations à partager sur la mise en pratique légale du hacking éthique, n’hésitez pas !
24 Commentaires
Cliquez ici pour ajouter un commentaire
Très bon article, merci Michel.
très intéressant comme toujours merci
Waouuuuhhh!!!!
Cet article est trop bien, vraiment accrocheur, c’est toujours un immense plaisir de les lire, merci pour l’extraordinaire travail de reflexion, et de situation pour la mise en pratique bon travail effectué Michel.
A l’attaque 🙂
cordialement,
Christopher.
Merci à vous tous, avec plaisir 😉
Salut Michel moi j’aimerais protégé mon compte et celui de ma femme alors comment faire merci
Très interessant
c coul
Très bon article, qui donne à mon avis tout les outils necéssaires,
mais je me demandais, que penses-tu de HackThis ( https://www.hackthis.co.uk/ ), hackthisite.org serait-il plus complet ?
Le phonebreaking, les missions stego et extbasic, anisi que l’irc n’apparaissent pas sur HackThis.
Tandis que la crypto et les captchas ne sont pas abordés sur hackthissite, à première vue (je ne suis pas encore inscrit).
Je me demandais donc si les deux sites ne pouvait pas êtres complémentaires ?
En tout cas merci pour tout ce que tu fait.
Super article, j’ai téléchargé éclipse hier et j’ai fais mon premier programme sans modèle!
Mes pour tout! Tes articles m’aident vraiment!
Salut Arnaud, content de t’avoir aidé, n’hésite pas si tu as des questions !
salut ici je voudrais savoir quel logiciel de programmation telecharger j’utilise un pc avec système d’exploitation windows 8.1 merci d »avance et au faite chouète article!
merci Michel
Salut toulby10, tu parles sans doute d’environnement de développement intégré pour pouvoir programmer sous Windows. Voici des noms et des définitions à ce sujet : http://fr.wikipedia.org/wiki/Environnement_de_d%C3%A9veloppement
Tu as notamment le fameux Visual Studio pour programmer en VB.NET/C#/etc
salut michel j’aimerais que tu m’aide à devenir un genie logiciel
Salut Freddy, il me faudrait savoir ce que tu entends exactement par « génie logiciel » avant de commencer 🙂
Bon après midi Michel,si je comprend bien sur windows on ne peut programmer en utilisant les langages python ou java? Car plus haut j’ai remarqué que ces deux langages utilisaient un autre logiciel que visual studio.
Bonjour, il est tout a fait possible de programmer en Java et python sur Windows car il n’y a pas que Visual Studio !
michel merci beaucoup pour tes conseils j’aimerais beaucoups aprendre avec toi stp
Bonsoir,
Merci pour ces infos, j’apprécie beaucoup votre site, j’aimerai le publier sur le mien , le recommander avec un lien.
Bonjour et merci à vous, oui vous pouvez le faire.
c est tres tres tres bon
C’est tres bien
super un des seuls articles qui donne autan d’info et d’outils pourtant dieu sait si j’en ai lu
Bonjour Michel,
Si je ne m’abuse dans cet article (ou dans un autre je ne sais plus trop), vous evoquiez le fait que Qemu et VirtualBox ne peuvent pas etre installé ensemble. Seulement j’ai installé VirtualBox et deja créé un Ubuntu « virtuel » dessus. Mais j’aimerais passé a Qemu pour pouvoir tester des OS x86… Il faut donc que je désinstalle VirtualBox ? SI tel est le cas, mes 8Go de DD virtuel seront libéré ?
Encore merci pour tes articles 😉
Bien a toi,
Super site! j’ai bien fait l’erreur qui est sité dans l’article: de lire mais sans tapez du code, c’est mieux pour moi de recommencer tous à zero car je me rappel seulement de petite chose, et j’ulisais bcp les commande CMD.
en tous super site, bien expliqué, trés bien pour ceux qui n’ont pas de base an anglais, pour ma part je dois commencer en php, et apres en python je pense.