Université d'État d'Adams. Comment pirater des sites Web. Partie 1

Présentateur: Je remercie tout le monde d'être venu à notre première conférence de la série «Conversations sur les sciences et les mathématiques pendant la pause déjeuner». Vous avez reçu des e-mails, en outre, autour de ce bâtiment du campus sont collés les horaires de sept conférences qui se tiendront ce semestre. Je veux vous présenter le Dr Susan Loveland du Département d'informatique, qui vous expliquera comment pirater des sites.



Susan Loveland: Au début de la présentation, je tiens à mentionner que les pirates sont disponibles dans toutes les nuances de noir et blanc. Aujourd'hui, je vais jouer le rôle d'un hacker dans le Black Hat et agir sur le côté sombre du hack car être mauvais est beaucoup plus amusant que bon. Il y a des pirates informatiques dans White Hats qui travaillent pour des sociétés de sécurité informatique et enquêtent sur la criminalistique informatique. Ils essaient de trouver des failles de sécurité avant que les méchants ne les exploitent à leurs propres fins.

La tâche de ces pirates est de trouver une vulnérabilité sans nuire à l'application, de compiler un rapport sur une faille de sécurité et de l'envoyer à l'entreprise. Je n'ai moi-même jamais pensé à pirater le site, j'ai donc amené un co-rapporteur qui a préparé les diapositives de notre présentation (met un chapeau noir).

Je suis Eve Hacker (Eve Hacker), l'alter ego du Dr Loveland, qui vous montrera comment pirater des sites. J'ai oublié de mentionner que le chapeau noir en tant que symbole des pirates nous est venu de vieux westerns dans lesquels les méchants portaient généralement un tel chapeau. Et j'ai décidé que pour être un hacker efficace, je devais choisir la robe appropriée pour moi. Je peux donc créer une ambiance appropriée pour moi, et vous pouvez être intéressé à regarder cette présentation. Alors, je donne la parole au Dr Loveland (enlève son chapeau).

Susan Loveland: Merci, Eve. Avant de commencer, je veux vous expliquer pourquoi Internet est si attrayant pour les pirates. Premièrement, la généralisation et l'accessibilité des applications - selon un rapport de 2009 de l'association White Hat, environ 80% des sites Web présentent de graves vulnérabilités.

Deuxièmement, c'est rentable - l'automatisation des attaques minimise les coûts des pirates tout en augmentant les bénéfices à des tailles énormes. Troisièmement, la facilité d'utilisation - les pirates intelligents et créatifs aiment se vanter de leurs exploits, et tout méchant peut utiliser les résultats de leur travail avec Google pour trouver des centaines d'outils pour pirater la bonne application. Quatrièmement, par anonymat - vous pouvez enfreindre la loi en toute sécurité, car il est très difficile de savoir quand l'application Web a été piratée et de retrouver la personne qui l'a fait. Lorsque vous volez physiquement une banque, vous devez être sur le territoire de la banque, mais lorsque vous piratez une application Web, vous pouvez travailler depuis l'étranger, où il n'y a pas de lois d'extradition et qui est relativement à l'abri du piratage.

Alors, que faites-vous en premier lorsque vous essayez de pirater une application? La première étape est la plus difficile, car vous devez comprendre ce qu'est cette application, comment elle fonctionne, où elle a des «entrées et sorties».



L'examen de l'infrastructure d'application comprend l'identification du serveur et l'analyse des ports. Ensuite, vous devez comprendre la composition de l'application: les chaînes et les paramètres des requêtes URL, le mécanisme d'authentification, en utilisant TLS / SSL, le logiciel utilisé dans l'application (PHP, Java), la structure du répertoire et la gestion de session.

Par conséquent, je vous présente simplement l'application qui sera piratée et vous guiderai à travers toutes les vulnérabilités possibles. L'application que nous piratons aujourd'hui s'appelle "Pages universitaires". Ce projet a été développé dans la salle de classe de mon cours de programmation Web CS245 il y a environ un an et demi.



