Le meilleur système d'exploitation pour un hacker. Examen des distributions Linux inhabituelles

Beaucoup de gens le voient comme un système d’exploitation « hacker ». Les hackers eux-mêmes, notamment parmi les jeunes, sont considérés avec admiration. Ceci explique l'intérêt des jeunes pour Kali Linux. Ils essaient de l’installer et de l’exécuter et ils se posent beaucoup de questions « enfantines ». Il faut répondre à ces questions, aussi simples, naïves ou incorrectes soient-elles. Pour moi personnellement, le comportement des personnes « expérimentées » qui répondent à de telles questions par « pourquoi en as-tu besoin ? », « encore les vacances scolaires ? », « devrais-tu être banni pour des questions aussi stupides ? » est inacceptable pour moi ? etc. Les forums techniques russes sont remplis de cette impolitesse. Je ne me permets pas et ne permettrai pas à d'autres de faire cela sur FreeForum.biz. Absolument tout le monde, quel que soit son degré de spécialiste, a commencé par étudier les bases, a commencé par des questions «d'enfants». Ceux qui ne posent pas de questions simples ne connaîtront finalement jamais les réponses.

La configuration et l'utilisation de Kali Linux soulèvent également des questions parmi les utilisateurs avancés de Linux. Mais ces questions sont complexes ou créatives. Et d’un côté, je veux aider tous les débutants (puisque j’en suis moi-même un), mais d’un autre côté, je ne veux pas tomber au niveau complètement maternelle. Après tout, répondre à des questions banales n’est ni intéressant ni une perte de temps.

Par conséquent, pour tous les hackers débutants, j'ai préparé une liste de ce que vous devez apprendre. Pour chaque point, je vais essayer de vous expliquer pourquoi vous avez besoin de le connaître.

1. Bases des langages de programmation

1.1 HTML

En fait, HTML n'est même pas un langage de programmation, mais un langage de balisage, c'est-à-dire il est utilisé, en gros, pour formater du texte.

Comment peut-il aider un hacker débutant ? Je vais vous donner mon exemple personnel. L'un des fournisseurs Internet dont j'ai utilisé les services (un fournisseur local avec un réseau dans ma ville d'origine) avait (peut-être encore - je ne sais pas, j'ai quitté ce fournisseur il y a longtemps) son propre site Web et ses propres services pour les utilisateurs. Au début des années 2000, c'était pertinent : le trafic Internet (externe) était payant, donc tout le monde essayait d'utiliser les ressources locales. Ces ressources étaient certainement très populaires. L’un des plus populaires est le partage de fichiers. En raison d'abus constants de la part des utilisateurs (par exemple, sa camarade de classe Masha, « déshabillée » à l'aide de Photoshop), le propriétaire du service d'hébergement de fichiers a saisi un mot de passe obligatoire. Ce mot de passe a été généré automatiquement et n'a pas pu être contenu dans un commentaire de fichier. Ainsi, l'analyse du formulaire d'envoi de fichier et quelques expérimentations avec celui-ci ont montré que le mot de passe est contenu dans l'un des champs cachés du formulaire, qui, bien entendu, peut être modifié. Ce mot de passe n'était plus vérifié sur le serveur. En conséquence, en enregistrant le formulaire de téléchargement d'un fichier sur votre ordinateur et en le modifiant légèrement, nous avons réussi à nous assurer que les fichiers pourraient être téléchargés à nouveau sans mot de passe. Ce formulaire peut être utilisé par tout client du prestataire. Plus tard, le fournisseur a « comblé » le trou et a commencé à rechercher un mot de passe. Cependant, avec les mêmes manipulations simples, il était possible de s'assurer que les fichiers étaient toujours chargés avec un mot de passe « standard » (« 0000 », semble-t-il), et ce mot de passe pouvait également être écrit dans un commentaire sur le fichier.

Ceux qui connaissent au moins les bases du HTML comprennent parfaitement de quoi je parle. Pour d’autres, c’est juste une lettre chinoise.

Encore un nouvel exemple. L'autre jour (11 février 2015), un trou a été découvert dans le thème WordPress, qui permet de télécharger des fichiers dérivés sur le serveur. Description de ce sujet. Le fichier vulnérable dans ce thème est admin/upload-file.php. J'ai cherché sur ce fil et trouvé ce fichier. Le fichier est très court, je vais donc le donner dans son intégralité :

Ce fichier est en PHP, mais pour profiter de cette vulnérabilité, vous devez réaliser le formulaire de soumission de fichier en HTML.

Vous devez donc connaître HTML pour : a) rechercher des vulnérabilités ; b) exploiter les vulnérabilités. Il existe également des tâches plus avancées qui nécessitent des connaissances en HTML, mais arrêtons-nous là.

1.2PHP

Ci-dessus j'ai donné le contenu d'un petit fichier écrit en PHP. Ce fichier contient une telle faille que la qualité de la configuration du serveur, l'existence d'un pare-feu de fichiers, etc., n'ont plus d'importance. Si quelqu'un utilise ce thème, alors le site Web de cette personne est sous notre contrôle total (et si le serveur/l'hébergement est configuré de manière incorrecte, alors l'ensemble de l'ordinateur est sous notre contrôle). Mais pour comprendre cela, il faut connaître au moins un peu PHP.

Pour utiliser des exploits prêts à l'emploi que quelqu'un d'autre a écrits, encore une fois, vous devez connaître au moins les bases de PHP afin de savoir où écrire l'adresse du site et d'autres variables, et comment exécuter ce script en général.

1.3 MySQL

Habituellement, les choses les plus intéressantes se trouvent dans les bases de données. Pour comprendre comment utiliser l'injection MySQL, vous devez savoir ce qu'est l'injection MySQL. Pour comprendre l'essence de l'injection MySQL, vous devez savoir ce que sont les requêtes MySQL, quelle est la syntaxe de ces requêtes, quelle est la structure de la base de données, comment les données sont stockées, quelles sont les tables, etc.

En général, les trois premiers points, ainsi que les idées sur les dispositifs de sites Web, sont plus faciles à comprendre si vous apprenez non pas à « pirater » des sites Web, mais à les créer. Étudiez dans le but de faire quelque chose de positif. Il y a là un paradoxe, car de la même manière, pour apprendre à bien protéger les applications web, il faut apprendre à les pirater ! Ce n'est qu'en étant capable d'examiner les technologies Web à travers les yeux d'un pirate informatique que vous pourrez acquérir une expérience inestimable. C’est la même chose avec les sites Web : le simple fait d’apprendre les fonctions et les bases de la langue ne sert à rien. Vous devez devenir développeur Web pour comprendre les tenants et les aboutissants d’un site Web.

1.4 JavaScript, JQuery

À tout le moins, vous devez savoir que les sites Web sont contrôlés par JavaScript. En effet, sur certains sites qui ne permettent pas de sélectionner (et/ou copier) du contenu, ils ne permettent pas de télécharger un fichier, ou encore il suffit de désactiver JavaScript pour rendre tout cela possible.

Eh bien, pour désactiver JavaScript, vous devez savoir : a) dans quelles situations le fonctionnement (protection) du site en dépend ; b) comment JavaScript est connecté et de quelles manières les scripts peuvent être bloqués.

