Donc, l'inclusion locale complète est vraiment bonne car elle nous permet de lire des fichiers sur le serveur et
nous pourrions peut-être lire des fichiers avec des mots de passe ou des informations sensibles, ce qui serait vraiment bien, c'est
si nous pouvons réellement obtenir un accès complet ou un contrôle total sur la cible serveur utilisant des vulnérabilités d'inclusion de fichiers locaux.
Ainsi, dans cette conférence, nous verrons comment obtenir un shell inversé en exploitant la vulnérabilité d'inclusion de fichiers locaux que
nous avons vue dans la conférence précédente.
Donc, parce qu'ils nous permettent de lire des fichiers sur le serveur, nous avons réussi à écrire n'importe quoi sur
ce serveur, puis nous pouvons écrire du code malveillant, puis le parcourir et faire exécuter ce code.
C'est donc exactement ce que nous allons essayer de faire.
Il existe plusieurs méthodes pour y parvenir.
Habituellement, cela se fait en utilisant les fichiers journaux car les fichiers journaux enregistrent ou écrivent généralement des choses qui se produisent sur
le serveur.
Vous pouvez donc essayer de vous connecter avec un nom d'utilisateur.
Mais au lieu de mettre un nom d'utilisateur, vous mettez un code postal ou vous pouvez essayer d'envoyer un
e-mail, puis au lieu de l'e-mail, mettez un code, puis essayez de parcourir ces fichiers journaux et le code BHP sera exécuté.
La première méthode que nous allons examiner, cependant, c'est d'exploiter la variable d'environnement.
Il s'agit donc essentiellement d'un fichier qui contient un tableau d'informations sur l'environnement actuel.
Prenons simplement un exemple de cela rapidement.
Ici, je suis sur ma machine Calli.
Je ne prends rien.
Je ne suis sur aucun serveur, et je vais juste voir quel est le contenu de ce fichier.
Ce fichier existe donc dans tous les systèmes d'exploitation Linux.
Je vais donc ouvrir ce fichier maintenant en utilisant la commande card.
Et comme vous pouvez le voir, vous verrez un certain nombre de variables environnementales liées à l'environnement
actuel.
Donc ce que nous allons faire maintenant, c'est essayer d'ouvrir ce fichier ici et mon frère au lieu du
mot de passe.
Donc ça va être à proximité de soi.
OK, va entrer.
Et comme vous pouvez le voir, encore une fois, nous pouvons voir un tableau de variables sur l'environnement actuel.
Ce qui est intéressant ici, c'est cette variable pour que nous puissions voir que l'agent utilisateur.
Est envoyé et il est affiché ici même.
Maintenant, l'agent utilisateur est essentiellement le navigateur actuel utilisé par l'utilisateur.
Le site Web pense que j'utilise Firefox, ce qui est correct.
Et c'est parce que Firefox, chaque fois que vous ouvrez un site Web, indique au site Web de quel navigateur il s'agit.
Cela se passe donc sur notre site Web.
Donc, cela est en fait envoyé par le client afin que nous puissions réellement modifier cette valeur.
Et ce que nous allons essayer de faire, c'est de modifier la valeur de l'agent utilisateur et de placer du code
qui nous donnera une aide inversée.
Avant de faire cela, assurons-nous que le code sera exécuté sur le serveur.
Nous allons donc envoyer juste un code normal qui affichera des informations.
Je vais donc allumer mon intercepteur maintenant.
Je vous ai montré comment configurer un proxy.
Donc, si vous ne savez pas comment faire cela, revenez à cette conférence et voyez comment vous pouvez configurer un proxy.
Je viens donc d'activer l'intercepteur et je vais parcourir exactement la même URL.
Et juste ici, si nous continuons à décapiter, vous verrez que Firefox envoie l'agent utilisateur ici et qu'il
l'envoie en tant que Mozilla cinq, peu importe.
Donc ce que nous allons faire, c'est que nous allons modifier cette valeur et nous allons mettre du code BHB et le code que
je vais mettre est très simple.
Il affichera simplement des informations.
C'est donc une fonction appelée BHP info.
Et puis je vais faire suivre ce paquet.
Et comme vous pouvez le voir, le code HP a été exécuté sur le site Web, sur le site Web Target.
Cela signifie que si nous envoyons un code malveillant à ce site Web, nous pourrons réellement obtenir un accès
complet ou nous pourrons exécuter notre code.
Maintenant, vous pouvez littéralement envoyer n'importe quel enregistrement que vous voulez.
Vous pouvez envoyer du code pour lister des fichiers.
Vous pouvez envoyer un code pour télécharger un fichier, ou vous pouvez envoyer l'un des codes qui ont été utilisés auparavant pour obtenir
une connexion inversée.
C'est donc ce que je vais faire.
Je vais utiliser exactement le même code que nous avons utilisé auparavant et les conférences précédentes pour obtenir un contrôle
total sur l'ordinateur cible.
Donc, je vais juste le taper ici dans le terminal, puis je vais le copier.
Nous allons donc utiliser le passthrough.
Et nous utilisons Netcare.
Et puis je vais mettre mon adresse IP.
Et je vais utiliser le port, c'est-à-dire que je vais dans cette attaque, je vais utiliser
huit huit, huit, huit, puis nous mettons le point-virgule.
C'est donc pareil.
C'est juste une fonction.
Nous l'utilisons dans l'exécution du code l'année prochaine.
Je vais donc littéralement copier ceci et je vais l'injecter en tant qu'agent utilisateur.
Maintenant, avant de faire ça, je vais écouter la partie huit huit huit huit quatre connexions.
Nous allons donc utiliser le même code que nous avons utilisé auparavant.
Encore une fois, avec Netcare.
Et maintenant, nous écoutons les connexions, nous avons notre intercepteur allumé, je vais parcourir le
site Web, je vais entrer et je vais modifier l'agent utilisateur.
Encore une fois, n'oubliez pas de mettre les points d'interrogation ici, car je n'y ai
mis que le code, nous avons donc l'ouverture et la fermeture pour HP, puis nous mettons notre code, qui est le code de passage.
Et elle a été S. H. , notre IP, suivi du port sur lequel nous écoutons.
Je vais entrer et je vais avancer.
Et comme vous pouvez le voir, nous avons rétabli la connexion en utilisant le fichier local, la vulnérabilité d'inclusion.
Maintenant, je peux parcourir les fichiers.
Je peux faire Je peux faire Ellos, je peux faire une identification et je peux faire à peu près tout ce que je veux sur le
serveur maintenant que j'ai un accès complet.
Nous avons donc pu convertir une vulnérabilité d'inclusion de fichier local qui ne peut que vous montrer des fichiers ou ne peut vous permettre que
de lire des fichiers sur le serveur.
Nous avons pu convertir cela et l'exploiter pour obtenir un accès complet au serveur cible autant que possible, car nous
avons pu écrire dans la variable proc self environ, qui affiche notre agent utilisateur, et en changeant l'agent utilisateur
en notre code, nous avons pu exécuter n'importe quel enregistrement que nous voulons.