Son idée était que tout le monde sur le campus utilise un seul ensemble de pages Web pour chaque faculté, car cela semblera plus professionnel que les pages de conceptions différentes faites par des employés de facultés individuelles. J'ai parlé avec Mark Schoneher pour m'aider, moi et mes étudiants, dans ce dossier. Mark a envoyé des courriels à tout le monde pour leur demander quel type de contenu ils aimeraient voir sur les pages Web du corps professoral, et ma classe a développé des «pages du corps professoral» qui sont présentées sur cette diapositive.

Comme vous pouvez le voir, il existe une page principale avec un contenu destiné aux étudiants de la faculté, l'onglet «Formation», où les enseignants peuvent publier des liens vers des cours de formation individuels, l'onglet «Bourses», où vous pouvez placer les résultats des activités scientifiques, les onglets «Éducation» et «Consultations» .

Mes étudiants ont essayé de faciliter la maintenance de ces pages par le personnel enseignant, ils ont donc lié l'autorisation utilisateur à la page. Après avoir cliqué sur le lien dans le coin supérieur gauche de la page, un formulaire d'inscription s'ouvre dans lequel vous devez saisir le nom d'utilisateur sur le réseau du campus et l'identifiant du mot de passe. Après autorisation, la même page principale s'ouvre, mais le bouton "Modifier" apparaît sous le mot "Informations". Après avoir cliqué sur ce bouton, l'enseignant peut entrer dans le panneau de l'éditeur et ajouter ou corriger des informations sur la page. Ce sont les principales caractéristiques de l'application que nous essayons de pirater aujourd'hui.



Revenons à notre présentation. Dans le piratage, comme toute autre profession, vous avez besoin d'équipement, sinon le travail sera inefficace. Pour pirater, nous avons besoin d'un serveur proxy.



Un serveur proxy accélère l'accès au piratage d'une page Web en interceptant tous les messages entre l'ordinateur client et le serveur. Vous pouvez afficher tous les messages, c'est très utile, car il y a beaucoup de trafic entre le client et le serveur qui n'est pas visible de l'extérieur. Un serveur proxy vous permet non seulement d'examiner le contenu du trafic, mais également de le modifier. En fait, vous pouvez déterminer entièrement ce qui va au serveur pour les étudiants qui étudient la programmation en classe.

Je tiens à noter que la façon dont vous gérez votre code côté client n'a pas d'importance, car un bon pirate peut toujours contourner votre contrôle en contactant le serveur connecté à votre navigateur. Ainsi, pour casser notre application, nous avons besoin d'un serveur proxy. Il n'est pas difficile de l'obtenir - il vous suffit de télécharger un proxy sur Internet.



Sur la diapositive, vous voyez trois procurations populaires: WebScarab, BurpSuite et Paros. Vous pouvez télécharger gratuitement l'une d'entre elles, l'installer comme n'importe quelle autre application et configurer votre navigateur pour qu'il fonctionne avec des proxys en quelques minutes.

Le premier type d'attaque que nous utilisons aujourd'hui est l'attaque par dictionnaire ou recherche par dictionnaire. Toutes les attaques de ce type tentent de récupérer le mot de passe de quelqu'un en triant la liste des mots de passe les plus courants et des mots de passe par défaut à l'aide d'une collection de dictionnaires de mots de passe. Si vous avez besoin d'un tel dictionnaire, il peut également être téléchargé sur Internet, il s'agit d'une ressource publique.
Avant de lancer une attaque par dictionnaire, vous devez étudier attentivement la politique de mot de passe pour l'application que vous essayez d'attaquer. Dans notre cas, les «pages facultaires» sont liées au mot de passe de l'Université Adams, nous devons donc savoir quel type de mot de passe nous allons sélectionner pour pirater l'application.