Vous pouvez donner une tonne d'exemples de protection de formulaire infructueuse à l'aide de JavaScript (je me souviens d'un formulaire sur le site Web du FSB de la Fédération de Russie - pour le soumettre, vous devez remplir cent cents champs (passeport, enregistrement, etc. ), mais avec les manipulations les plus simples, cette "limitation" peut être contournée (c'était il y a longtemps, il est fort possible qu'ils aient corrigé le formulaire de feedback)).

2. Bases des réseaux, des serveurs Web et des sites Web

2.1 Conception du réseau

Il faut absolument connaître la structure des réseaux : qu'est-ce qu'une adresse IP, qu'est-ce qu'elle permet d'identifier un internaute, comment cacher son IP, qu'est-ce qu'un proxy, qu'est-ce qu'un TOR, qu'est-ce qu'un domaine, des ports, etc. .

Vous devez d’abord connaître ce qui précède, au moins pour comprendre les textes et instructions informatiques de base. Et aussi prendre conscience du fait que l’anonymat sur Internet est une chose éphémère.

Des connaissances avancées sur la construction de réseaux vous aideront à l'avenir à effectuer des analyses efficaces à l'aide de programmes spéciaux.

2.2 Comprendre la conception et le fonctionnement d'un serveur Web

Comme dans les paragraphes précédents, je vais commencer par un exemple simple (d’ailleurs très récent). Lors de la visite de l'un des serveurs, il a été découvert que les paramètres du serveur permettent de visualiser le contenu des répertoires (liste des fichiers). phpMyAdmin a été trouvé sur le serveur, mais les mots de passe standards ne correspondaient pas. En parcourant les répertoires pour tenter de trouver des scripts vulnérables (il existe des scripts auto-écrits pour traiter les dossiers hospitaliers et distribuer des « numéros »), un fichier texte (!) a été trouvé contenant une ligne avec deux mots séparés par une virgule. Il s’est avéré qu’il s’agissait du login et du mot de passe de phpMyAdmin. La base de données, comme on dit, nous appartient en raison de la stupidité clinique du développeur, mais pour écrire votre fichier sur le serveur, vous aviez besoin de connaissances sur ce serveur. Par exemple, vous devez connaître le chemin absolu où l’enregistrement sera effectué. Pour connaître le chemin absolu, vous devez au moins connaître la structure des répertoires du serveur Apache.

CREATE TABLE `shell` (`script` TEXT NOT NULL) COMMENT = "table pour inclure" ; INSÉRER DANS LES VALEURS `shell` (`script`) (""); SELECT script FROM `shell` INTO OUTFILE "C://Apache24/htdocs/shell.php"; DROP TABLE `shell`;

Ce que j'essaie de dire avec cet exemple n'est pas que vous devez apprendre la structure Apache. Je tiens à dire que sans connaissance de son fonctionnement, des principes généraux de fonctionnement d'un serveur Web, vous serez constamment confronté à l'incapacité de « promouvoir » pleinement une vulnérabilité, même si elle a déjà été trouvée.

Vous vous souvenez de ce que j'ai dit sur les langages de programmation et la compréhension du fonctionnement des sites Web ? Pour comprendre toute la profondeur, vous devez devenir vous-même développeur Web. Pour comprendre un serveur Web, vous devez lire des livres non pas sur le piratage d'un serveur Web, mais sur sa maintenance. Ceux. vous devez devenir vous-même administrateur système, et la prise de conscience des points faibles, dans quelles directions vous devez « creuser » lorsque vous essayez de pénétrer dans un serveur Web, viendra d'elle-même.

2.3 Comprendre la conception et le fonctionnement des sites Web

En général, beaucoup de choses deviendront claires lorsque vous étudierez les langages de programmation pour applications Web.

Pour continuer à vous familiariser avec la conception de sites Web, il est conseillé d'avoir une expérience de travail avec les systèmes de gestion de contenu, les moteurs et les scripts populaires. Sachez comment fonctionnent les plugins et les thèmes, où ils se trouvent, quels fichiers peuvent vous intéresser, etc.

Par exemple, sachant très simplement que pour ajouter une image sur un site qui se situe deux répertoires plus haut par rapport au fichier .htm, vous pouvez utiliser la construction ./../../, c'est-à-dire Par exemple

Cette information en apparence banale nous a permis de créer un « hack » très simple, mais incroyablement efficace.

If ($handle = opendir("./../../../../../../../../..")) ( while (false !== ($entry = readdir($handle))) ( if ($entry != "." && $entry != "..") ( echo "$entry
"; ) ) fermé($handle); )

Quand j'ai découvert cela par moi-même, j'utilisais encore un hébergement gratuit (le nom de domaine de l'entreprise était holm.ru ou holms.ru - ils distribuaient également des domaines de troisième niveau comme *.h7.ru, *.h10.ru, c'est-à-dire les numéros il y a des changements séquentiels au fur et à mesure que les serveurs se remplissent).

J'ai appliqué ces quelques lignes que j'ai données juste au dessus et il s'est avéré que je pouvais dépasser les limites du dossier qui m'était attribué. Un script légèrement amélioré m'a permis non seulement d'afficher la racine du serveur, mais également d'accéder aux dossiers que j'ai vus et d'ouvrir les fichiers pour les visualiser. Le résultat était incroyable ! J'ai beaucoup appris sur les sites des autres. La principale découverte est que le rapport entre les « sites normaux » et ceux « anormaux » (frauduleux, dénués de sens, simplement vides) n’est pas en faveur des sites « normaux ». Je suis tombé sur des « sites de rencontres » (j'en croise encore parfois) où la « couverture » est très belle - la page principale, avec des gens sympas qui semblent déjà être des utilisateurs du site. Et si vous souhaitez commencer à communiquer avec eux, vous devez vous inscrire et y saisir quelque chose ou payer. Mais en fait, il n’y a rien d’autre à l’intérieur du site que ces dix photos. C'est désormais clair pour tout le monde, mais à une époque, j'étudiais la fraude sur Internet exactement de cette manière.

Mais la chose la plus étonnante que j’ai découverte, ce sont les sites dont les noms de domaine incluaient le mot mail. « À l'extérieur », ces sites consistaient en une seule page, complètement identique à la page de connexion mail.ru. Mais à l’intérieur se trouvaient plusieurs fichiers, dont l’un se révélait presque toujours être un ensemble de paires login-mot de passe. Ceux. quelqu'un, sous divers prétextes (regarder une carte postale, par exemple), a attiré les utilisateurs vers cette page, des utilisateurs sans méfiance ont saisi leurs données et cela s'est déjà retrouvé avec le pirate informatique.

Il y avait de nombreux comptes compromis (j’en ai collecté plus d’une centaine sur tous les sites). Dans environ la moitié des cas, le mot de passe ne correspondait pas (l'utilisateur a réussi à le modifier) ​​ou la boîte aux lettres était complètement vide (l'utilisateur a soupçonné quelque chose et a supprimé toutes les lettres). Mais en me souvenant de la seconde moitié, je suis encore tourmenté par une supposition : quand les gens pensent que personne ne le saura, sont-ils vraiment si bizarres ou est-ce que j'ai juste de la chance avec la sélection ? Parmi les cartons intéressants, beaucoup contenaient, d'une manière ou d'une autre, de la correspondance sur l'échange de photographies intimes, des conversations « en dessous de la ceinture », et le thème des mineurs était abordé dans une partie importante. Je me souviens encore d'une photo d'un homme vêtu d'une tenue de femme (bas et l'ensemble), qui l'envoyait à une femme qui s'intéressait aux femmes (l'homme l'avait convaincu qu'il était une femme) pour qu'elle lui envoie " photos nues en retour. Jusqu’où êtes-vous prêt à aller pour voir une photo d’une femme nue ? 🙂

Il est fort possible qu'il s'agisse d'une sorte de mesure d'enquête, d'un moyen d'obtenir secrètement des informations auprès d'individus attirés par les forces de l'ordre. Je refuse toujours de penser que la plupart des gens (ou du moins une masse importante) sont comme ça.

Il est difficile d'être en désaccord avec Viktor Pelevin

C’est juste que l’assembleur de l’âme de quelqu’un d’autre semble rarement attrayant après un examen attentif.

3. Bases du système d'exploitation Linux

Plus vous en savez sur Linux, mieux c'est. Ne serait-ce que parce qu'un grand nombre de serveurs Web sur Internet utilisent Linux comme système d'exploitation.

J'ai fait part de mon cas de dépassement du répertoire qui m'était alloué sur l'hébergement. Avec un autre hébergeur, j'ai réussi à accéder au répertoire racine du système de fichiers (mais les sites se sont avérés inaccessibles, puisque les droits sur les dossiers étaient correctement enregistrés). Et imaginez la situation : je me précipite dans les dossiers du serveur, car j'ai besoin de récupérer rapidement quelque chose de précieux, les mots de passe sont différents, etc. Où Linux a-t-il tout ? Dans quels répertoires dois-je aller et quels fichiers dois-je télécharger ? Je ne connaissais absolument pas Linux et la principale conclusion que je me suis tirée après cet incident est que vous devez comprendre Linux, sinon il n'y a pas d'autre moyen.

De nombreux programmes d’analyse de pénétration des réseaux et des sites Web fonctionnent sous Linux. Vous devez savoir comment installer, comment exécuter (s'il s'agit d'un programme console).

En général, dans un système d'exploitation inhabituel, les utilisateurs ne savent parfois pas comment copier un fichier, ni comment l'ouvrir, ni comment installer un nouveau programme, ni « où se trouve le lecteur D », etc. De manière générale, apprenez Linux sous ses différents aspects.

Et commencez votre étude non pas avec Kali Linux, mais, par exemple, avec Linux Mint.

Kali Linux n'est pas très adapté aux débutants. Même le sympathique Linux Mint peut avoir des problèmes avec une utilisation normale. Que dire de Kali Linux. Tous les programmes disponibles dans Kali Linux peuvent parfaitement fonctionner sur d'autres versions de Linux. Je recommanderais ceci : utilisez Linux Mint comme système d'exploitation principal et après avoir appris de nouveaux programmes, installez-les dans Linux Mint ou utilisez Kali Linux comme machine virtuelle (deuxième système d'exploitation).

Derniers mots

J'ai donné plusieurs exemples tirés de mes expériences sur le contournement des restrictions et de la pénétration. Combien d’entre eux ai-je utilisé Kali Linux ? Aucun. Je me souviens très bien de ma première connaissance avec le prédécesseur de Kali Linux - je l'ai installé sur un ordinateur virtuel, j'ai regardé le menu (il y avait des noms anglais incompréhensibles), j'ai essayé de lancer certains programmes (la ligne de commande s'ouvrait presque toujours), j'ai réalisé que rien n'était clair du tout ici, j'ai tout fermé et supprimé.

Apprenez les langages de programmation (PHP, MySQL, HTML), les nouvelles technologies, Linux, la conception et l'exploitation de serveurs. Essayez de penser de manière créative (comment créer un site Web, comment entretenir un serveur, comment travailler efficacement sous Linux) et la compréhension des processus sous-jacents viendra d'elle-même. Et cela (connaissance et compréhension des processus en cours) est la principale richesse d'un hacker. Pas besoin de rester bloqué sur Kali Linux. Apprendre Kali Linux sans savoir ce que j’ai énuméré ci-dessus, c’est comme construire une maison sans fondations.

Beaucoup de gens s'intéressent à la question de savoir quel système d'exploitation est le meilleur pour le piratage. Tout d'abord, je dirai que presque tous les professionnels et experts utilisent pour cela Linux ou Unix. Bien que certaines opérations puissent être effectuées sous les fenêtres Et MacOS, presque tous les outils sont conçus spécifiquement pour Linux.

Mais il y a quelques exceptions, comme les programmes Caïn et Abel, Havij,Carte Zen Et Métasploit, qui ont été développés ou peuvent être transférés à les fenêtres.

Demandes de Linux, qui ont été développés sous Linux puis porté sur Windows peut perdre certaines fonctionnalités. De plus, certaines options intégrées à Linux, non disponible dans les fenêtres. Pour cette raison, les outils de piratage sont dans la plupart des cas conçus UNIQUEMENT pour Linux.

En général, pour devenir un hacker hautement qualifié, vous devez maîtriser certaines compétences en Linux, et fonctionne également avec des distributions telles que RetourTrack ou Kali.

Pour ceux qui n'ont jamais utilisé Linux, consacré à cette collection concerne les bases Linux en mettant l'accent sur les compétences nécessaires au piratage. Donc tu dois courir RetourTrack ou autre distribution Linux.

Étape 1 : Lancer Linux

Après le lancement RetourTrack et connectez-vous en tant qu'utilisateur " racine", entrez la commande :

Bt>startx

L'écran devrait ressembler à ceci.

Étape 2 : ouvrir un terminal

Devenir un expert en Linux, vous devez apprendre à utiliser le terminal. Dans diverses distributions Linux beaucoup de choses peuvent être faites simplement en pointant et en cliquant, comme dans les fenêtres ou MacOS, mais un hacker professionnel doit savoir utiliser un terminal pour exécuter la plupart des outils.

Ainsi, vous pouvez ouvrir le terminal en cliquant sur son icône dans le panneau inférieur. Une image similaire à celle-ci devrait apparaître à l'écran.

Borne dans Linux similaire à la ligne de commande dans les fenêtres, mais c'est beaucoup plus puissant. Contrairement à la ligne de commande, dans le terminal avec Linux vous pouvez TOUT faire et contrôler le système avec plus de précision qu'en les fenêtres.

Il est important de se rappeler que dans Linux la casse des caractères est importante. C'est-à-dire la commande " Bureau" diffère de " ordinateur de bureau", ce qui n'est pas la même chose que " Bureau" Pour certains débutants Linux C’est un défi et nécessite une mémorisation.

Étape 3 : Familiarisez-vous avec la structure des répertoires

Passons aux bases du travail dans Linux. De nombreux débutants sont confus quant à la structure du système de fichiers Linux. Sous Linux, contrairement à Windows, le système de fichiers n'est pas lié à la mémoire physique du disque, il n'y a donc pas de disque système c:\, comme racine du système d'exploitation Linux, mais il y a / .

Le caractère barre oblique ( / ) représente la racine ( racine) ou au sommet de la hiérarchie du système de fichiers. Tous les autres répertoires (dossiers) sont situés plus bas dans la structure, comme les dossiers et sous-dossiers sur un disque c:\.

Pour visualiser le système de fichiers, regardez le diagramme ci-dessous.

Il est important d'avoir une compréhension de base de la structure des fichiers car vous devrez souvent utiliser le terminal pour naviguer dans le système de fichiers sans un outil comme Windows Explorer.

Il y a plusieurs points importants à noter dans cette représentation graphique.

Catalogue /poubelle– Il s’agit de l’emplacement où se trouvent les fichiers binaires. Des programmes qui permettent Linux travail.

/etc– c'est le dossier dans lequel les fichiers de configuration sont stockés. DANS Linux presque tout est configuré à l'aide de fichiers de configuration texte situés dans /etc.

Dans le catalogue /dév les fichiers de périphérique similaires aux pilotes sont placés dans les fenêtres.

/var– Il s'agit de l'emplacement où les fichiers journaux et autres fichiers sont stockés.

Étape 4 : Utilisation de la commande pwd

Borne dans RetourTrack par défaut s'ouvre dans le répertoire de l'utilisateur maison. Comme le montre le graphique ci-dessus, dans la hiérarchie, il s'agit d'un échelon en dessous du répertoire racine. racine. Vous pouvez vérifier dans quel répertoire se trouve l'utilisateur en tapant la commande :

Bt > mot de passe

Équipe mot de passe dérivé de " répertoire de travail actuel" (en anglais : "représente le répertoire de travail"), et il renvoie la valeur /racine, ce qui signifie que l'utilisateur est dans son le répertoire racine (ne pas confondre cela avec le haut de la structure des fichiers système).

Équipe mot de passe Il est préférable de s'en souvenir, car cela vous aidera toujours à savoir où se trouve l'utilisateur dans le système d'annuaire.

Étape 5 : Utilisation de la commande cd

Vous pouvez changer de répertoire à l'aide de la commande CD(de l'anglais change directory, « change directory »). Dans ce cas, pour aller « plus haut » dans la structure des dossiers il faut taper :

Bt > cd ..

Équipe CD suivi de deux points ( .. ) dit : "monter d'un niveau dans la structure des dossiers." Notez que la ligne de commande a changé et lorsque vous entrez mot de passe, Linux répond que l'utilisateur actuel est dans " / "ou en haut du système de répertoires (au répertoire racine du système).

Bt > mot de passe

Étape 6 : Utilisation de la commande whoami

La dernière étape de ce tutoriel utilisera la commande qui suis je. Le résultat de cette commande sera la sortie du nom d'utilisateur connecté au système. Étant donné que la connexion ici est effectuée par l'utilisateur root, vous pouvez vous connecter à n'importe quel compte d'utilisateur et le nom de cet utilisateur sera affiché dans le terminal.

Bt > whoami

C'est tout pour le moment. DANS les postes de formation suivants décrit les bases du travail dans Linux, dont vous aurez besoin pour devenir un hacker professionnel.

Déni de responsabilité: Cet article est rédigé à des fins éducatives uniquement. L'auteur ou l'éditeur n'a pas publié cet article à des fins malveillantes. Si les lecteurs souhaitent utiliser les informations à des fins personnelles, l'auteur et l'éditeur ne sont pas responsables de tout préjudice ou dommage causé.

Il existe plusieurs distributions de sécurité populaires contenant la plupart des utilitaires et applications de test d'intrusion les plus populaires. Ils sont généralement basés sur des distributions Linux existantes et en sont des versions retravaillées. Cet article présentera les plus célèbres d’entre eux.

Kali Linux

La distribution la plus populaire aujourd'hui. C'est le successeur de Backtrack Linux.
Kali Linux est un outil de test d'intrusion incroyablement puissant qui comprend plus de 600 utilitaires de sécurité tels que Wireshark, Nmap, Armitage, Aircrack, Burp Suite, etc.

Il existe plusieurs types de cette distribution pour diverses plates-formes, telles que ARM, les systèmes de virtualisation, les instances permettant de mener des attaques à partir de plates-formes mobiles - Kali Nethunter.

La distribution est actuellement implémentée sous forme de version continue, ce qui garantit que vous disposez toujours des dernières versions des meilleurs outils et utilitaires de test d'intrusion.

Arche Noire

BlackArch Linux est conçu spécifiquement pour les pentesters et les professionnels de la sécurité. Il prend en charge les architectures i686 et x86_64. Le kit d'installation comprend actuellement 1 359 utilitaires de tests d'intrusion et leur nombre ne cesse de croître. Basé sur Arch Linux.

Le nombre d'utilitaires est en effet assez impressionnant, mais certains d'entre eux ont des fonctionnalités similaires et il peut être assez difficile pour un débutant de comprendre autant de programmes.

Système d'exploitation de sécurité Parrot

Une distribution de sécurité de plus en plus populaire basée sur Debian-linux. Assez facile à apprendre, adapté aussi bien aux débutants qu'aux professionnels. Cette distribution est destinée à la fois aux tests d'intrusion et au travail anonyme sur Internet.

Outil assez léger et efficace, de nombreux spécialistes de la sécurité y ont trouvé un remplaçant à Kali, de plus en plus gourmand en énergie, d'autant plus que Parrot utilise les référentiels Kali pour les mises à jour.

Boîte arrière

BackBox est une distribution légère basée sur Ubuntu. En comparaison directe avec Kali, il perdra sur de nombreux points. Il ne propose pas une telle variété d’outils, d’utilitaires et de frameworks disponibles dès la sortie de la boîte. Il n'y a pas d'optimisation du noyau ou d'autres ajustements.

Le shell léger de XFCE rend BackBox Linux plus adapté à une utilisation quotidienne en tant que bête de somme sur votre ordinateur personnel. Il existe un mode - le mode anonyme - tout le trafic système passe par le proxy TOR. Le script de démarrage modifie l'adresse MAC et le nom d'hôte du système, et lorsque le mode est désactivé, tous les fichiers temporaires sont supprimés à l'aide du package BleachBit intégré.

Backbox Linux peut être une excellente alternative à Kali Linux pour ceux qui recherchent un équilibre entre fonctionnalité et facilité d'utilisation quotidienne.

Pentoo Linux

Pentoo est une distribution de sécurité basée sur la populaire distribution Gentoo Linux, dont les développeurs Pentoo sont fans. Contient de nombreux utilitaires de sécurité.

L'une des fonctionnalités est la prise en charge native de Hardened Gentoo - plusieurs modifications apportées au compilateur et au noyau qui augmentent la sécurité globale du système contre le piratage.

Boîte à outils de sécurité réseau

Network Security Toolkit est l'une des nombreuses distributions Linux Live CD visant à analyser la sécurité du réseau. NST permet aux administrateurs d'accéder facilement à une grande variété d'applications de réseau ouvert, dont beaucoup sont incluses dans les 100 meilleurs outils de sécurité recommandés par insecure.org. Basé sur Fedora Linux.

Possédant un ensemble équilibré d'outils de surveillance, d'analyse et de sécurité du réseau, il peut apporter des avantages évidents à l'administrateur réseau pour contrôler la sécurité de l'infrastructure qui lui est confiée.

DEFTLinux

Cette distribution est développée sur la plateforme Lubuntu et dispose d'une interface graphique conviviale. De plus, un ensemble d'utilitaires spécialisés a été ajouté au produit, à commencer par des antivirus, des systèmes de recherche d'informations dans le cache du navigateur, des scanners réseau et des utilitaires d'identification des rootkits, et se terminant par les outils nécessaires à la recherche de données cachées sur le disque.

L'objectif principal est de mener des activités médico-légales - en analysant les conséquences du piratage des systèmes informatiques, en identifiant les données perdues et compromises, ainsi qu'en collectant ce qu'on appelle. preuves numériques de cybercriminalité.

Cadre de sécurité Web Samurai

L'objectif principal de cette distribution est les tests d'intrusion de diverses applications Web.

Fourni sous forme d'image de machine virtuelle contenant les utilitaires Open Source les plus populaires pour collecter des informations et mener diverses attaques sur les applications Web.

Boîte de test

PentestBox n'est pas comme les autres distributions de sécurité qui s'exécutent sur des machines virtuelles. Il ne serait pas tout à fait correct d'appeler cet assemblage une distribution ; il s'agit plutôt d'un ensemble d'utilitaires de type * nix fonctionnant dans un environnement Windows.

Il possède son propre shell, l'interface est réalisée sous forme de ligne de commande, il contient un grand nombre d'utilitaires dont la liste peut être complétée/personnalisée indépendamment.

Si vous êtes un utilisateur Windows et que vous avez peur d'installer des machines virtuelles ou Linux, vous pouvez essayer de travailler avec ce shell.

Santoku Linux

La distribution est basée sur Ubuntu Linux. Présenté uniquement comme une plateforme X64.

Cet assemblage est destiné à analyser les appareils et applications mobiles - en effectuant des analyses de sécurité, des extractions de données, de l'ingénierie inverse, des analyses médico-légales, et contient également des outils de développement.

WifiSlax

Il s'agit d'une distribution spécialisée avec une sélection d'outils pour vérifier la sécurité des systèmes de réseau WiFi et effectuer des analyses médico-légales. La distribution est construite sur Slackware Linux.

Actuellement, il s'agit de l'un des outils les plus couramment utilisés pour auditer les réseaux WiFi, il comprend la plupart des utilitaires populaires pour analyser la sécurité des réseaux sans fil et prend en charge la plupart des fabricants de cartes réseau.

Dans cette partie, je veux parler du choix du matériel et du choix du système d'exploitation pour un hacker. Immédiatement concernant le système d'exploitation - je parlerai du choix entre Linux et Windows, je ne parlerai pas des distributions Linux. Quant au matériel, je ne suis pas un grand spécialiste du matériel, je vais juste partager avec vous quelques observations qui se sont formées à partir de la pratique.

Ordinateur pour un hacker

Commençons par la bonne nouvelle : n'importe quel ordinateur moyen fera l'affaire pour les tests d'intrusion et le piratage. Si vous décidez de vous lancer dans un nouveau passe-temps ou d'apprendre la sécurité informatique (très utile pour les programmeurs d'applications Web et pour toute autre personne souhaitant éviter d'être victime de pirates informatiques), vous n'avez pas besoin d'aller au magasin pour acheter un nouvel ordinateur.

Cependant, lorsque vous choisissez un nouvel ordinateur, vous pouvez prendre en compte certains éléments qui aideront votre ordinateur (et donc vous-même) à être plus efficace dans certaines tâches.

Ordinateur de bureau ou ordinateur portable ?

Un ordinateur de bureau présente de nombreux avantages : il est plus puissant, moins cher, plus facile à mettre à niveau et à réparer, il possède un clavier plus confortable, plus de ports, un écran plus grand et bien plus encore. Et il n'y a qu'un seul inconvénient : le manque de mobilité. Si vous n'êtes pas confronté à la tâche de vous rendre sur des sites et qu'en général vous étudiez simplement, alors un ordinateur de bureau sera préférable.

Carte vidéo pour pentester

Nous n'avons bien sûr pas besoin de carte vidéo pour les jeux. Nous en avons besoin pour parcourir les sommes de hachage (hachages). Un hachage est le résultat d'un traitement de données utilisant un algorithme spécial (fonction de hachage). Leur particularité est que les mêmes données ont les mêmes hachages. Mais il est impossible de récupérer les données originales à partir d’un hachage. Ceci est particulièrement souvent utilisé, par exemple, dans les applications Web. Au lieu de stocker les mots de passe en texte clair, la plupart des sites Web stockent des hachages de ces mots de passe. Si vous saisissez votre nom d'utilisateur et votre mot de passe, le site Web calcule le hachage du mot de passe que vous avez saisi et compare s'il correspond à celui précédemment enregistré. Si tel est le cas, vous avez entré le mot de passe correct et vous accédez au site. A quoi ça sert tout ça ? Imaginez qu'un pirate informatique réussisse à accéder à une base de données (par exemple, via une injection SQL) et à apprendre tous les hachages du site. Il souhaite se connecter en tant qu'utilisateur, mais ne le peut pas : le site Web nécessite un mot de passe, il n'accepte pas les hachages.

Vous pouvez récupérer un mot de passe à partir d'un hachage, par exemple, en utilisant la force brute (il existe également des tables arc-en-ciel, mais il ne s'agit pas d'elles maintenant, et leur essence se résume à la même chose : calculer les hachages pour les mots de passe candidats). Nous prenons un mot de passe candidat, par exemple "superbit", calculons la somme de hachage correspondant, la comparons avec la somme de hachage existante - s'ils correspondent, alors le mot de passe de l'utilisateur est "superbit", sinon, nous prenons le prochain mot de passe candidat, par exemple, "dorotymylove", nous calculons la somme de hachage pour celui-ci, le comparons avec celui que nous avons appris de la base de données du site, s'il correspond, alors nous connaissons le mot de passe, sinon, nous continuons plus loin.

Cette opération (recherche de hachages) peut être effectuée à l'aide d'un processeur central ; il existe de nombreux programmes capables de le faire. Mais il a été remarqué qu'il est beaucoup plus rapide de parcourir les hachages à l'aide d'une carte vidéo. Par rapport à un CPU, l’utilisation d’un GPU augmente la vitesse de recherche de plusieurs dizaines, centaines, milliers ou plus ! Naturellement, plus les hachages sont recherchés rapidement, plus les chances de succès d’un piratage sont grandes.

Les cartes vidéo populaires sont AMD, GeForce et Intel HD Graphics. Il n'est pas toujours possible de tirer grand parti des graphiques Intel HD ; ils ne sont pas particulièrement puissants et ne sont pas achetés séparément - nous ne nous y attarderons donc pas beaucoup.

Le choix principal se situe entre AMD et GeForce. Les cartes vidéo GeForce sont beaucoup plus populaires. Ils ont fait leurs preuves dans les jeux et ont une énorme base de fans. Mais AMD est mieux adapté aux hachages par force brute, même si cela peut être frustrant pour les fans de GeForce. Les cartes vidéo AMD de la catégorie de prix moyen affichent à peu près les mêmes résultats que les cartes vidéo GeForce de la catégorie supérieure. Ceux. Au lieu d'une GeForce haut de gamme, vous pouvez en acheter 2 AMD moins chères et obtenir une vitesse d'énumération de hachage plus élevée.

J'ai repensé ce moment. En comparant les données et les prix des magasins en ligne, je suis arrivé à la conclusion qu'il n'y a pas de différence. Les meilleures GeForce sont plus de deux fois plus puissantes que les meilleures Radeon. Et le prix est environ deux fois plus élevé. De plus, vous devez savoir que les pilotes AMD ont une relation très douloureuse avec la plupart des distributions Linux. Actuellement, hashcat sous Linux ne prend en charge que AMDGPU-Pro, qui ne prend en charge que les cartes graphiques les plus récentes. Et même si vous envisagez d'acheter un ordinateur avec une nouvelle carte vidéo AMD, consultez d'abord la liste des distributions Linux prises en charge - c'est court, il est fort possible que votre système d'exploitation n'y soit pas.

En général, peut-être qu'à une époque les Radeons étaient vraiment meilleures que les GeForce pour forcer les mots de passe ; les pilotes AMD étaient autrefois installés sous Linux avec une seule commande, mais maintenant ce n'est plus le cas. Si je construisais un ordinateur ou achetais un ordinateur portable maintenant, je choisirais des modèles avec GeForce.

Une itération sur les hachages sera nécessaire :

  • lors du test de pénétration des applications Web (parfois) ;
  • lorsque le Wi-Fi est piraté (presque toujours) ;
  • lors du déchiffrement du mot de passe de disques, portefeuilles, fichiers, documents protégés par mot de passe cryptés, etc.) (toujours).

RAM

Ce n'est qu'en utilisant un programme que j'ai rencontré un manque de RAM. Ce programme est IVRE. Pour la plupart des autres situations, la RAM d'un ordinateur de moyenne ou même de faible consommation devrait suffire à exécuter presque toutes les applications dans un seul thread.

Si vous envisagez d'utiliser le système d'exploitation pour effectuer des tests d'intrusion sur une machine virtuelle, dans cette situation, il est préférable de veiller à une quantité de RAM suffisante.

Exigences en RAM des machines virtuelles :

  • Arch Linux avec GUI - 2 Go de RAM pour un travail très confortable
  • Kali Linux avec GUI - 2 Go de RAM pour un fonctionnement normal
  • Kali Linux avec GUI - 3-4 Go de RAM pour un travail très confortable
  • Tout Linux sans interface graphique - environ 100 mégaoctets pour le fonctionnement du système lui-même + la quantité consommée par les programmes que vous exécutez
  • Dernières versions de Windows - 2 Go juste pour démarrer (beaucoup de ralentissements)
  • Dernières versions de Windows - 4 Go ou plus pour un travail confortable.

Par exemple, j'ai 8 Go sur mon système principal, j'ai alloué 2 Go de RAM à Arch Linux et Kali Linux, je les exécute (si nécessaire) simultanément et j'y travaille confortablement. Si vous envisagez d'utiliser le système d'exploitation pour le pentensting dans des machines virtuelles, je vous recommanderais d'avoir au moins 8 gigaoctets - c'est suffisant pour exécuter confortablement un ou deux systèmes, et la plupart des programmes se trouvent sur ces systèmes.

Cependant, si vous envisagez d'exécuter plusieurs programmes (ou un programme dans plusieurs threads), ou si vous souhaitez créer un ordinateur virtuel à partir de plusieurs machines virtuelles, alors 16 Go ne seront pas superflus (je prévois de l'augmenter à 16 Go sur mon ordinateur portable, heureusement il y a deux emplacements vides).

Il est peu probable que tout ce qui dépasse 16 Go de RAM vous soit utile lors du test d'intrusion.

CPU

Si vous envisagez d'effectuer des hachages par force brute et de le faire en utilisant un processeur central et non une carte graphique, alors plus le processeur est puissant, plus la force brute sera rapide. De plus, un processeur puissant avec un grand nombre de cœurs vous permettra de travailler sur des machines virtuelles avec plus de confort (j'attribue 2 cœurs à chaque machine virtuelle avec une interface graphique).

La grande majorité des programmes (à l'exception de ceux qui itèrent sur des hachages) ne nécessitent pas de puissance processeur.

Disque dur

Il n'y a pas d'exigences particulières. Naturellement, il est plus agréable de travailler avec un SSD.

Ordinateur testeur d’intrusion sur VPS/VDS

Eh bien, « en plus », VPS vous permet d'organiser votre propre serveur Web, serveur de messagerie, stockage de fichiers, cloud pour la coopération, ownCloud, VPN ou pratiquement tout ce que Linux avec une adresse IP blanche peut faire. Par exemple, j'ai organisé le suivi des nouvelles versions de programmes (sur le même VPS où https://suip.biz/ru/ - pourquoi payer deux fois) : https://softocracy.ru/

VPS vous permet d'installer à la fois un ordinateur avec une interface de ligne de commande et un environnement de bureau graphique. Comme on dit, « le goût et la couleur… » tous les marqueurs sont différents, mais personnellement, je suis un ardent opposant à l'installation d'un système d'exploitation avec un environnement de bureau graphique en tant que serveur. Ne serait-ce que parce que c'est tout simplement cher - pour un travail confortable, vous devez acheter des cartes tarifaires avec plus de 2 gigaoctets de RAM. Et même cela peut ne pas suffire, selon les programmes en cours d'exécution et leur nombre.

Sur un appareil ARM, je recommanderais d'installer un système d'exploitation sans environnement de bureau graphique et de choisir parmi les appareils ceux qui sont les plus puissants. Le résultat pourrait être un assistant presque invisible, qui ne dort jamais et fait toujours quelque chose pour vous, tout en ne consommant presque pas d'électricité. Si vous disposez d'une IP directe, vous pouvez y installer un serveur web, un serveur de messagerie, etc.

Linux ou Windows pour le piratage ?

La plupart des programmes utilisés pour les tests d'intrusion sous Linux sont multiplateformes et fonctionnent très bien sous Windows. Les seules exceptions concernent les programmes pour le Wi-Fi. Et le problème ne vient pas des programmes eux-mêmes (Aircrack-ng, par exemple, est un ensemble de programmes multiplateforme fourni avec les binaires officiels pour Windows), mais du mode moniteur de la carte réseau sous Windows.

Windows a son propre potentiel, il y a Cygwin, qui peut faire une grande partie de ce dont la ligne de commande Linux est capable. Je n’ai aucun doute sur le fait qu’un grand nombre de pentesters utilisent Windows. En fin de compte, l'essentiel n'est pas le système d'exploitation installé, mais la compréhension des aspects techniques, la compréhension du réseau, des applications Web et autres, ainsi que la capacité d'utiliser les outils.

Ceux qui choisissent Linux comme plate-forme de système d'exploitation de piratage bénéficient des avantages suivants :

  • Il existe de nombreux kits de distribution prêts à l'emploi dans lesquels les programmes spécialisés correspondants sont installés et configurés. Si vous installez et configurez tout cela sous Windows, il se peut qu'il soit plus rapide de gérer Linux.
  • Les applications Web et les divers serveurs et équipements réseau testés fonctionnent généralement ou sont basés sur Linux ou quelque chose de similaire. En maîtrisant l'OS Linux et ses commandes de base, vous apprenez simultanément le « but » du pentesting : vous acquérez des connaissances sur son fonctionnement, quels fichiers peuvent contenir des informations importantes, quelles commandes saisir dans le shell résultant, etc.
  • Nombre de consignes. Tous les livres étrangers sur le pentesting (je n'en ai vu aucun en langue nationale) décrivent le travail spécifiquement sous Linux. Bien sûr, vous pouvez spéculer et transférer les commandes vers Windows, mais l'effort déployé pour que tout fonctionne comme il se doit peut être égal à l'effort requis pour maîtriser Linux.
  • Eh bien, le Wi-Fi. Sous Linux, si votre carte réseau le prend en charge, il n'y a aucun problème avec le mode moniteur.

Beaucoup de gens le voient comme un système d’exploitation « hacker ». Les hackers eux-mêmes, notamment parmi les jeunes, sont considérés avec admiration. Ceci explique l'intérêt des jeunes pour Kali Linux. Ils essaient de l’installer et de l’exécuter et ils se posent beaucoup de questions « enfantines ». Il faut répondre à ces questions, aussi simples, naïves ou incorrectes soient-elles. Pour moi personnellement, le comportement des personnes « expérimentées » qui répondent à de telles questions par « pourquoi en as-tu besoin ? », « encore les vacances scolaires ? », « devrais-tu être banni pour des questions aussi stupides ? » est inacceptable pour moi ? etc. Les forums techniques russes sont remplis de cette impolitesse. Je ne me permets pas et ne permettrai pas à d'autres de faire cela sur FreeForum.biz. Absolument tout le monde, quel que soit son degré de spécialiste, a commencé par étudier les bases, a commencé par des questions «d'enfants». Ceux qui ne posent pas de questions simples ne connaîtront finalement jamais les réponses.

La configuration et l'utilisation de Kali Linux soulèvent également des questions parmi les utilisateurs avancés de Linux. Mais ces questions sont complexes ou créatives. Et d’un côté, je veux aider tous les débutants (puisque j’en suis moi-même un), mais d’un autre côté, je ne veux pas tomber au niveau complètement maternelle. Après tout, répondre à des questions banales n’est ni intéressant ni une perte de temps.

Par conséquent, pour tous les hackers débutants, j'ai préparé une liste de ce que vous devez apprendre. Pour chaque point, je vais essayer de vous expliquer pourquoi vous avez besoin de le connaître.

1. Bases des langages de programmation

1.1 HTML

En fait, HTML n'est même pas un langage de programmation, mais un langage de balisage, c'est-à-dire il est utilisé, en gros, pour formater du texte.

Comment peut-il aider un hacker débutant ? Je vais vous donner mon exemple personnel. L'un des fournisseurs Internet dont j'ai utilisé les services (un fournisseur local avec un réseau dans ma ville d'origine) avait (peut-être encore - je ne sais pas, j'ai quitté ce fournisseur il y a longtemps) son propre site Web et ses propres services pour les utilisateurs. Au début des années 2000, c'était pertinent : le trafic Internet (externe) était payant, donc tout le monde essayait d'utiliser les ressources locales. Ces ressources étaient certainement très populaires. L’un des plus populaires est le partage de fichiers. En raison d'abus constants de la part des utilisateurs (par exemple, sa camarade de classe Masha, « déshabillée » à l'aide de Photoshop), le propriétaire du service d'hébergement de fichiers a saisi un mot de passe obligatoire. Ce mot de passe a été généré automatiquement et n'a pas pu être contenu dans un commentaire de fichier. Ainsi, l'analyse du formulaire d'envoi de fichier et quelques expérimentations avec celui-ci ont montré que le mot de passe est contenu dans l'un des champs cachés du formulaire, qui, bien entendu, peut être modifié. Ce mot de passe n'était plus vérifié sur le serveur. En conséquence, en enregistrant le formulaire de téléchargement d'un fichier sur votre ordinateur et en le modifiant légèrement, nous avons réussi à nous assurer que les fichiers pourraient être téléchargés à nouveau sans mot de passe. Ce formulaire peut être utilisé par tout client du prestataire. Plus tard, le fournisseur a « comblé » le trou et a commencé à rechercher un mot de passe. Cependant, avec les mêmes manipulations simples, il était possible de s'assurer que les fichiers étaient toujours chargés avec un mot de passe « standard » (« 0000 », semble-t-il), et ce mot de passe pouvait également être écrit dans un commentaire sur le fichier.

Ceux qui connaissent au moins les bases du HTML comprennent parfaitement de quoi je parle. Pour d’autres, c’est juste une lettre chinoise.

Encore un nouvel exemple. L'autre jour (11 février 2015), un trou a été découvert dans le thème WordPress, qui permet de télécharger des fichiers dérivés sur le serveur. Description de ce sujet. Le fichier vulnérable dans ce thème est admin/upload-file.php. J'ai cherché sur ce fil et trouvé ce fichier. Le fichier est très court, je vais donc le donner dans son intégralité :

Ce fichier est en PHP, mais pour profiter de cette vulnérabilité, vous devez réaliser le formulaire de soumission de fichier en HTML.

Vous devez donc connaître HTML pour : a) rechercher des vulnérabilités ; b) exploiter les vulnérabilités. Il existe également des tâches plus avancées qui nécessitent des connaissances en HTML, mais arrêtons-nous là.

1.2PHP

Ci-dessus j'ai donné le contenu d'un petit fichier écrit en PHP. Ce fichier contient une telle faille que la qualité de la configuration du serveur, l'existence d'un pare-feu de fichiers, etc., n'ont plus d'importance. Si quelqu'un utilise ce thème, alors le site Web de cette personne est sous notre contrôle total (et si le serveur/l'hébergement est configuré de manière incorrecte, alors l'ensemble de l'ordinateur est sous notre contrôle). Mais pour comprendre cela, il faut connaître au moins un peu PHP.

Pour utiliser des exploits prêts à l'emploi que quelqu'un d'autre a écrits, encore une fois, vous devez connaître au moins les bases de PHP afin de savoir où écrire l'adresse du site et d'autres variables, et comment exécuter ce script en général.

1.3 MySQL

Habituellement, les choses les plus intéressantes se trouvent dans les bases de données. Pour comprendre comment utiliser l'injection MySQL, vous devez savoir ce qu'est l'injection MySQL. Pour comprendre l'essence de l'injection MySQL, vous devez savoir ce que sont les requêtes MySQL, quelle est la syntaxe de ces requêtes, quelle est la structure de la base de données, comment les données sont stockées, quelles sont les tables, etc.

En général, les trois premiers points, ainsi que les idées sur les dispositifs de sites Web, sont plus faciles à comprendre si vous apprenez non pas à « pirater » des sites Web, mais à les créer. Étudiez dans le but de faire quelque chose de positif. Il y a là un paradoxe, car de la même manière, pour apprendre à bien protéger les applications web, il faut apprendre à les pirater ! Ce n'est qu'en étant capable d'examiner les technologies Web à travers les yeux d'un pirate informatique que vous pourrez acquérir une expérience inestimable. C’est la même chose avec les sites Web : le simple fait d’apprendre les fonctions et les bases de la langue ne sert à rien. Vous devez devenir développeur Web pour comprendre les tenants et les aboutissants d’un site Web.

1.4 JavaScript, JQuery

À tout le moins, vous devez savoir que les sites Web sont contrôlés par JavaScript. En effet, sur certains sites qui ne permettent pas de sélectionner (et/ou copier) du contenu, ils ne permettent pas de télécharger un fichier, ou encore il suffit de désactiver JavaScript pour rendre tout cela possible.

Eh bien, pour désactiver JavaScript, vous devez savoir : a) dans quelles situations le fonctionnement (protection) du site en dépend ; b) comment JavaScript est connecté et de quelles manières les scripts peuvent être bloqués.

