Et cette conférence présentera une autre méthode permettant d'exploiter les vulnérabilités d'inclusion de
fichiers locaux et d'obtenir un contrôle total sur le serveur cible.
Ainsi, dans la vidéo précédente, nous avons vu comment utiliser la variable environ et nos variables d'environnement.
Et dans cette leçon, nous verrons comment procéder en fonction des journaux. Ces serveurs contiennent de nombreux fichiers journaux.
Pour le moment, nous pouvons lire n’importe quel fichier sur le serveur, à condition d’être autorisé à le
lire.
Donc, si nous parvenons à écrire quoi que ce soit dans l’un de ces fichiers, nous pourrons exécuter le code et
prendre le contrôle de notre cible.
Vous devez donc essayer de lire l’un des fichiers journaux et de voir ou de penser à un moyen d’interagir
avec ces fichiers afin de pouvoir y écrire des éléments, par exemple, ou en interagissant
avec nos fichiers journaux de messagerie, vous pourrez peut-être envoyer un courrier électronique avec un code, qui apparaîtra ensuite
dans le fichier journal.
Et dans notre exemple, nous allons utiliser le journal var de ce journal et ce fichier contient toutes les tentatives
de journalisation sur le serveur cible.
Alors faisons-le et vous aurez une meilleure compréhension pour le moment.
Maintenant, je viens d'avoir l'exploit de base et j'essaie de montrer que c'est le mot de passe.
C'est donc le fichier que nous utilisons dans notre exploit de base.
Je vais juste enlever ça et je vais chercher un journal de fil sur l'horloge.
Comme vous pouvez le constater, le fichier est lisible et nous pouvons lire les tentatives de connexion au serveur cible.
Donc, ce que nous allons faire, nous allons penser maintenant que ce fichier affiche toutes les tentatives de connexion.
Alors pourquoi ne pas essayer de vous connecter et voir si la tentative sera affichée ici.
Donc je vais le faire ici.
Je vais juste essayer de s-sh dans le serveur.
Je vais donc utiliser S-sh, car je Sage est tout simplement un service d'ouverture de session à distance utilisé par les serveurs Web.
Quasiment tous les serveurs Web l’ont installé.
Nous allons donc essayer de s-sh afin de pouvoir le faire, puis nous allons mettre le nom
d'utilisateur.
Et je vais juste mettre un nom d'utilisateur aléatoire qui n'existe probablement même pas.
Je veux juste voir si cette demande sera enregistrée dans le fichier journal.
Donc je suis juste.
SS je vais à S-sh et je vais juste mettre un nom d'utilisateur comme aléatoire et ensuite je vais le
faire et nous montons avec l'adresse IP qui est 10 20 9:46 et je suis va entrer Maintenant, il me demande un mot de passe.
De toute évidence, ce nom d’utilisateur n’existant pas de toute façon, je vais donc aussi mettre un mot de passe aléatoire.
Je ne suis pas vraiment en train d'essayer de pirater en utilisant S-sh.
J'essaie littéralement de me connecter. Je vais maintenant sur Control-C et je veux voir si cela sera
consigné dans ce fichier.
Donc, je vais envoyer une autre demande et je vais chercher mon nom d'utilisateur pour que le nom d'utilisateur s'appelle aléatoire et je vais
voir si cela a été consigné et vous pouvez
voir ici que c'est toujours une souris et le fichier journal.
Donc, il a été enregistré sur le serveur que quelqu'un a essayé de se connecter avec un nom d'utilisateur aléatoire et il a en
fait mon adresse IP.
Donc, en fait, mon adresse IP est également enregistrée.
Alors maintenant, nous pouvons lire ce fichier et nous pouvons également écrire dans le fichier en vous connectant avec un compte existant.
Donc, ce que je vais faire maintenant, c'est que je vais essayer de me reconnecter et que, au lieu de mettre
un nom d'utilisateur, je mets le nom d'utilisateur comme aléatoire.
Je vais en fait mettre le manteau PH que nous avons toujours utilisé pour me donner une inversion de shell ou une connexion
inversée sur le serveur.
Maintenant, encore une fois, vous pouvez utiliser le code de page que vous voulez dans mon exemple.
Je vais utiliser un code qui me donnera un shell inversé sur l'ordinateur cible.
Donc avant de lancer le code, je vais écouter la partie et je vais le faire en utilisant netcat comme nous
l'avons toujours fait.
Donc, j'allais être netcat E. V. LP et je vais faire ma part qui est 8 8 8
8 et maintenant nous écoutons pour les connexions et je vais essayer de me connecter à nouveau à la cible.
Et dans ce cas, je vais mettre mon Ph Veikko.
Donc, même code que nous avons utilisé auparavant.
Donc, mon nom d'utilisateur va être je vais mettre deux guillemets et ensuite je vais mettre mon code afin
d'utiliser et de passer à travers et ensuite nous allons passer à la commande les commandes PH que nous voulons exécuter.
Et cette commande va utiliser des guillemets simples ici.
Et puis ma commande va
être netcat bin sh.
Ensuite, je vais mettre mon adresse IP qui est 10 20 14 à 0 8 puis je
vais mettre la partie que j'écoute qui est 8 8 8 8 avec cette méthode.
Vous n'obtiendrez qu'une seule tentative avec ce code, car si vous mettez le code Kura de
manière incorrecte, tout se cassera et le fichier ne s'affichera plus car votre code
contient une erreur.
Donc, ce que je suggère, c'est que je vais garder le passage tel quel, car c'est une fonction sûre.
Et je suis sûr que cela va fonctionner correctement.
J'ai juste besoin d'avoir oublié de mettre un point-virgule ici, donc je vais le mettre là.
Donc, je suis sûr que ce code circule correctement, mais j'ai beaucoup d'inconvénients ici.
J'ai beaucoup d'espaces et j'ai beaucoup de barres obliques qui posent toujours des problèmes lorsque vous essayez de
les passer entre les commandes suivantes et que vous pouvez essayer de sauter ces caractères.
Mais ce que je suggère, c’est que vous chiffriez en fait cette utilisation et la base 64, puis que vous les déchiffriez à l’autre bout.
Alors je vais vous montrer comment faire cela.
Tout d'abord, je vais copier cette commande.
Nous voulons donc que la fonction pastorale soit exécutée et copiée.
Je vais aller à mon
burps et je vais aller à mon décodeur ici.
Nous n'avons jamais jeté un œil sur le décodeur, donc cet onglet vous permet de coder et de décoder du texte selon
différents types de codage.
Donc, je vais coller ce que j'ai copié et je vais l'encoder comme Bedu 64.
Donc, ce texte le netcast été sh y le port IP est converti en ce code crypté.
Je vais copier ce code, je vais le substituer ici dans ma commande.
Donc, au lieu de l'exécuter comme ceci au lieu de mettre le texte, je vais mettre
le code base 64 pour m'assurer qu'il n'y a pas de caractères spéciaux pouvant interférer avec la commande avec Bash.
Donc, j'ai copié.
Maintenant, si je lance ceci de cette façon, j'ai ma passe qui est une fonction Peachtree et je
lui dis d'exécuter cette commande show.
Maintenant, évidemment, si vous copiez ce texte et que vous l'exécutez, rien ne s'exécutera, il s'agira simplement d'un charabia.
Donc, je dois lui dire que c'est du code base 64 et je vais le faire en utilisant la fonction APHC appelée
base 64 decode.
Je vais donc lui dire de décoder cela.
Ce morceau de texte.
Et puis, une fois que vous avez décodé, le passage est passé.
Donc, je vais juste le taper ici.
Donc, ça va être 64
décodage et c'est juste une autre fonction ph fonction et ensuite je vais mettre les crochets.
Donc, je vais juste rendre cela un peu plus grand pour que nous puissions en parler davantage.
Et je vais juste copier et réécrire pour que nous en parlions un peu
plus.
D'ACCORD.
Tout d’abord, nous utilisons en réalité le nom d’utilisateur comme code que nous souhaitons injecter car, comme nous le voyons, le nom d’utilisateur
a été affiché sur la page du journal, de sorte que tout ce que nous mettons dans le nom d’utilisateur
sera exécuté en tant que parole code.
Nous avons donc cela entre deux citations ici entre ceci et cette citation.
Nous avons maintenant notre page car nous utilisons toujours et nous avons toujours utilisé la fonction passthrough pour exécuter
des commandes Unix sur le serveur cible.
Donc, nous gardons cela exactement de la même manière et nous lui disons de faire fonctionner ce texte.
Mais avant d'exécuter ce texte, je souhaite que vous le décodiez sur la base 64.
Nous avons donc décodé le code suivant.
Et c'est le code.
C'est donc la commande que nous utilisons toujours, la commande net cat. Nous le décodons en base 64.
Et ensuite, nous lui demandons de l'exécuter à l'aide de la fonction pass through pour l'exécuter en tant que commande bash.
Donc, je vais obtenir anthère maintenant.
Et voilà, il me demande un mot de passe car il pense que c'est en fait un nom d'utilisateur,
nous l'injectons donc comme un nom d'utilisateur
Donc, je vais juste mettre n'importe quel mot de passe n'importe quoi au hasard ici et là.
Maintenant, cela devrait être stocké maintenant dans les journaux.
Donc, ce code aurait dû être injecté dans le journal.
Donc, nous allons revenir maintenant à notre navigateur et vous pouvez voir cela sur toutes les écoutes ici.
Donc, je vais juste appuyer sur entrer ici sur le navigateur.
Et comme vous pouvez le constater, nous avons une connexion de retour depuis notre site Web cible et, le cas échéant, moi. RÉ. vous verrez cela sur le
site Web cible avec le nom d'utilisateur ou le groupe d'utilisateurs de David lisible
Et je peux exécuter des commandes ou faire ce que je veux sur le serveur cible.
Ceci est juste une autre méthode d'exploitation des vulnérabilités d'inclusion de fichiers locaux pour obtenir une émission
sur l'ordinateur cible.
Maintenant, encore une fois, ceci n’est qu’une idée et vous pouvez essayer ces idées avec différents types de fichiers journaux afin que vous puissiez l’essayer
avec le fichier journal vierge.
Vous pouvez l'essayer avec tout autre type de fichier journal, mais vous devez y penser.
Vous devez penser à la manière dont vous pourriez injecter du code dans ce fichier journal.
Ainsi, par exemple, comme je l’ai dit, s’il s’agit d’un serveur de messagerie, essayez d’envoyer un e-mail s’il s’agit d’un problème tel
que nous l’avons dans cet exemple courant, puis essayez de vous connecter à l’aide de S-sh pour voir si vous pouvez
injecter du code si ce code sera exécuté sur l'ordinateur cible.