La meilleure façon de savoir à quoi ressemble le mot de passe est d'utiliser la fonction de récupération de mot de passe, car elle vous donne un indice. Regardez ce que j'ai fait - je viens de saisir le mauvais mot de passe, et ces gars-là étaient si gentils qu'ils ont posté un message en haut de la page qui décrit le type de mots de passe que je peux essayer. Ainsi, j'apprends que dans mon dictionnaire, qui est utilisé lors de l'exécution de Dictionary Attack, je devrais essayer tous les mots d'une longueur d'au moins 8 caractères, avec des lettres majuscules et minuscules et des chiffres.

Je dois admettre qu'ils ont aggravé le service depuis la dernière fois que j'ai visité le site. Maintenant, vous ne pouvez pas simplement vérifier la fonctionnalité de leur mot de passe, car ils ont changé leur politique concernant les pirates en une version moins conviviale, et maintenant, comme vous pouvez le voir, ils ne vous donnent aucun indice lorsqu'ils essaient de réinitialiser le mot de passe.

Heureusement, j'ai enregistré une capture d'écran de ce à quoi il ressemblait auparavant, afin que nous sachions quel mot de passe choisir. Je pense que nous sommes prêts à donner la parole à Eve, afin qu'elle montre comment l'attaque est menée en utilisant la méthode de recherche par dictionnaire.

Eve Hacker: Merci Dr Loveland! La première chose que je vais faire est d'aller dans la fenêtre d'autorisation, dont nous avons besoin pour envoyer des mots de passe au serveur, et changer légèrement la chaîne URL. Cela fait, je reçois un formulaire d'autorisation sur l'écran dans lequel je dois entrer le nom d'utilisateur et le mot de passe. Je devrais pouvoir distinguer le bon mot de passe du mauvais, c'est-à-dire voir quelle erreur l'application signalera lors de la saisie du mauvais mot de passe.

Comme je vais récupérer le mot de passe du Dr Loveland, je tape son nom d'utilisateur sloveland dans la ligne du nom d'utilisateur, saisis le mauvais mot de passe à 3 caractères et clique sur le bouton Connexion. Après cela, le message «Connexion invalide» apparaît. Il est très important de voir comment l'application répond à un mot de passe incorrect.

Ensuite, je dois configurer mon navigateur pour utiliser un serveur proxy, je modifie donc les paramètres de Firefox. Ouvrez l'onglet «Paramètres avancés», décochez la case «Utiliser les paramètres du proxy système» et cochez la case «Utiliser la configuration manuelle du proxy». Mon proxy "écoutera" le port 8080, afin qu'il puisse intercepter toutes les requêtes adressées au serveur.



La prochaine chose que je dois faire est d'installer le serveur proxy téléchargé, dans mon cas, c'est Burp Suite. Vous voyez maintenant à quoi ressemble la fenêtre de ce proxy, que j'utilise pendant l'attaque. Mais je dois retourner sur la page d'autorisation et la soumettre à nouveau au serveur. Le fait est qu'un problème peut survenir du fait que j'ai d'abord démarré le proxy sans recharger la page. Si vous l'avez remarqué, notre application utilise une connexion HTTPS sécurisée et le serveur proxy n'a pas de certificat de sécurité approprié. Par conséquent, je dois d'abord confirmer que l'application peut utiliser une connexion non sécurisée avec le proxy et mettre son URL dans les exceptions de stratégie de sécurité.



Que peut-il arriver si je ne corrige pas cette erreur? Laissez-moi revenir en arrière et vous montrer ceci. Je reviens aux paramètres du navigateur, et cette fois je ne me précipiterai pas pour installer des paramètres de proxy manuels qui interceptent les requêtes. J'activerai à nouveau la case à cocher "Utiliser les paramètres du proxy système", car je dois d'abord obtenir la page d'autorisation d'origine et, étant sur cette page, j'entrerai les paramètres du navigateur et reviendrai aux paramètres manuels du proxy.

Donc, nous avons maintenant une page d'autorisation qui «parlera» au serveur proxy. Je ressaisis le nom d'utilisateur du Dr Loveland et le même mot de passe invalide - fff, qui sont envoyés à mon serveur proxy.