Vous pouvez donner une tonne d'exemples de protection de formulaire infructueuse à l'aide de JavaScript (je me souviens d'un formulaire sur le site Web du FSB de la Fédération de Russie - pour le soumettre, vous devez remplir cent cents champs (passeport, enregistrement, etc. ), mais avec les manipulations les plus simples, cette "limitation" peut être contournée (c'était il y a longtemps, il est fort possible qu'ils aient corrigé le formulaire de feedback)).

2. Bases des réseaux, des serveurs Web et des sites Web

2.1 Conception du réseau

Il faut absolument connaître la structure des réseaux : qu'est-ce qu'une adresse IP, qu'est-ce qu'elle permet d'identifier un internaute, comment cacher son IP, qu'est-ce qu'un proxy, qu'est-ce qu'un TOR, qu'est-ce qu'un domaine, des ports, etc. .

Vous devez d’abord connaître ce qui précède, au moins pour comprendre les textes et instructions informatiques de base. Et aussi prendre conscience du fait que l’anonymat sur Internet est une chose éphémère.

Des connaissances avancées sur la construction de réseaux vous aideront à l'avenir à effectuer des analyses efficaces à l'aide de programmes spéciaux.

2.2 Comprendre la conception et le fonctionnement d'un serveur Web

Comme dans les paragraphes précédents, je vais commencer par un exemple simple (d’ailleurs très récent). Lors de la visite de l'un des serveurs, il a été découvert que les paramètres du serveur permettent de visualiser le contenu des répertoires (liste des fichiers). phpMyAdmin a été trouvé sur le serveur, mais les mots de passe standards ne correspondaient pas. En parcourant les répertoires pour tenter de trouver des scripts vulnérables (il existe des scripts auto-écrits pour traiter les dossiers hospitaliers et distribuer des « numéros »), un fichier texte (!) a été trouvé contenant une ligne avec deux mots séparés par une virgule. Il s’est avéré qu’il s’agissait du login et du mot de passe de phpMyAdmin. La base de données, comme on dit, nous appartient en raison de la stupidité clinique du développeur, mais pour écrire votre fichier sur le serveur, vous aviez besoin de connaissances sur ce serveur. Par exemple, vous devez connaître le chemin absolu où l’enregistrement sera effectué. Pour connaître le chemin absolu, vous devez au moins connaître la structure des répertoires du serveur Apache.

CREATE TABLE `shell` (`script` TEXT NOT NULL) COMMENT = "table pour inclure" ; INSÉRER DANS LES VALEURS `shell` (`script`) (""); SELECT script FROM `shell` INTO OUTFILE "C://Apache24/htdocs/shell.php"; DROP TABLE `shell`;

Ce que j'essaie de dire avec cet exemple n'est pas que vous devez apprendre la structure Apache. Je tiens à dire que sans connaissance de son fonctionnement, des principes généraux de fonctionnement d'un serveur Web, vous serez constamment confronté à l'incapacité de « promouvoir » pleinement une vulnérabilité, même si elle a déjà été trouvée.

Vous vous souvenez de ce que j'ai dit sur les langages de programmation et la compréhension du fonctionnement des sites Web ? Pour comprendre toute la profondeur, vous devez devenir vous-même développeur Web. Pour comprendre un serveur Web, vous devez lire des livres non pas sur le piratage d'un serveur Web, mais sur sa maintenance. Ceux. vous devez devenir vous-même administrateur système, et la prise de conscience des points faibles, dans quelles directions vous devez « creuser » lorsque vous essayez de pénétrer dans un serveur Web, viendra d'elle-même.

2.3 Comprendre la conception et le fonctionnement des sites Web

En général, beaucoup de choses deviendront claires lorsque vous étudierez les langages de programmation pour applications Web.

Pour continuer à vous familiariser avec la conception de sites Web, il est conseillé d'avoir une expérience de travail avec les systèmes de gestion de contenu, les moteurs et les scripts populaires. Sachez comment fonctionnent les plugins et les thèmes, où ils se trouvent, quels fichiers peuvent vous intéresser, etc.

Par exemple, sachant très simplement que pour ajouter une image sur un site qui se situe deux répertoires plus haut par rapport au fichier .htm, vous pouvez utiliser la construction ./../../, c'est-à-dire Par exemple

Cette information en apparence banale nous a permis de créer un « hack » très simple, mais incroyablement efficace.

If ($handle = opendir("./../../../../../../../../..")) ( while (false !== ($entry = readdir($handle))) ( if ($entry != "." && $entry != "..") ( echo "$entry
"; ) ) fermé($handle); )

Quand j'ai découvert cela par moi-même, j'utilisais encore un hébergement gratuit (le nom de domaine de l'entreprise était holm.ru ou holms.ru - ils distribuaient également des domaines de troisième niveau comme *.h7.ru, *.h10.ru, c'est-à-dire les numéros il y a des changements séquentiels au fur et à mesure que les serveurs se remplissent).

J'ai appliqué ces quelques lignes que j'ai données juste au dessus et il s'est avéré que je pouvais dépasser les limites du dossier qui m'était attribué. Un script légèrement amélioré m'a permis non seulement d'afficher la racine du serveur, mais également d'accéder aux dossiers que j'ai vus et d'ouvrir les fichiers pour les visualiser. Le résultat était incroyable ! J'ai beaucoup appris sur les sites des autres. La principale découverte est que le rapport entre les « sites normaux » et ceux « anormaux » (frauduleux, dénués de sens, simplement vides) n’est pas en faveur des sites « normaux ». Je suis tombé sur des « sites de rencontres » (j'en croise encore parfois) où la « couverture » est très belle - la page principale, avec des gens sympas qui semblent déjà être des utilisateurs du site. Et si vous souhaitez commencer à communiquer avec eux, vous devez vous inscrire et y saisir quelque chose ou payer. Mais en fait, il n’y a rien d’autre à l’intérieur du site que ces dix photos. C'est désormais clair pour tout le monde, mais à une époque, j'étudiais la fraude sur Internet exactement de cette manière.

Mais la chose la plus étonnante que j’ai découverte, ce sont les sites dont les noms de domaine incluaient le mot mail. « À l'extérieur », ces sites consistaient en une seule page, complètement identique à la page de connexion mail.ru. Mais à l’intérieur se trouvaient plusieurs fichiers, dont l’un se révélait presque toujours être un ensemble de paires login-mot de passe. Ceux. quelqu'un, sous divers prétextes (regarder une carte postale, par exemple), a attiré les utilisateurs vers cette page, des utilisateurs sans méfiance ont saisi leurs données et cela s'est déjà retrouvé avec le pirate informatique.

Il y avait de nombreux comptes compromis (j’en ai collecté plus d’une centaine sur tous les sites). Dans environ la moitié des cas, le mot de passe ne correspondait pas (l'utilisateur a réussi à le modifier) ​​ou la boîte aux lettres était complètement vide (l'utilisateur a soupçonné quelque chose et a supprimé toutes les lettres). Mais en me souvenant de la seconde moitié, je suis encore tourmenté par une supposition : quand les gens pensent que personne ne le saura, sont-ils vraiment si bizarres ou est-ce que j'ai juste de la chance avec la sélection ? Parmi les cartons intéressants, beaucoup contenaient, d'une manière ou d'une autre, de la correspondance sur l'échange de photographies intimes, des conversations « en dessous de la ceinture », et le thème des mineurs était abordé dans une partie importante. Je me souviens encore d'une photo d'un homme vêtu d'une tenue de femme (bas et l'ensemble), qui l'envoyait à une femme qui s'intéressait aux femmes (l'homme l'avait convaincu qu'il était une femme) pour qu'elle lui envoie " photos nues en retour. Jusqu’où êtes-vous prêt à aller pour voir une photo d’une femme nue ? 🙂

Il est fort possible qu'il s'agisse d'une sorte de mesure d'enquête, d'un moyen d'obtenir secrètement des informations auprès d'individus attirés par les forces de l'ordre. Je refuse toujours de penser que la plupart des gens (ou du moins une masse importante) sont comme ça.

Il est difficile d'être en désaccord avec Viktor Pelevin

C’est juste que l’assembleur de l’âme de quelqu’un d’autre semble rarement attrayant après un examen attentif.

3. Bases du système d'exploitation Linux

Plus vous en savez sur Linux, mieux c'est. Ne serait-ce que parce qu'un grand nombre de serveurs Web sur Internet utilisent Linux comme système d'exploitation.

J'ai fait part de mon cas de dépassement du répertoire qui m'était alloué sur l'hébergement. Avec un autre hébergeur, j'ai réussi à accéder au répertoire racine du système de fichiers (mais les sites se sont avérés inaccessibles, puisque les droits sur les dossiers étaient correctement enregistrés). Et imaginez la situation : je me précipite dans les dossiers du serveur, car j'ai besoin de récupérer rapidement quelque chose de précieux, les mots de passe sont différents, etc. Où Linux a-t-il tout ? Dans quels répertoires dois-je aller et quels fichiers dois-je télécharger ? Je ne connaissais absolument pas Linux et la principale conclusion que je me suis tirée après cet incident est que vous devez comprendre Linux, sinon il n'y a pas d'autre moyen.

De nombreux programmes d’analyse de pénétration des réseaux et des sites Web fonctionnent sous Linux. Vous devez savoir comment installer, comment exécuter (s'il s'agit d'un programme console).

En général, dans un système d'exploitation inhabituel, les utilisateurs ne savent parfois pas comment copier un fichier, ni comment l'ouvrir, ni comment installer un nouveau programme, ni « où se trouve le lecteur D », etc. De manière générale, apprenez Linux sous ses différents aspects.

Et commencez votre étude non pas avec Kali Linux, mais, par exemple, avec Linux Mint.

Kali Linux n'est pas très adapté aux débutants. Même le sympathique Linux Mint peut avoir des problèmes avec une utilisation normale. Que dire de Kali Linux. Tous les programmes disponibles dans Kali Linux peuvent parfaitement fonctionner sur d'autres versions de Linux. Je recommanderais ceci : utilisez Linux Mint comme système d'exploitation principal et après avoir appris de nouveaux programmes, installez-les dans Linux Mint ou utilisez Kali Linux comme machine virtuelle (deuxième système d'exploitation).

Derniers mots

J'ai donné plusieurs exemples tirés de mes expériences sur le contournement des restrictions et de la pénétration. Combien d’entre eux ai-je utilisé Kali Linux ? Aucun. Je me souviens très bien de ma première connaissance avec le prédécesseur de Kali Linux - je l'ai installé sur un ordinateur virtuel, j'ai regardé le menu (il y avait des noms anglais incompréhensibles), j'ai essayé de lancer certains programmes (la ligne de commande s'ouvrait presque toujours), j'ai réalisé que rien n'était clair du tout ici, j'ai tout fermé et supprimé.

Apprenez les langages de programmation (PHP, MySQL, HTML), les nouvelles technologies, Linux, la conception et l'exploitation de serveurs. Essayez de penser de manière créative (comment créer un site Web, comment entretenir un serveur, comment travailler efficacement sous Linux) et la compréhension des processus sous-jacents viendra d'elle-même. Et cela (connaissance et compréhension des processus en cours) est la principale richesse d'un hacker. Pas besoin de rester bloqué sur Kali Linux. Apprendre Kali Linux sans savoir ce que j’ai énuméré ci-dessus, c’est comme construire une maison sans fondations.

mob_info