Nous avons couvert le niveau OverTheWire Natas 19-20. Ce niveau était similaire au niveau précédent mais avec l'ID de session qui n'est plus généré séquentiellement et dans le nouveau défi, l'ID de session est généré en utilisant une plage de nombres de 1 à 640 puis combiné avec le nom d'utilisateur utilisé pour se connecter et enfin le nom final. la chaîne est codée en hexadécimal. L'utilisation de scripts Python a permis d'identifier le modèle utilisé lors de la création de l'ID de session et de trouver celui associé au compte administrateur. . Cela faisait partie de OverTheWire War Games Natas Niveau 19-20

Obtenir les notes du certificat OSCP

Transcription vidéo

Que se passe-t-il, les gars, bienvenue dans cette vidéo d'aujourd'hui, nous allons faire des jeux CTF en ligne et nous allons faire de l'amour et de l'éclairage, donc nous passons de 19 autres au niveau 20.
D'accord, nous visitons l'URL et voyons un formulaire de connexion. Le titre indique que cette page utilise principalement le même code que le niveau précédent, mais les identifiants de session ne sont plus séquentiels.
donc fondamentalement, si vous passez au niveau précédent, si vous vous souvenez du niveau précédent, nous forcions brutalement les ID de session afin que les ID de session soient prévisibles et attribuaient une valeur numérique dans le code qui n'est pas bonne du point de vue de la sécurité.

Parce que vous pouvez utiliser la Force Brute
l'ID de sécurité ou l'ID de session et découvrez essentiellement quel est l'ID de session associé au compte administrateur, c'est ce que nous avons fait dans la vidéo précédente mais maintenant ce n'est plus le cas car il est dit que les ID de session ne sont plus séquentiels et nous le sommes ne pas donner le code source, ce qui signifie qu'il s'agit d'un test en boîte noire.

Veuillez vous connecter avec votre compte administrateur pour récupérer les informations d'identification des natifs 20, donc si nous nous connectons maintenant avec quoi que ce soit pour tester la réponse de l'application Web.
Puisque nous testons les ID de session, nous voulons maintenant jeter un œil à l'ID de session de l'utilisateur que nous utilisons pour nous connecter, c'est-à-dire Test2, donc nous faisons un clic droit et nous allons inspecter maintenant, à partir de là, nous allons à l'application.
et on met en évidence les cookies je prendrai note de l'identifiant de session c'est la session si on copie ça et va sur cyberchef.

De l'hexadécimal, nous convertissons maintenant la valeur hexadécimale en texte ASCII correspondant, comme vous pouvez le voir, le résultat est 380-Test 2, donc l'utilisateur que nous avons utilisé fait partie de cet ID de session.

Pour mieux comprendre cela, nous devons revenir en arrière et nous connecter avec un autre utilisateur et voir en quoi l'ID de décision sera différent, nous supprimons donc ce cookie d'ici.
on retourne à la page principale et on tape cette fois test5 login à nouveau on va inspecter on attend les cookies on clique sur l'identifiant de session on va sur cyberchef on colle l'identifiant de session
et en effet, il s'agit du nouvel identifiant de session, alors voyez les gars, le nom d'utilisateur que nous utilisons est toujours ajouté dans le cadre du cookie avant le codage hexadécimal.
cette fois et cette fois Test2 et test5 et il y a un nombre entre avant le nom d'utilisateur.

Cette fois, nous allons essayer de nous connecter avec un compte administrateur, donc le mot de passe admin1 est admin 1 et maintenant nous voulons jeter un œil au cookie.
copiez le cookie pour que ce soit le nouveau cookie, donc encore une fois, il inclut le nom d'utilisateur admin1 et avant le nom d'utilisateur, il y a un numéro, essayons maintenant avec un autre utilisateur administrateur
donc nous supprimons le dernier cookie admin6 cette fois, jetez un œil à nouveau aux cookies et encore une fois comme vous pouvez le voir, admin6 fait partie du cookie et avant le nom d'utilisateur il y a le numéro
maintenant, vous voyez qu'il y a un modèle, donc lorsque nous nous connectons pour la première fois avec des utilisateurs réguliers, car vous pouvez voir les cookies, ils semblent avoir des parties communes commençant par le 2D 2d74657375, c'est la partie commune pour les utilisateurs ou les utilisateurs réguliers.