Ensuite, je vais sur la page de gestion du serveur et je clique sur l'onglet qui ouvre la fenêtre de visualisation de la demande reçue.



Voyons à quoi ressemble cette requête dans Spider - c'est l'onglet suivant dans la fenêtre Burp Suite. Pour ce faire, j'utilise la commande "envoyer à Spider" et je vois à quoi ressemble le formulaire de connexion, c'est vraiment intéressant. Je clique sur le bouton «Ignorer le formulaire».



Et je reviens à la requête POST qui m'intéresse. Nous voyons une demande qui contient un formulaire d'autorisation, c'est-à-dire une demande de saisie des informations utilisateur.



Nous avons plusieurs méthodes d'attaque ici - Scanner, Intruder, Repeater, Sequencer, Decoder, Comparer. Je vais utiliser Intruder. Je lui envoie donc ces informations à l'aide de la commande Envoyer à l'intrus, et elles apparaissent dans la fenêtre de l'onglet Positions. Ce sont toutes les informations qui ont été envoyées au serveur proxy.



Il montre beaucoup de choses cachées qui ne peuvent pas être vues sur la page Web et a mis en évidence les champs que les pirates aiment traiter: ID de session ID de session, nom d'utilisateur nom d'utilisateur et mot de passe mot de passe utilisé lors de notre attaque. La seule chose qui nous intéresse pour Dictionary Attack est le mot de passe, donc je vais effacer la plupart des champs, sélectionner le champ de mot de passe et utiliser le bouton ajouter § pour ajouter ce champ au dictionnaire.

Cet onglet vous plaira vraiment en tant que hacker, car sur celui-ci en utilisant le menu déroulant, vous pouvez sélectionner différentes méthodes d'attaque - Sniper, Bélier batteur, Pitchfork ou Cluster bomb. Je vais juste le faire et choisir l'attaque Sniper. Ensuite, sur l'onglet «Payloads», une petite configuration est effectuée - nous allons faire un remplacement de caractère, car je vais simplement remplacer les caractères du mot de passe par les mots du dictionnaire, après quoi je dois télécharger le dictionnaire que j'ai précédemment téléchargé sur Internet. Vous voyez le dictionnaire qui s'ouvre, veuillez noter que j'en ai supprimé tous les mots contenant moins de 8 caractères, car je ne veux pas perdre de temps.



Je veux attirer votre attention sur le bloc de droite avec les paramètres a, b et e. Permettez-moi de demander: lorsque vous êtes obligé de choisir un mot de passe, où vous devez entrer des chiffres ou des symboles, avez-vous déjà choisi des chiffres ou des symboles qui ressemblent aux lettres correspondantes par quoi allez-vous les remplacer? Vous pourriez être tenté d'utiliser cette méthode pour vous souvenir plus facilement de votre mot de passe, mais les pirates en sont bien conscients. Ainsi, les gens utilisent souvent 4 pour A, 8 pour B ou 3 pour E. Parfois, la lettre A est remplacée par le symbole @, et la lettre b est remplacée par le chiffre 6, car elle lui ressemble. Ainsi, dans ce bloc, vous pouvez configurer de telles correspondances.

Je sais également que les mots de passe universitaires nécessitent des lettres majuscules, et comme mon dictionnaire ne contient que des lettres minuscules, j'utilise le menu ci-dessous pour changer le processus de sélection du mot de passe et modifier les clés des mots qui seront envoyés à cet outil de piratage. Je note également que vous pouvez utiliser des noms propres. Étant donné que cet ordinateur appartient au scientifique, elle aime probablement utiliser des signes de ponctuation, et je propose une telle option, en la marquant avec un menu déroulant.

La dernière chose à faire est d'aller dans l'onglet Options et de saisir l'adresse du site que nous voulons pirater, j'entre donc ici l'adresse de la page d'autorisation.

À la toute fin, je dois utiliser un outil qui me permettra de savoir si le mot de passe est correct ou non, donc je tape le paramètre Erreur de connexion dans la chaîne afin que l'apparition de cette phrase à l'écran affiche une erreur lors de la tentative de connexion.



Maintenant je peux commencer mon attaque. Je note qu'être partenaire du Dr Loveland pendant de nombreuses années n'est pas trop rentable, je n'ai donc pas pu acheter une version professionnelle de Burp Suite et j'ai profité de la version gratuite, comme indiqué par la fenêtre qui est apparue à l'écran. Ainsi, dans la fenêtre Intruder, vous voyez comment le processus de piratage se déroule et diverses lettres et symboles sont substitués dans les variantes de mot de passe éprouvées.



Habituellement, à cette époque, je vais prendre une tasse de café ou même retourner à l'ordinateur le lendemain, car c'est un processus assez lent - comme vous pouvez le voir, il a commencé avec la toute première lettre de l'alphabet. Cependant, nous avons eu de la chance - vous voyez la septième ligne avec le résultat.



Le Dr Loveland a choisi le mot de passe A @ rdv @ rk en utilisant des caractères et des lettres, de sorte que ce mot de passe soit parfaitement conforme aux exigences de l'université et était facile à deviner avec Dictionary Attack. Par conséquent, vous devez être très, très prudent lors du choix de votre mot de passe.
Je donne donc la parole au Dr Loveland, mais veuillez noter que maintenant je connais votre mot de passe et que je peux accéder au site à tout moment en votre nom (supprime le Black Hat).

Susan Loveland: Merci, Eve. Je veux demander au public: quelle est la fréquence des attaques par piratage de mots de passe? La réponse est très, très courante! Selon les experts, environ 70% des sites présentent des vulnérabilités du système d'autorisation. Cela signifie que le développeur de l'application a fait une erreur dans le mécanisme de connexion, ce qui facilite le piratage du site. Mais les attaques par Dictionary Attack sont en tout cas très populaires parmi les pirates, et le 5 janvier dernier, cette méthode de piratage a été utilisée contre le compte administrateur Twitter, ce qui a permis de pirater les comptes de 33 personnes très célèbres, dont Obama, et de publier des blagues de piratage sur leurs pages.

Je vais vous parler d'un cas aussi anecdotique: lorsque j'ai lancé le serveur Web pour mon cours l'année dernière, il n'y avait que quatre étudiants là-bas, mais en théorie, c'est un serveur très, très important, donc pendant deux semaines après le lancement, il a subi des attaques comme " recherche par dictionnaire »à partir de deux sources différentes. Ces attaques sont donc très, très courantes.

21:35 min

Université d'État d'Adams. Comment pirater des sites Web. 2e partie


Merci de rester avec nous. Aimez-vous nos articles? Vous voulez voir des matériaux plus intéressants? Soutenez-nous en passant une commande ou en le recommandant à vos amis, une réduction de 30% pour les utilisateurs Habr sur un analogue unique de serveurs d'entrée de gamme que nous avons inventés pour vous: Toute la vérité sur VPS (KVM) E5-2650 v4 (6 cœurs) 10 Go DDR4 240 Go SSD 1 Gbps à partir de 20 $ ou comment diviser le serveur? (les options sont disponibles avec RAID1 et RAID10, jusqu'à 24 cœurs et jusqu'à 40 Go de DDR4).

VPS (KVM) E5-2650 v4 (6 cœurs) 10 Go DDR4 240 Go SSD 1 Gbit / s jusqu'au printemps gratuitement lors du paiement pendant six mois, vous pouvez commander ici .

Dell R730xd 2 fois moins cher? Nous avons seulement 2 x Intel Dodeca-Core Xeon E5-2650v4 128 Go DDR4 6x480 Go SSD 1 Gbps 100 TV à partir de 249 $ aux Pays-Bas et aux États-Unis! Pour en savoir plus sur la création d'un bâtiment d'infrastructure. classe utilisant des serveurs Dell R730xd E5-2650 v4 coûtant 9 000 euros pour un sou?

Source: https://habr.com/ru/post/fr438330/


All Articles