Si nous allons voir les utilisateurs administrateurs et mettons en évidence les parties communes dans leurs identifiants de session, nous pouvons commencer à partir de là, alors que devons-nous faire ?
nous devons supposer que nous voulons accéder à l'utilisateur admin uniquement admin pour pouvoir le faire, nous devons savoir où se trouve la partie admin en hexadécimal
il me semble donc que c'est la partie admin en hexadécimal pour confirmer les soupçons car vous pouvez voir la partie admin donc nous devons garder cette partie admin constante dans notre fuzzing et nous devons trouver le numéro correct.

Donc, fondamentalement, nous allons préciser les nombres de zéro à 640, d'accord, car 640 était le nombre maximum utilisé pour générer les identifiants de session si vous vous souvenez du dernier défi, donc de 0 à 640, ces nombres sont générés en fonction de cette plage de 0 à 640 donc nous voulons parcourir ces nombres de 0 à 640 et les essayer avec l'administrateur et elle choisira lequel nous accordera l'accès donc fondamentalement, nous faisons de la force brute et du fuzz en même temps
voyons à quoi cela ressemble dans un script python.

D'accord, la première chose que nous faisons est de définir la cible, c'est l'URL vers laquelle nous allons naviguer et ce sont les informations d'identification et nous allons simuler
authentification de base en utilisant le protocole HTTP avec les informations d'identification du niveau précédent, ensuite nous définissons les paramètres qui contrôlent l'ID de session PHP, ils sont le maximum et
le nombre le plus bas et le plus élevé, le nombre le plus bas est un et le nombre le plus élevé est à nouveau 640 selon le défi précédent, donc entre ces deux nombres, nous allons générer les identifiants de session, puis nous passons par une boucle while ici, donc dans la boucle while nous voulons essayez tous les ID de session possibles, ok, l'ID de session est composé de deux bits, le premier bit est le nombre compris entre 0 et 640 et le nom d'utilisateur lui-même, nous voulons tester ces chiffres mais nous voulons garder le nom d'utilisateur constant qui se trouve être admin pour ce faire, c'est la partie administrateur
en HEX et c'est ainsi que nous convertissons le nombre entre 1 et 640 en hexadécimal afin que, comme vous pouvez le voir, nous le retirons de
la boucle While à partir d'ici donc d'abord le premier nombre sera un, puis nous les augmenterons de un à chaque fois que nous parcourrons la boucle
et nous convertissons cela en hexadécimal à la fin, l'ID de décision est tel quel en hexadécimal.

Le format hexadécimal plus les parties d'administration, c'est le format hexadécimal et cette partie d'album, nous les additionnons pour obtenir cette formule, le numéro et le nom d'utilisateur, puis nous testons cela dans une requête de base via les en-têtes et les variables de réponse. Ensuite, nous exécutons le script maintenant, ou la diffusion du script imprimera tous les identifiants de session possibles générés au cours du processus, d'accord.
désormais, tous ces identifiants de session sont tentés en direct sur leur application.

C'est donc l'ID de session qui a généré la réponse correcte que nous voulions, alors jetons un coup d'œil, copions-le et allons dans le navigateur car vous pouvez lire tout cela, donc c'est 281-admin qui est le numéro correct qui a généré le cookie qui a rendu la cette sortie ainsi.
si vous descendez, nous pouvons voir cette réponse, vous êtes un administrateur, les informations d'identification pour le niveau suivant ne sont pas égales à 20 et c'est le mot de passe si efficacement que cela conclut le niveau actuel
et nous pouvons maintenant tenter de nous connecter au niveau suivant en changeant le 19 dans l'URL en 20 ok alors essayons le mot de passe et maintenant nous sommes au niveau 20 nous ferons cela dans les prochaines vidéos les gars pour l'instant je conclus cette vidéo et Je tiens à vous remercier d'avoir regardé, je vous verrai plus tard.

Vidéo pas à pas

 

A propos de l'Auteur

Je crée des notes de cybersécurité, des notes de marketing numérique et des cours en ligne. Je fournis également des conseils en marketing numérique, y compris, mais sans s'y limiter, le référencement, les publicités Google et Meta et l'administration CRM.

Voir les Articles